Something went wrong. Try again.
OpenMW is an open implementation of the Morrowind engine
Something went wrong. Try again.
1.3 kB · 51 lines
C++
at master
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152#ifndef COMPILER_STREAMERRORHANDLER_H_INCLUDED#define COMPILER_STREAMERRORHANDLER_H_INCLUDED
#include "errorhandler.hpp"
namespace Compiler{ class ContextOverride; /// \brief Error handler implementation: Write errors into logging stream
class StreamErrorHandler : public ErrorHandler { std::string mContext;
friend class ContextOverride; // not implemented
StreamErrorHandler(const StreamErrorHandler&); StreamErrorHandler& operator=(const StreamErrorHandler&);
void report(const std::string& message, const TokenLoc& loc, Type type) override; ///< Report error to the user.
void report(const std::string& message, Type type) override; ///< Report a file related error
public: void setContext(const std::string& context);
// constructors
StreamErrorHandler(); ///< constructor };
class ContextOverride { StreamErrorHandler& mHandler; const std::string mContext;
public: ContextOverride(StreamErrorHandler& handler, const std::string& context);
ContextOverride(const ContextOverride&) = delete; ContextOverride& operator=(const ContextOverride&) = delete;
~ContextOverride(); };}
#endif