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

Environment Class Reference

#include <env.h>

Collaboration diagram for Environment:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Environment (Walker *w)
 Environment (Environment *e)
 Environment (Environment *e, Walker *w)
bool IsEmpty ()
Environment * GetOuterEnvironment ()
Environment * GetBottom ()
void AddBaseclassEnv (Environment *e)
Walker * GetWalker ()
void SetWalker (Walker *w)
Class * LookupClassMetaobject (Ptree *name)
bool LookupType (const char *name, int len, Bind *&t)
bool Lookup (Ptree *name, bool &is_type_name, TypeInfo &t)
bool Lookup (Ptree *name, TypeInfo &t)
bool Lookup (Ptree *, Bind *&)
bool LookupTop (Ptree *, Bind *&)
bool LookupTop (const char *name, int len, Bind *&t)
bool LookupAll (const char *name, int len, Bind *&t)
bool RecordVariable (char *name, Class *c)
bool RecordPointerVariable (char *name, Class *c)
int AddEntry (char *, int, Bind *)
int AddDupEntry (char *, int, Bind *)
void RecordNamespace (Environment *, Ptree *)
Environment * LookupNamespace (const char *name, int len)
Environment * LookupNamespace0 (Ptree *)
void RecordUsing (Ptree *name)
void RecordUsingNamespace (Ptree *name)
void RecordTypedefName (Ptree *)
void RecordEnumName (Ptree *)
void RecordClassName (char *, Class *)
void RecordTemplateClass (Ptree *, Class *)
Environment * RecordTemplateFunction (Ptree *, Ptree *)
Environment * RecordDeclarator (Ptree *)
Environment * DontRecordDeclarator (Ptree *)
void RecordMetaclassName (Ptree *)
Ptree * LookupMetaclass (Ptree *)
void SetMetaobject (Class *m)
Class * IsClassEnvironment ()
Ptree * IsNamespace ()
Class * LookupThis ()
Environment * IsMember (Ptree *)
void Dump ()
void Dump (int)
Ptree * GetLineNumber (Ptree *, int &)

Static Public Member Functions

bool RecordClasskeyword (char *, char *)
Ptree * LookupClasskeyword (Ptree *)

Private Member Functions

Environment * LookupNamespace0 (const char *, int)

Static Private Member Functions

bool SearchBaseOrUsing (Environment *this_env, bool(Environment::*func)(const char *, int, Bind *&), const char *name, int len, Bind *&t)

Private Attributes

Environment * next
HashTable * htable
Class * metaobject
Walker * walker
PtreeArray metaclasses
Array baseclasses_or_using
Array namespaces
Ptree * namespace_name

Static Private Attributes

PtreeArray * classkeywords = nil

Constructor & Destructor Documentation

Environment::Environment (  Walker *  w  ) 
 

Environment::Environment (  Environment *  e  ) 
 

Environment::Environment (  Environment *  e,
Walker *  w
) 
 


Member Function Documentation

bool Environment::IsEmpty (   ) 
 

Environment* Environment::GetOuterEnvironment (   )  [inline]
 

Environment * Environment::GetBottom (   ) 
 

void Environment::AddBaseclassEnv (  Environment *  e  )  [inline]
 

Walker* Environment::GetWalker (   )  [inline]
 

void Environment::SetWalker (  Walker *  w  )  [inline]
 

Class * Environment::LookupClassMetaobject (  Ptree *  name  ) 
 

bool Environment::LookupType (  const char *  name,
int  len,
Bind *&  t
) 
 

bool Environment::Lookup (  Ptree *  name,
bool &  is_type_name,
TypeInfo &  t
) 
 

bool Environment::Lookup (  Ptree *  name,
TypeInfo &  t
) 
 

bool Environment::Lookup (  Ptree *  ,
Bind *& 
) 
 

bool Environment::LookupTop (  Ptree *  ,
Bind *& 
) 
 

bool Environment::LookupTop (  const char *  name,
int  len,
Bind *&  t
) 
 

bool Environment::LookupAll (  const char *  name,
int  len,
Bind *&  t
) 
 

bool Environment::RecordVariable (  char *  name,
Class *  c
) 
 

bool Environment::RecordPointerVariable (  char *  name,
Class *  c
) 
 

int Environment::AddEntry (  char *  ,
int  ,
Bind * 
) 
 

int Environment::AddDupEntry (  char *  ,
int  ,
Bind * 
) 
 

void Environment::RecordNamespace (  Environment *  ,
Ptree * 
) 
 

Environment * Environment::LookupNamespace (  const char *  name,
int  len
) 
 

Environment * Environment::LookupNamespace0 (  Ptree *   ) 
 

void Environment::RecordUsing (  Ptree *  name  ) 
 

void Environment::RecordUsingNamespace (  Ptree *  name  ) 
 

void Environment::RecordTypedefName (  Ptree *   ) 
 

void Environment::RecordEnumName (  Ptree *   ) 
 

void Environment::RecordClassName (  char *  ,
Class * 
) 
 

void Environment::RecordTemplateClass (  Ptree *  ,
Class * 
) 
 

Environment * Environment::RecordTemplateFunction (  Ptree *  ,
Ptree * 
) 
 

Environment * Environment::RecordDeclarator (  Ptree *   ) 
 

Environment * Environment::DontRecordDeclarator (  Ptree *   ) 
 

void Environment::RecordMetaclassName (  Ptree *   ) 
 

Ptree * Environment::LookupMetaclass (  Ptree *   ) 
 

bool Environment::RecordClasskeyword (  char *  ,
char * 
)  [static]
 

Ptree * Environment::LookupClasskeyword (  Ptree *   )  [static]
 

void Environment::SetMetaobject (  Class *  m  )  [inline]
 

Class* Environment::IsClassEnvironment (   )  [inline]
 

Ptree* Environment::IsNamespace (   )  [inline]
 

Class * Environment::LookupThis (   ) 
 

Environment * Environment::IsMember (  Ptree *   ) 
 

void Environment::Dump (   ) 
 

void Environment::Dump (  int   ) 
 

Ptree * Environment::GetLineNumber (  Ptree *  ,
int & 
) 
 

bool Environment::SearchBaseOrUsing (  Environment *  this_env,
bool(Environment::*  func)(const char *, int, Bind *&),
const char *  name,
int  len,
Bind *&  t
)  [static, private]
 

Environment * Environment::LookupNamespace0 (  const char *  ,
int 
)  [private]
 


Member Data Documentation

Environment* Environment::next [private]
 

HashTable* Environment::htable [private]
 

Class* Environment::metaobject [private]
 

Walker* Environment::walker [private]
 

PtreeArray Environment::metaclasses [private]
 

BEGIN_OPENCXX_NAMESPACE PtreeArray * Environment::classkeywords = nil [static, private]
 

Array Environment::baseclasses_or_using [private]
 

Array Environment::namespaces [private]
 

Ptree* Environment::namespace_name [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Aug 11 22:35:29 2004 for IOPC by Doxygen 1.3.6