Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

cbl::codetree::scopes::TScope Class Reference

#include

Inheritance diagram for cbl::codetree::scopes::TScope:

cbl::codetree::TElement List of all members.

Public Types

typedef std::deque< symbols::TSymbol * >  TSymbolList
typedef std::deque< symbols::TMethodSym * >  TMethodList
typedef std::deque< symbols::TOperatorSym * >  TOperatorList
typedef std::deque< symbols::TCastSym * >  TCastList
typedef std::deque< TScope * >  TScopeList
typedef TSymbolList::iterator  iterator
typedef TSymbolList::const_iterator  const_iterator
enum   TLookupType {
  ltMembers = 1, ltUses = 2, ltBases = 4, ltOuter = 8,
  ltAny = ltMembers | ltUses | ltBases | ltOuter
}
enum   TScopeType { stNormal, stClass, stModule }

Public Methods

virtual  ~TScope ()
void  owningSymbol (symbols::TSymbol *ASymbol)
symbols::TSymbol owningSymbol () const
void  useScope (TScope *)
TScope *  parentScope () const
unsigned  count () const
bool  empty () const
iterator  begin ()
iterator  end ()
const_iterator  begin () const
const_iterator  end () const
void  insert (symbols::TSymbol *)
void  remove (symbols::TSymbol *)
void  insert (const TScope &)
symbols::TSymbol lookup (const std::string &, TLookupType) const
bool  isUnique (const symbols::TSymbol *) const
bool  find (const std::string &AName, TSymbolList &AResult, TLookupType ALookupType) const
bool  find (TOperatorStyle AOperator, TOperatorList &AResult, TLookupType ALookupType) const
template bool  find (std::deque< T * > &, TLookupType) const
TScope *  clone () const

Protected Methods

  TScope (symbols::TModuleSym *AOwner, TScopeType, TScope *AParent)

Friends

class  symbols::TModuleSym
TLookupType  operator| (TLookupType a, TLookupType b)

Member Typedef Documentation

typedef TSymbolList::const_iterator cbl::codetree::scopes::TScope::const_iterator
 

Definition at line 64 of file scope.h.

typedef TSymbolList::iterator cbl::codetree::scopes::TScope::iterator
 

Definition at line 63 of file scope.h.

typedef std::deque<symbols::TCastSym *> cbl::codetree::scopes::TScope::TCastList
 

Definition at line 37 of file scope.h.

typedef std::deque<symbols::TMethodSym *> cbl::codetree::scopes::TScope::TMethodList
 

Definition at line 35 of file scope.h.

typedef std::deque<symbols::TOperatorSym *> cbl::codetree::scopes::TScope::TOperatorList
 

Definition at line 36 of file scope.h.

typedef std::deque cbl::codetree::scopes::TScope::TScopeList
 

Definition at line 39 of file scope.h.

typedef std::deque<symbols::TSymbol *> cbl::codetree::scopes::TScope::TSymbolList
 

Definition at line 34 of file scope.h.


Member Enumeration Documentation

enum cbl::codetree::scopes::TScope::TLookupType
 

Enumeration values:
ltMembers 
ltUses 
ltBases 
ltOuter 
ltAny 

Definition at line 41 of file scope.h.

00041                      {
00042         ltMembers = 1,
00043         ltUses = 2,
00044         ltBases = 4,
00045         ltOuter = 8,
00046         ltAny = ltMembers | ltUses | ltBases | ltOuter
00047     };

enum cbl::codetree::scopes::TScope::TScopeType
 

Enumeration values:
stNormal 
stClass 
stModule 

Definition at line 49 of file scope.h.

00049                     {
00050         stNormal, stClass, stModule
00051     };

Constructor & Destructor Documentation

cbl::codetree::scopes::TScope::TScope symbols::TModuleSym   AOwner,
TScopeType   ,
TScope *    AParent
[protected]
 

virtual cbl::codetree::scopes::TScope::~TScope   [virtual]
 


Member Function Documentation

const_iterator cbl::codetree::scopes::TScope::begin   const
 

iterator cbl::codetree::scopes::TScope::begin  
 

TScope* cbl::codetree::scopes::TScope::clone   const
 

unsigned cbl::codetree::scopes::TScope::count   const
 

bool cbl::codetree::scopes::TScope::empty   const
 

const_iterator cbl::codetree::scopes::TScope::end   const
 

iterator cbl::codetree::scopes::TScope::end  
 

template
bool cbl::codetree::scopes::TScope::find std::deque< T * > &   ,
TLookupType   
const
 

bool cbl::codetree::scopes::TScope::find TOperatorStyle    AOperator,
TOperatorList   AResult,
TLookupType    ALookupType
const
 

bool cbl::codetree::scopes::TScope::find const std::string &    AName,
TSymbolList   AResult,
TLookupType    ALookupType
const
 

void cbl::codetree::scopes::TScope::insert const TScope &   
 

void cbl::codetree::scopes::TScope::insert symbols::TSymbol  
 

bool cbl::codetree::scopes::TScope::isUnique const symbols::TSymbol   const
 

symbols::TSymbol* cbl::codetree::scopes::TScope::lookup const std::string &   ,
TLookupType   
const
 

symbols::TSymbol* cbl::codetree::scopes::TScope::owningSymbol   const
 

void cbl::codetree::scopes::TScope::owningSymbol symbols::TSymbol   ASymbol
 

TScope* cbl::codetree::scopes::TScope::parentScope   const
 

void cbl::codetree::scopes::TScope::remove symbols::TSymbol  
 

void cbl::codetree::scopes::TScope::useScope TScope *   
 


Friends And Related Function Documentation

TLookupType operator| TLookupType    a,
TLookupType    b
[friend]
 

Definition at line 108 of file scope.h.

00108                                                                {
00109         return TLookupType(static_cast(a) | static_cast(b));
00110     }

friend class symbols::TModuleSym [friend]
 

Definition at line 69 of file scope.h.


The documentation for this class was generated from the following file:
Generated on Sat Apr 6 19:07:27 2002 for Compiler Backend Library by doxygen1.2.14 written by , © 1997-2002