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

ClassWalker Class Reference

#include <classwalk.h>

Inheritance diagram for ClassWalker:

Inheritance graph
[legend]
Collaboration diagram for ClassWalker:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ClassWalker (Parser *p)
 ClassWalker (Parser *p, Environment *e)
 ClassWalker (Environment *e)
 ClassWalker (Walker *w)
bool IsClassWalker ()
void InsertBeforeStatement (Ptree *)
void AppendAfterStatement (Ptree *)
void InsertBeforeToplevel (Ptree *)
void AppendAfterToplevel (Ptree *)
bool InsertDeclaration (Ptree *, Class *, Ptree *, void *)
void * LookupClientData (Class *, Ptree *)
Ptree * GetInsertedPtree ()
Ptree * GetAppendedPtree ()
Ptree * TranslateMetaclassDecl (Ptree *decl)
Ptree * TranslateClassSpec (Ptree *spec, Ptree *userkey, Ptree *class_def, Class *metaobject)
Ptree * TranslateTemplateInstantiation (Ptree *spec, Ptree *userkey, Ptree *class_def, Class *metaobject)
Ptree * ConstructClass (Class *metaobject)
Ptree * ConstructAccessSpecifier (int access)
Ptree * ConstructMember (void *)
Ptree * TranslateStorageSpecifiers (Ptree *)
Ptree * TranslateTemplateFunction (Ptree *temp_def, Ptree *impl)
Class * MakeMetaobjectForCfunctions ()
Ptree * TranslateFunctionImplementation (Ptree *)
Ptree * MakeMemberDeclarator (bool record, void *, PtreeDeclarator *)
Ptree * RecordArgsAndTranslateFbody (Class *, Ptree *args, Ptree *body)
Ptree * TranslateFunctionBody (Ptree *)
Ptree * TranslateBlock (Ptree *)
Ptree * TranslateArgDeclList (bool, Ptree *, Ptree *)
Ptree * TranslateInitializeArgs (PtreeDeclarator *, Ptree *)
Ptree * TranslateAssignInitializer (PtreeDeclarator *, Ptree *)
Ptree * TranslateUserAccessSpec (Ptree *)
Ptree * TranslateAssign (Ptree *)
Ptree * TranslateInfix (Ptree *)
Ptree * TranslateUnary (Ptree *)
Ptree * TranslateArray (Ptree *)
Ptree * TranslatePostfix (Ptree *)
Ptree * TranslateFuncall (Ptree *)
Ptree * TranslateDotMember (Ptree *)
Ptree * TranslateArrowMember (Ptree *)
Ptree * TranslateThis (Ptree *)
Ptree * TranslateVariable (Ptree *)
Ptree * TranslateUserStatement (Ptree *)
Ptree * TranslateStaticUserStatement (Ptree *)
Ptree * TranslateNew2 (Ptree *, Ptree *, Ptree *, Ptree *, Ptree *, Ptree *, Ptree *)
Ptree * TranslateDelete (Ptree *)

Private Member Functions

PtreeArray * RecordMembers (Ptree *, Ptree *, Class *)
void RecordMemberDeclaration (Ptree *mem, PtreeArray *tspec_list)
Ptree * TranslateStorageSpecifiers2 (Ptree *rest)

Static Private Member Functions

Class * GetClassMetaobject (TypeInfo &)
Ptree * CheckMemberEquiv (Ptree *, Ptree *)
Ptree * CheckEquiv (Ptree *p, Ptree *q)

Private Attributes

PtreeArray before_statement
PtreeArray after_statement
PtreeArray before_toplevel
PtreeArray after_toplevel
PtreeArray inserted_declarations
ClientDataLink * client_data

Constructor & Destructor Documentation

ClassWalker::ClassWalker (  Parser *  p  )  [inline]
 

ClassWalker::ClassWalker (  Parser *  p,
Environment *  e
)  [inline]
 

ClassWalker::ClassWalker (  Environment *  e  )  [inline]
 

ClassWalker::ClassWalker (  Walker *  w  )  [inline]
 


Member Function Documentation

bool ClassWalker::IsClassWalker (   )  [virtual]
 

Reimplemented from Walker.

void ClassWalker::InsertBeforeStatement (  Ptree *   ) 
 

void ClassWalker::AppendAfterStatement (  Ptree *   ) 
 

void ClassWalker::InsertBeforeToplevel (  Ptree *   ) 
 

void ClassWalker::AppendAfterToplevel (  Ptree *   ) 
 

bool ClassWalker::InsertDeclaration (  Ptree *  ,
Class *  ,
Ptree *  ,
void * 
) 
 

void * ClassWalker::LookupClientData (  Class *  ,
Ptree * 
) 
 

Ptree * ClassWalker::GetInsertedPtree (   ) 
 

Ptree * ClassWalker::GetAppendedPtree (   ) 
 

Ptree * ClassWalker::TranslateMetaclassDecl (  Ptree *  decl  )  [virtual]
 

Reimplemented from Walker.

Reimplemented in ClassBodyWalker.

Ptree * ClassWalker::TranslateClassSpec (  Ptree *  spec,
Ptree *  userkey,
Ptree *  class_def,
Class *  metaobject
)  [virtual]
 

Reimplemented from Walker.

Ptree * ClassWalker::TranslateTemplateInstantiation (  Ptree *  spec,
Ptree *  userkey,
Ptree *  class_def,
Class *  metaobject
)  [virtual]
 

