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

VM::NamespaceInfo::SymbolEntryE Struct Reference

#include <nspcinfo.h>

Inheritance diagram for VM::NamespaceInfo::SymbolEntryE:

Inheritance graph
[legend]
Collaboration diagram for VM::NamespaceInfo::SymbolEntryE:

Collaboration graph
[legend]
List of all members.

Public Types

enum  ExtID { ExtUnknown = 0, ExtFunction, ExtVariable }
 Describes the type of symbol. More...


Public Member Functions

 SymbolEntryE (NamespaceInfo *_nspc=NULL)
 Create "unknown" symbol.

 ~SymbolEntryE ()
 Destructor (a no-op).

 SymbolEntryE (const SymbolEntryE &se)
 Copy constructor.

SymbolEntryEoperator= (const SymbolEntryE &se)
 Assignment operator.


Static Public Member Functions

const char * ExtID2String (ExtID e)
 Get string representation of ExtID.


Public Attributes

ExtID extid
 What sort of external symbol?

FuncType ftype
 For ExtFunction.

VarType vtype
 For ExtVariable.

TLString name
 Symbol name. NULL for internal symbs.

NamespaceInfonspc
SymbolEntryElinked

Detailed Description

Represents a symbol entry (function, variable, "map/need"). This is the version for non-internal symbols, only.

Definition at line 162 of file nspcinfo.h.


Member Enumeration Documentation

enum VM::NamespaceInfo::SymbolEntryE::ExtID
 

Describes the type of symbol.

Enumeration values:
ExtUnknown  Unknown (should not happen :).
ExtFunction  Extern function symbol.
ExtVariable  Extern variable symbol.

Definition at line 165 of file nspcinfo.h.


Constructor & Destructor Documentation

VM::NamespaceInfo::SymbolEntryE::SymbolEntryE NamespaceInfo _nspc = NULL  ) 
 

Create "unknown" symbol.

Definition at line 149 of file nspcinfo.cc.

References VM::NamespaceInfo::linked, and VM::NamespaceInfo::name.

VM::NamespaceInfo::SymbolEntryE::~SymbolEntryE  )  [inline]
 

Destructor (a no-op).

Definition at line 189 of file nspcinfo.h.

References linked, and nspc.

VM::NamespaceInfo::SymbolEntryE::SymbolEntryE const SymbolEntryE se  ) 
 

Copy constructor.

Definition at line 137 of file nspcinfo.cc.

References VM::NamespaceInfo::linked, and VM::NamespaceInfo::name.


Member Function Documentation

const char * VM::NamespaceInfo::SymbolEntryE::ExtID2String ExtID  e  )  [static]
 

Get string representation of ExtID.

Definition at line 36 of file nspcinfo.cc.

References ExtFunction, ExtUnknown, and ExtVariable.

NamespaceInfo::SymbolEntryE & VM::NamespaceInfo::SymbolEntryE::operator= const SymbolEntryE se  ) 
 

Assignment operator.

Definition at line 121 of file nspcinfo.cc.

References extid, ftype, linked, name, nspc, VM::NamespaceInfo::SymbolEntryB::symref, and vtype.


Member Data Documentation

ExtID VM::NamespaceInfo::SymbolEntryE::extid
 

What sort of external symbol?

Definition at line 175 of file nspcinfo.h.

Referenced by VM::VMLinker::_CreateInitFunction(), VM::VMLinker::_GenerateSymbolProvideMap(), VM::AssemblerFile_Plaintext::_ParseSymbols_Symbols(), VM::AssemblerFile_Plaintext::_WriteSymbols_Recursive(), VM::NamespaceInfo::SymbolEntryB::CompareTo(), VM::NamespaceInfo::DumpTree(), VM::VMLinker::LinkAll(), and operator=().

FuncType VM::NamespaceInfo::SymbolEntryE::ftype
 

For ExtFunction.

Definition at line 178 of file nspcinfo.h.

Referenced by VM::VMLinker::_CreateInitFunction(), VM::VMLinker::_GenerateSymbolProvideMap(), VM::AssemblerFile_Plaintext::_ParseSymbols_Symbols(), VM::AssemblerFile_Plaintext::_WriteFunctionProgram(), VM::AssemblerFile_Plaintext::_WriteSymbols_Recursive(), VM::NamespaceInfo::SymbolEntryB::CompareTo(), VM::NamespaceInfo::DumpTree(), and operator=().

SymbolEntryE* VM::NamespaceInfo::SymbolEntryE::linked
 

Pointer to corresponding merged/linked master namespace info. Used by linker; not used in master tree. Not for internal symbs.

Definition at line 184 of file nspcinfo.h.

Referenced by VM::VMLinker::_CreateInitFunction(), VM::VMLinker::_LinkerNeedClassConstruct(), VM::VMLinker::_LinkFunction(), VM::VMLinker::_LinkGlobalStorage(), VM::VMLinker::LinkAll(), operator=(), and ~SymbolEntryE().

TLString VM::NamespaceInfo::SymbolEntryE::name
 

Symbol name. NULL for internal symbs.

Definition at line 180 of file nspcinfo.h.

Referenced by VM::VMLinker::_CreateInitFunction(), VM::AssemblerFile_Plaintext::_ParseSymbols_Symbols(), VM::AssemblerFile_Plaintext::_WriteSymbols_Recursive(), VM::NamespaceInfo::SymbolEntryB::CompareTo(), VM::NamespaceInfo::SymbolEntryB::CompleteName(), VM::NamespaceInfo::DumpTree(), VM::VMLinker::LinkAll(), and operator=().

NamespaceInfo* VM::NamespaceInfo::SymbolEntryE::nspc
 

"Up" pointer to corresponding namespace.

Definition at line 181 of file nspcinfo.h.

Referenced by VM::VMLinker::_CheckNamespaceInfo_Recursive(), VM::VMLinker::_CreateInitFunction(), VM::VMLinker::_GenerateSymbolProvideMap(), VM::VMLinker::_GenerateSymbolProvideMap_AddGlobal(), VM::VMLinker::_LinkerNeedClassConstruct(), VM::VMLinker::_LinkGlobalStorage(), VM::NamespaceInfo::SymbolEntryB::CompleteName(), VM::NamespaceInfo::DumpTree(), VM::VMLinker::LinkAll(), operator=(), VM::VMLinker::SPM_ORD(), and ~SymbolEntryE().

VarType VM::NamespaceInfo::SymbolEntryE::vtype
 

For ExtVariable.

Definition at line 179 of file nspcinfo.h.

Referenced by VM::AssemblerFile_Plaintext::_ParseSymbols_Symbols(), VM::AssemblerFile_Plaintext::_WriteSymbols_Recursive(), VM::NamespaceInfo::SymbolEntryB::CompareTo(), VM::NamespaceInfo::DumpTree(), and operator=().


The documentation for this struct was generated from the following files:
Generated on Sat Feb 19 22:36:18 2005 for Ray by doxygen 1.3.5