Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

/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:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Classes

class  Message
 Represents a message which can be passed from the error/warning/... (generating) functions via the message manager to all the message handlers. More...


Defines

#define _LIB_MESSAGE_MESSAGE_H_   1
#define Debug(t, args...)
 See description of file message.h for details.


Functions

void _vaMessage (Message::Type t, const SCLocationRange &loc, const char *fmt, va_list ap)
 Internally used for all the printf-like messages.


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:

To create a message, use one of the overloaded Fatal(), Error(), Warning() or Debug() functions provided here. Most functions come in following variants: 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

Definition in file message.h.


Define Documentation

#define _LIB_MESSAGE_MESSAGE_H_   1
 

Definition at line 19 of file message.h.

#define Debug t,
args...   ) 
 

Value:

do { if(MessageManager::IsRequestedType((Message::Type)t)) \
        _Debug((Message::Type)t,args); } while(0)
See description of file message.h for details.

Definition at line 190 of file message.h.

Referenced by main(), and ReportSomeMessages().


Function Documentation

void _Debug Message::Type  t,
const SCLocationRange loc,
const char *  fmt,
... 
 

void _Debug Message::Type  t,
const SCLocation loc,
const char *  fmt,
... 
 

void _Debug Message::Type  t,
const char *  fmt,
... 
 

void _vaMessage Message::Type  t,
const SCLocationRange loc,
const char *  fmt,
va_list  ap
 

Internally used for all the printf-like messages.

Definition at line 24 of file message.cc.

References MessageManager::PostMessage(), and TLString::vsprintf().

Referenced by _Debug(), Error(), Fatal(), and Warning().

void Error const SCLocationRange loc,
const char *  fmt,
... 
 

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,
... 
 

Referenced by VM::_AssertAC_Fail(), VM::_SizeAssertFail(), and VM::_SizeAssertFail2().

void Warning const SCLocationRange loc,
const char *  fmt,
... 
 

Referenced by _InternalFlexScannerBase::__TidyUpZombieList(), VM::VMLinker::_GenerateSymbolProvideMap(), VM::VMLinker::_GenerateSymbolProvideMap_AddGlobal(), VM::VMLinker::_LinkerNeedClassConstruct(), VM::VMLinker::_LinkGlobalStorage(), VM::AssemblerFile_Plaintext::_ParseProgram_FinishFunction(), VM::VMLinker::_SQPush(), _InternalFlexScannerBase::LexNextToken(), VM::VMLinker::LinkAll(), and ReportSomeMessages().

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 doxygen 1.3.5