Reimplemented from Walker.

Ptree * ClassWalker::ConstructClass (  Class *  metaobject  ) 
 

Ptree * ClassWalker::ConstructAccessSpecifier (  int  access  ) 
 

Ptree * ClassWalker::ConstructMember (  void *   ) 
 

Ptree * ClassWalker::TranslateStorageSpecifiers (  Ptree *   )  [virtual]
 

Reimplemented from Walker.

Ptree * ClassWalker::TranslateTemplateFunction (  Ptree *  temp_def,
Ptree *  impl
)  [virtual]
 

Reimplemented from Walker.

Class * ClassWalker::MakeMetaobjectForCfunctions (   ) 
 

Ptree * ClassWalker::TranslateFunctionImplementation (  Ptree *   )  [virtual]
 

Reimplemented from Walker.

Reimplemented in ClassBodyWalker.

Ptree * ClassWalker::MakeMemberDeclarator (  bool  record,
void *  ,
PtreeDeclarator * 
) 
 

Ptree * ClassWalker::RecordArgsAndTranslateFbody (  Class *  ,
Ptree *  args,
Ptree *  body
)  [virtual]
 

Reimplemented from Walker.

Ptree * ClassWalker::TranslateFunctionBody (  Ptree *   )  [virtual]
 

Reimplemented from Walker.

Ptree * ClassWalker::TranslateBlock (  Ptree *   )  [virtual]
 

Reimplemented from Walker.

Ptree * ClassWalker::TranslateArgDeclList (  bool  ,
Ptree *  ,
Ptree * 
)  [virtual]
 

Reimplemented from Walker.

Ptree * ClassWalker::TranslateInitializeArgs (  PtreeDeclarator *  ,
Ptree * 
)  [virtual]
 

Reimplemented from Walker.

Reimplemented in ClassBodyWalker.

Ptree * ClassWalker::TranslateAssignInitializer (  PtreeDeclarator *  ,
Ptree * 
)  [virtual]
 

Reimplemented from Walker.

Reimplemented in ClassBodyWalker.

Ptree * ClassWalker::TranslateUserAccessSpec (  Ptree *   )  [virtual]
 

Reimplemented from Walker.

Ptree * ClassWalker::TranslateAssign (  Ptree *   )  [virtual]
 

Reimplemented from Walker.

Ptree * ClassWalker::TranslateInfix (  Ptree *   )  [virtual]
 

Reimplemented from Walker.

Ptree * ClassWalker::TranslateUnary (  Ptree *   )  [virtual]
 

Reimplemented from Walker.

Ptree * ClassWalker::TranslateArray (  Ptree *   )  [virtual]
 

Reimplemented from Walker.

Ptree * ClassWalker::TranslatePostfix (  Ptree *   )  [virtual]
 

Reimplemented from Walker.

Ptree * ClassWalker::TranslateFuncall (  Ptree *   )  [virtual]
 

Reimplemented from Walker.

Ptree * ClassWalker::TranslateDotMember (  Ptree *   )  [virtual]
 

Reimplemented from Walker.

Ptree * ClassWalker::TranslateArrowMember (  Ptree *   )  [virtual]
 

Reimplemented from Walker.

Ptree * ClassWalker::TranslateThis (  Ptree *   )  [virtual]
 

Reimplemented from Walker.

Ptree * ClassWalker::TranslateVariable (  Ptree *   )  [virtual]
 

Reimplemented from Walker.

Ptree * ClassWalker::TranslateUserStatement (  Ptree *   )  [virtual]
 

Reimplemented from Walker.

Ptree * ClassWalker::TranslateStaticUserStatement (  Ptree *   )  [virtual]
 

Reimplemented from Walker.

Ptree * ClassWalker::TranslateNew2 (  Ptree *  ,
Ptree *  ,
Ptree *  ,
Ptree *  ,
Ptree *  ,
Ptree *  ,
Ptree * 
)  [virtual]
 

Reimplemented from Walker.

Ptree * ClassWalker::TranslateDelete (  Ptree *   )  [virtual]
 

Reimplemented from Walker.

BEGIN_OPENCXX_NAMESPACE Class * ClassWalker::GetClassMetaobject (  TypeInfo &  tinfo  )  [static, private]
 

Obtains the metaobject of the class given the type of this class.

Returns nil for non-object types.

PtreeArray * ClassWalker::RecordMembers (  Ptree *  ,
Ptree *  ,
Class * 
)  [private]
 

void ClassWalker::RecordMemberDeclaration (  Ptree *  mem,
PtreeArray *  tspec_list
)  [private]
 

Ptree * ClassWalker::TranslateStorageSpecifiers2 (  Ptree *  rest  )  [private]
 

Ptree * ClassWalker::CheckMemberEquiv (  Ptree *  ,
Ptree * 
)  [static, private]
 

Ptree* ClassWalker::CheckEquiv (  Ptree *  p,
Ptree *  q
)  [inline, static, private]
 


Member Data Documentation

PtreeArray ClassWalker::before_statement [private]
 

PtreeArray ClassWalker::after_statement [private]
 

PtreeArray ClassWalker::before_toplevel [private]
 

PtreeArray ClassWalker::after_toplevel [private]
 

PtreeArray ClassWalker::inserted_declarations [private]
 

ClientDataLink* ClassWalker::client_data [private]
 


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