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

VM::AssemblerFile::InternalSymbolList Class Reference

#include <asmfile.h>

Collaboration diagram for VM::AssemblerFile::InternalSymbolList:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 InternalSymbolList ()
 Create an empty symbol list for internal symbols.

 ~InternalSymbolList ()
 Destructor will free all lists.

NamespaceInfo::SymbolEntryBLookupStore (SymRef symref)
 Get a SymbolEntryB for passed SymRef. NULL of symref>=0.


Private Member Functions

 InternalSymbolList (const InternalSymbolList &)
 Do not use.

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


Private Attributes

TLLinearQueue< NamespaceInfo::SymbolEntryB,
TLDefaultOperators_CDT< NamespaceInfo::SymbolEntryB > > 
sym_stor
ImplicitMapTable< NamespaceInfo::SymbolEntryB,
SymRef, ImplicitMapOperators<
NamespaceInfo::SymbolEntryB,
SymRef, ORD_SymRef_SE > > 
sym_map

Detailed Description

This is a list of internal SymbolEntryB's so that we can resolve the SymRef's<0 into SymbolEntryB's. Just here to look up and allocate and free them again upon exit.
Not C++-safe.

Definition at line 114 of file asmfile.h.


Constructor & Destructor Documentation

VM::AssemblerFile::InternalSymbolList::InternalSymbolList const InternalSymbolList  )  [private]
 

Do not use.

VM::AssemblerFile::InternalSymbolList::InternalSymbolList  ) 
 

Create an empty symbol list for internal symbols.

Definition at line 61 of file asmfile.cc.

VM::AssemblerFile::InternalSymbolList::~InternalSymbolList  )  [inline]
 

Destructor will free all lists.

Definition at line 137 of file asmfile.h.


Member Function Documentation

NamespaceInfo::SymbolEntryB * VM::AssemblerFile::InternalSymbolList::LookupStore SymRef  symref  ) 
 

Get a SymbolEntryB for passed SymRef. NULL of symref>=0.

Definition at line 37 of file asmfile.cc.

References _unused_, Assert, sym_map, sym_stor, VM::NamespaceInfo::SymbolEntryB::symref, and VM::SymRef.

Referenced by VM::AssemblerFile::_ResolveIDsNamespaceLocal_Recursive().

void VM::AssemblerFile::InternalSymbolList::operator= const InternalSymbolList  )  [private]
 

Do not use.


Member Data Documentation

ImplicitMapTable< NamespaceInfo::SymbolEntryB,SymRef, ImplicitMapOperators<NamespaceInfo::SymbolEntryB,SymRef, ORD_SymRef_SE> > VM::AssemblerFile::InternalSymbolList::sym_map [private]
 

This is a map for faster lookup of the SymRefs so that we do not allocate excess SymbolEntryB's.

Definition at line 127 of file asmfile.h.

Referenced by LookupStore().

TLLinearQueue<NamespaceInfo::SymbolEntryB, TLDefaultOperators_CDT<NamespaceInfo::SymbolEntryB> > VM::AssemblerFile::InternalSymbolList::sym_stor [private]
 

Use queue for storage so that data is not moved. This is needed to keep the pointers intact.

Definition at line 121 of file asmfile.h.

Referenced by LookupStore().


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