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

VM::NamespaceInfo::SymbolEntryB Struct Reference

#include <nspcinfo.h>

Inheritance diagram for VM::NamespaceInfo::SymbolEntryB:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 SymbolEntryB ()
 Create "unknown" symbol.

 ~SymbolEntryB ()
TLString CompleteName () const
bool CompareTo (const SymbolEntryB &e) const
 SymbolEntryB (const SymbolEntryB &b)
 Be very careful! May also be used by derived class.

SymbolEntryEep ()
const SymbolEntryEep () const

Public Attributes

SymRef symref
 Corresponding SymRef (this file). <0 -> internal.


Private Member Functions

void operator= (const SymbolEntryB &)
 Do not use.


Detailed Description

Represents a symbol entry (function, variable, "map/need"). This is the "base" version also usable for internal symbols.
This class is "partly C++-safe": no assignment but copy-constructor; be VERY careful not to copy a SymbolEntryE to a SymbolEntryB.

Definition at line 122 of file nspcinfo.h.


Constructor & Destructor Documentation

VM::NamespaceInfo::SymbolEntryB::SymbolEntryB  )  [inline]
 

Create "unknown" symbol.

Definition at line 128 of file nspcinfo.h.

References symref.

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

Definition at line 129 of file nspcinfo.h.

VM::NamespaceInfo::SymbolEntryB::SymbolEntryB const SymbolEntryB b  )  [inline]
 

Be very careful! May also be used by derived class.

Definition at line 155 of file nspcinfo.h.

References symref.


Member Function Documentation

bool VM::NamespaceInfo::SymbolEntryB::CompareTo const SymbolEntryB e  )  const
 

Check if two symbol entries have same name and type; NOTE that the namespace information up to the root is NOT compared, i.e. the return value may be true (equal) although the symbols are in different namespaces.
Operates as well on SymbolEntryE.
Returns 1 if equal (operator==).

Definition at line 83 of file nspcinfo.cc.

References Assert, ep(), VM::NamespaceInfo::SymbolEntryE::extid, VM::NamespaceInfo::SymbolEntryE::ftype, VM::NamespaceInfo::SymbolEntryE::name, symref, and VM::NamespaceInfo::SymbolEntryE::vtype.

TLString VM::NamespaceInfo::SymbolEntryB::CompleteName  )  const
 

Get complete name with namespace prefices. Returns string representation of symref ("@XX") for internal symbols.
Operates as well on SymbolEntryE.

Definition at line 48 of file nspcinfo.cc.

References Assert, VM::NamespaceInfo::CompleteName(), ep(), FastInt2String(), VM::NamespaceInfo::SymbolEntryE::name, VM::NamespaceInfo::SymbolEntryE::nspc, VM::NamespaceInfo::parent, VM::SymRef, and symref.

Referenced by VM::VMLinker::_GenerateSymbolProvideMap(), VM::VMLinker::_GenerateSymbolProvideMap_AddGlobal(), VM::VMLinker::_LinkFunction(), VM::VMLinker::_LinkGlobalStorage(), VM::AssemblerFile_Plaintext::_ParseSymbols_Symbols(), VM::VMLinker::_SQPush(), VM::AssemblerFile_Plaintext::_WriteFunctionProgram(), and VM::VMLinker::LinkAll().

const NamespaceInfo::SymbolEntryE * VM::NamespaceInfo::SymbolEntryB::ep  )  const [inline]
 

Definition at line 308 of file nspcinfo.h.

NamespaceInfo::SymbolEntryE * VM::NamespaceInfo::SymbolEntryB::ep  )  [inline]
 

Definition at line 306 of file nspcinfo.h.

Referenced by CompareTo(), and CompleteName().

void VM::NamespaceInfo::SymbolEntryB::operator= const SymbolEntryB  )  [private]
 

Do not use.


Member Data Documentation

SymRef VM::NamespaceInfo::SymbolEntryB::symref
 

Corresponding SymRef (this file). <0 -> internal.

Definition at line 125 of file nspcinfo.h.

Referenced by VM::VMLinker::_LinkGlobalStorage(), VM::AssemblerFile_Plaintext::_ParseSymbols_Symbols(), VM::VMLinker::_SQPush(), VM::VMLinker::_SQQuery(), VM::AssemblerFile_Plaintext::_WriteFunctionProgram(), VM::AssemblerFile_Plaintext::_WriteSymbols_Recursive(), CompareTo(), CompleteName(), VM::NamespaceInfo::DumpTree(), VM::VMLinker::LinkAll(), VM::AssemblerFile::InternalSymbolList::LookupStore(), VM::NamespaceInfo::SymbolEntryE::operator=(), VM::AssemblerFile::ORD_SymRef_SE::ord(), and SymbolEntryB().


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