/ray/src/lib/message/message.h File Reference
Message handling "system" for errors, warnings and verbose messages; message class (the message itself).
More...
#include <lib/tl/tlstring.h>
#include <lib/lex/location.h>
#include <lib/serror.h>
#include <lib/message/manager.h>
Include dependency graph for message.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Detailed Description
Message handling "system" for errors, warnings and verbose messages; message class (the message itself).
- Author:
- Wolfgang Wieser ] wwieser (a) gmx <*> de [
Messages are errors, warnings or debug messages to be displayed to the user. The message system is used for that purpose; see manager.cc and class MessageManager.
In general there are 4 different message types:
- Fatal error messages. The MessageManager will normally exit after having delivered such a message.
- Error messages: These are standard errors (parse error,...)
- Warning messages: Warnings written to the user.
- Debug messages: All sorts of verbose and debug output.
To create a message, use one of the overloaded Fatal(), Error(), Warning() or Debug() functions provided here. Most functions come in following variants:
- taking a location (SCLocation) and a printf-like string.
- taking a location range (SCLocationRange) and a printf-like string.
- taking only a printf-like string.
Note that the use of the printf-like formatting is dangerous. A TLString-based implementation with TLString::operator<<()... will be done in the near future.
The Debug() functions are actually macros which do a check if this message is needed at all before. The check will actually put the whole arguments into an if() block, so
- it is fast
- do not rely on side effects by functions called within the argument list because they may not be called at all
Definition in file message.h.
Define Documentation
#define _LIB_MESSAGE_MESSAGE_H_ 1
|
|
#define Debug |
( |
t, |
|
|
args... |
|
) |
|
|
Function Documentation
|
Referenced by VM::AssemblerFile_Plaintext::_AlreadySetError(), VM::VMLinker::_CheckBaseRecursion_Recursive(), VM::VMLinker::_CheckNamespaceInfo_Recursive(), VM::AssemblerFile_Plaintext::_CheckNspcNameKnown(), _DoParseFile(), VM::AssemblerFile_Plaintext::_ExpectError(), VM::VMLinker::_GenerateSymbolProvideMap(), VM::VMLinker::_GenerateSymbolProvideMap_AddGlobal(), VM::VMLinker::_LinkFunction(), VM::VMLinker::_LinkGlobalStorage(), VM::AssemblerFile_Plaintext::_LocFirstDefError(), VM::VMLinker::_MergeNamespaceInfo_Recursive(), VM::AssemblerFile_Plaintext::_ParseProgram_FinishFunction(), VM::AssemblerFile_Plaintext::_ParseProgram_Label(), VM::AssemblerFile_Plaintext::_ParseSymbols_Class(), VM::AssemblerFile_Plaintext::_ParseSymbols_Class_Base(), VM::AssemblerFile_Plaintext::_ParseSymbols_Class_Size(), VM::AssemblerFile_Plaintext::_ParseSymbols_Class_VTable(), VM::AssemblerFile_Plaintext::_ParseSymbols_Global(), VM::AssemblerFile_Plaintext::_ParseSymbols_Symbols(), VM::AssemblerFile::_ResolveIDsNamespaceLocal_Recursive(), VM::AssemblerFile::_ResolveSymrefsInGlobal(), VM::AssemblerFile_Plaintext::_WriteFunctionProgram(), VM::VMLinker::LinkAll(), main(), ReportSomeMessages(), VM::AssemblerFile::ResolveIDsNamespaceLocal(), and _InternalFlexScannerBase::LexerInput::~LexerInput(). |
void Error |
( |
const SCLocation & |
loc, |
|
|
const char * |
fmt, |
|
|
... |
|
|
) |
|
|
void Error |
( |
const char * |
fmt, |
|
|
... |
|
|
) |
|
|
void Fatal |
( |
const char * |
fmt, |
|
|
... |
|
|
) |
|
|
void Warning |
( |
const SCLocation & |
loc, |
|
|
const char * |
fmt, |
|
|
... |
|
|
) |
|
|
void Warning |
( |
const char * |
fmt, |
|
|
... |
|
|
) |
|
|
Generated on Sat Feb 19 22:34:10 2005 for Ray by
1.3.5