IDL compiler front-end library
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
BE::MessageOut Class Reference

Compiler messages output. More...

#include <MessageOut.h>

Inheritance diagram for BE::MessageOut:
AST::Builder

Public Types

enum class  MessageType { ERROR , WARNING , MESSAGE }
 Message types. More...
 

Public Member Functions

 MessageOut (std::ostream &out=std::cerr, unsigned max_err_cnt=20)
 
void message (const AST::Location &l, MessageType mt, const std::string &msg)
 
void message (const std::exception &ex)
 
unsigned error_count () const noexcept
 

Detailed Description

Compiler messages output.

Definition at line 41 of file MessageOut.h.

Member Enumeration Documentation

◆ MessageType

enum class BE::MessageOut::MessageType
strong

Message types.

Enumerator
ERROR 

Error message.

WARNING 

Warning message.

MESSAGE 

Informational message.

Definition at line 53 of file MessageOut.h.

Constructor & Destructor Documentation

◆ MessageOut()

BE::MessageOut::MessageOut ( std::ostream &  out = std::cerr,
unsigned  max_err_cnt = 20 
)

Constructor.

Parameters
outOutput stream. Default is std::cerr.
max_err_cntMaximal error count. When count of MessageType::ERROR messages reaches this limit, the std::runtime_error exception is thrown.

Member Function Documentation

◆ message() [1/2]

void BE::MessageOut::message ( const AST::Location l,
MessageType  mt,
const std::string &  msg 
)

Print message to the output stream.

Parameters
lAST::Location info.
mtThe message type.
msgThe message.

◆ message() [2/2]

void BE::MessageOut::message ( const std::exception &  ex)

Print exception information to the output stream.

Parameters
exAn exception.

◆ error_count()

unsigned BE::MessageOut::error_count ( ) const
inlinenoexcept
Returns
Count of messages of the MessageType::ERROR type.

Definition at line 73 of file MessageOut.h.


The documentation for this class was generated from the following file: