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

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 Methods

 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 Methods

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

Static Private Methods

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]
 

Definition at line 23 of file classwalk.h.

References client_data, and nil.

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

Definition at line 24 of file classwalk.h.

References client_data, and nil.

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

Definition at line 26 of file classwalk.h.

References client_data, and nil.

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

Definition at line 27 of file classwalk.h.

References client_data, and nil.


Member Function Documentation

void ClassWalker::AppendAfterStatement (  Ptree *    ) 
 

Definition at line 48 of file classwalk.cc.

References after_statement, and PtreeArray::Append().

void ClassWalker::AppendAfterToplevel (  Ptree *    ) 
 

Definition at line 58 of file classwalk.cc.

References after_toplevel, and PtreeArray::Append().

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

Definition at line 87 of file classwalk.h.

References Ptree::Equiv().

Referenced by TranslateArray(), TranslateArrowMember(), TranslateAssign(), TranslateDelete(), TranslateDotMember(), TranslateFuncall(), TranslateInfix(), TranslateNew2(), TranslatePostfix(), and TranslateUnary().

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

Definition at line 735 of file classwalk.cc.

References Ptree::Car(), Ptree::Cdr(), Ptree::Equiv(), and Ptree::IsLeaf().

Referenced by TranslateAssign(), TranslateFuncall(), and TranslatePostfix().

Ptree * ClassWalker::ConstructAccessSpecifier (  int    access ) 
 

Definition at line 296 of file classwalk.cc.

References Class::colon_t, Ptree::List(), Class::Private, Class::private_t, Class::Protected, Class::protected_t, Class::Public, and Class::public_t.

Referenced by ClassBodyWalker::AppendNewMembers().

Ptree * ClassWalker::ConstructClass (  Class *    metaobject ) 
 

Definition at line 189 of file classwalk.cc.

References Ptree::Car(), Ptree::Cons(), Class::Definition(), Class::GetBaseClasses(), Class::GetClassSpecifier(), Ptree::GetEncodedName(), Class::GetNewName(), Ptree::List(), nil, Ptree::Nth(), Ptree::Second(), Class::semicolon_t, ClassBodyWalker::TranslateClassBody(), and Class::TranslateClassHasFinished().

Ptree * ClassWalker::ConstructMember (  void *    ) 
 

Definition at line 315 of file classwalk.cc.

References ChangedMemberList::Cmem::body, Walker::ChangeScope(), Ptree::Cons(), ChangedMemberList::Cmem::declarator, ChangedMemberList::Cmem::def, Environment::DontRecordDeclarator(), Walker::env, Walker::ExitScope(), FALSE, Ptree::First(), Ptree::IsA(), Ptree::List(), MakeMemberDeclarator(), Walker::NewScope(), nil, ntDeclarator, Ptree::Nth(), Walker::RestoreScope(), Ptree::Second(), Class::semicolon_t, Ptree::Third(), TranslateFunctionBody(), TranslateStorageSpecifiers(), Walker::TranslateTypespecifier(), and TRUE.

Referenced by ClassBodyWalker::AppendNewMembers().

Ptree * ClassWalker::GetAppendedPtree (    ) 
 

Definition at line 110 of file classwalk.cc.

References after_statement, after_toplevel, PtreeArray::All(), PtreeArray::Clear(), Ptree::Nconc(), nil, and PtreeArray::Number().

Referenced by ParseOpencxx().

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

Definition at line 24 of file classwalk.cc.

References TypeInfo::Dereference(), TypeInfo::IsClass(), TypeInfo::IsReferenceType(), and nil.

Referenced by TranslateArray(), TranslateArrowMember(), TranslateAssign(), TranslateDelete(), TranslateDotMember(), TranslateFuncall(), TranslateInfix(), TranslateNew2(), TranslatePostfix(), TranslateStaticUserStatement(), TranslateThis(), TranslateUnary(), TranslateUserStatement(), and TranslateVariable().

Ptree * ClassWalker::GetInsertedPtree (    ) 
 

Definition at line 91 of file classwalk.cc.

References PtreeArray::All(), before_statement, before_toplevel, PtreeArray::Clear(), client_data, inserted_declarations, Ptree::Nconc(), nil, and PtreeArray::Number().

Referenced by ParseOpencxx().

void ClassWalker::InsertBeforeStatement (  Ptree *    ) 
 

Definition at line 43 of file classwalk.cc.

References PtreeArray::Append(), and before_statement.

void ClassWalker::InsertBeforeToplevel (  Ptree *    ) 
 

Definition at line 53 of file classwalk.cc.

References PtreeArray::Append(), and before_toplevel.

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

Definition at line 63 of file classwalk.cc.

References PtreeArray::Append(), client_data, ClassWalker::ClientDataLink::data, FALSE, inserted_declarations, ClassWalker::ClientDataLink::key, LookupClientData(), ClassWalker::ClientDataLink::metaobject, ClassWalker::ClientDataLink::next, nil, and TRUE.

bool ClassWalker::IsClassWalker (    )  [virtual]
 

Reimplemented from Walker.

Definition at line 38 of file classwalk.cc.

References TRUE.

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

Definition at line 82 of file classwalk.cc.

References client_data, ClassWalker::ClientDataLink::data, Ptree::Eq(), ClassWalker::ClientDataLink::key, ClassWalker::ClientDataLink::metaobject, ClassWalker::ClientDataLink::next, and nil.

Referenced by InsertDeclaration().

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

Definition at line 496 of file classwalk.cc.

References Ptree::Append(), ChangedMemberList::Cmem::arg_name_filled, ChangedMemberList::Cmem::args, Ptree::Car(), Ptree::Cdr(), Walker::env, Ptree::Eq(), FALSE, Walker::GetArgDeclList(), ChangedMemberList::Cmem::init, Ptree::IsLeaf(), Ptree::Last(), ChangedMemberList::Cmem::name, PtreeDeclarator::Name(), nil, ChangedMemberList::Cmem::removed, Ptree::Subst(), Walker::TranslateArgDeclList2(), and TRUE.

Referenced by ConstructMember(), ClassBodyWalker::TranslateDeclarator(), TranslateFunctionImplementation(), and TranslateTemplateFunction().

Class * ClassWalker::MakeMetaobjectForCfunctions (    ) 
 

Definition at line 470 of file classwalk.cc.

References Class::class_t, Class::empty_block_t, Walker::env, Class::for_c_functions, Encoding::Get(), Ptree::List(), Class::metaclass_for_c_functions, MopErrorMessage2(), opcxx_ListOfMetaclass::New(), nil, Class::SetEnvironment(), and Encoding::SimpleName().

Referenced by TranslateFunctionImplementation().

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

Reimplemented from Walker.

Definition at line 556 of file classwalk.cc.

References Walker::ChangeScope(), Walker::env, Walker::ExitScope(), FALSE, Class::GetEnvironment(), Walker::NewScope(), nil, Walker::RestoreScope(), Walker::TranslateArgDeclList2(), TranslateFunctionBody(), and TRUE.

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

Definition at line 269 of file classwalk.cc.

References PtreeArray::Append(), Ptree::Car(), Ptree::Cdr(), Walker::env, Ptree::IsA(), Ptree::IsLeaf(), nil, ntDeclarator, Environment::RecordDeclarator(), Ptree::Second(), Ptree::Third(), and Walker::TranslateTypespecifier().

Referenced by RecordMembers().

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

Definition at line 218 of file classwalk.cc.

References PtreeArray::Append(), Ptree::Car(), Ptree::Cdr(), Walker::env, Walker::ExitScope(), Walker::NewScope(), nil, ntDeclaration, Ptree::Nth(), ntMetaclassDecl, ntTemplateDecl, ntTemplateInstantiation, ntTypedef, ntUsing, PtreeArray::Number(), Walker::RecordBaseclassEnv(), RecordMemberDeclaration(), Environment::RecordMetaclassName(), Environment::RecordTypedefName(), Ptree::Second(), Ptree::Third(), Walker::TranslateTypespecifier(), and Ptree::What().

Referenced by TranslateClassSpec().

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

Reimplemented from Walker.

Definition at line 645 of file classwalk.cc.

References Walker::env, FALSE, Walker::TranslateArgDeclList2(), and TRUE.

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

Reimplemented from Walker.

Definition at line 824 of file classwalk.cc.

References Ptree::Car(), Ptree::Cdr(), CheckEquiv(), Walker::env, GetClassMetaobject(), nil, Ptree::ShallowSubst(), Ptree::Third(), Walker::Translate(), Class::TranslateSubscript(), and Walker::Typeof().

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

Reimplemented from Walker.

Definition at line 967 of file classwalk.cc.

References Ptree::Car(), Ptree::Cdr(), CheckEquiv(), TypeInfo::Dereference(), Walker::env, GetClassMetaobject(), nil, Ptree::Second(), Ptree::Third(), Walker::Translate(), Class::TranslateMemberRead(), and Walker::Typeof().

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

Reimplemented from Walker.

Definition at line 684 of file classwalk.cc.

References CheckEquiv(), CheckMemberEquiv(), TypeInfo::Dereference(), Walker::env, Ptree::Eq(), Ptree::First(), GetClassMetaobject(), Ptree::IsA(), Environment::IsClassEnvironment(), Environment::IsMember(), Ptree::List(), nil, ntArrowMemberExpr, ntDotMemberExpr, Ptree::Second(), Ptree::Third(), Walker::Translate(), Class::TranslateAssign(), Class::TranslateMemberWrite(), and Walker::Typeof().

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

Reimplemented from Walker.

Reimplemented in ClassBodyWalker.

Definition at line 661 of file classwalk.cc.

References Ptree::Car(), TypeInfo::ClassMetaobject(), Walker::env, Ptree::List(), Environment::Lookup(), PtreeDeclarator::Name(), nil, Ptree::Second(), Walker::Translate(), and Class::TranslateInitializer().

Referenced by ClassBodyWalker::TranslateAssignInitializer().

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

Reimplemented from Walker.

Definition at line 597 of file classwalk.cc.

References after_statement, PtreeArray::All(), PtreeArray::Append(), before_statement, Ptree::Car(), Ptree::Cdr(), PtreeArray::Clear(), Walker::ExitScope(), FALSE, Ptree::First(), Walker::NewScope(), nil, PtreeArray::Number(), Ptree::Second(), Ptree::Third(), Walker::Translate(), TRUE, and uint.

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

Reimplemented from Walker.

Definition at line 130 of file classwalk.cc.

References Ptree::Car(), Ptree::Cdr(), Ptree::Cons(), Walker::env, Class::GetBaseClasses(), Class::GetClassSpecifier(), Ptree::GetEncodedName(), Class::GetNewName(), Ptree::List(), nil, Ptree::Nth(), RecordMembers(), Class::removed, Ptree::Second(), Ptree::Third(), Class::TranslateClass(), ClassBodyWalker::TranslateClassBody(), and Class::TranslateClassHasFinished().

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

Reimplemented from Walker.

Definition at line 1127 of file classwalk.cc.

References Ptree::Car(), Ptree::Cdr(), CheckEquiv(), TypeInfo::Dereference(), Walker::env, GetClassMetaobject(), Ptree::Last(), Ptree::Length(), nil, Ptree::ShallowSubst(), Walker::Translate(), Class::TranslateDelete(), and Walker::Typeof().

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

Reimplemented from Walker.

Definition at line 946 of file classwalk.cc.

References Ptree::Car(), Ptree::Cdr(), CheckEquiv(), Walker::env, GetClassMetaobject(), nil, Ptree::Second(), Ptree::Third(), Walker::Translate(), Class::TranslateMemberRead(), and Walker::Typeof().

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

Reimplemented from Walker.

Definition at line 893 of file classwalk.cc.

References Ptree::Car(), Ptree::Cdr(), CheckEquiv(), CheckMemberEquiv(), TypeInfo::Dereference(), Walker::env, Ptree::Eq(), Ptree::First(), Class::for_c_functions, GetClassMetaobject(), Ptree::IsA(), Environment::IsClassEnvironment(), Environment::IsMember(), nil, ntArrowMemberExpr, ntDotMemberExpr, Ptree::Second(), Ptree::Third(), Walker::Translate(), Walker::TranslateArguments(), Class::TranslateFunctionCall(), Class::TranslateMemberCall(), and Walker::Typeof().

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

Reimplemented from Walker.

Definition at line 576 of file classwalk.cc.

References PtreeArray::All(), PtreeArray::Clear(), client_data, Ptree::First(), inserted_declarations, Ptree::IsLeaf(), Ptree::Nconc(), nil, PtreeArray::Number(), Ptree::Second(), Ptree::Third(), and Walker::Translate().

Referenced by ConstructMember(), RecordArgsAndTranslateFbody(), TranslateFunctionImplementation(), and ClassBodyWalker::TranslateFunctionImplementation().

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

Reimplemented from Walker.

Reimplemented in ClassBodyWalker.

Definition at line 415 of file classwalk.cc.

References ChangedMemberList::Cmem::body, Walker::ChangeScope(), ChangedMemberList::Copy(), Walker::env, Walker::ExitScope(), Ptree::First(), Environment::IsClassEnvironment(), Ptree::List(), MakeMemberDeclarator(), MakeMetaobjectForCfunctions(), Class::metaclass_for_c_functions, Walker::NewScope(), nil, Ptree::Nth(), Environment::RecordDeclarator(), Walker::RestoreScope(), Ptree::Second(), Ptree::Third(), Walker::TranslateDeclarator(), TranslateFunctionBody(), Class::TranslateMemberFunction(), TranslateStorageSpecifiers(), Walker::TranslateTypespecifier(), TRUE, and Class::Undefined.

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

Reimplemented from Walker.

Definition at line 745 of file classwalk.cc.

References CheckEquiv(), Walker::env, Ptree::First(), GetClassMetaobject(), Ptree::List(), nil, Ptree::Second(), Ptree::Third(), Walker::Translate(), Class::TranslateBinary(), and Walker::Typeof().

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

Reimplemented from Walker.

Reimplemented in ClassBodyWalker.

Definition at line 650 of file classwalk.cc.

References TypeInfo::ClassMetaobject(), Walker::env, Environment::Lookup(), PtreeDeclarator::Name(), nil, Walker::TranslateArguments(), and Class::TranslateInitializer().

Referenced by ClassBodyWalker::TranslateInitializeArgs().

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

Reimplemented from Walker.

Reimplemented in ClassBodyWalker.

Definition at line 124 of file classwalk.cc.

References Walker::env, nil, and Environment::RecordMetaclassName().

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

Reimplemented from Walker.

Definition at line 1077 of file classwalk.cc.

References Ptree::Car(), Ptree::Cdr(), CheckEquiv(), Walker::env, Ptree::Eq(), Walker::ErrorMessage(), GetClassMetaobject(), Ptree::GetEncodedType(), nil, Ptree::Second(), TypeInfo::Set(), Ptree::ShallowSubst(), Walker::TranslateArguments(), Class::TranslateNew(), and Walker::TranslateNew3().

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

Reimplemented from Walker.

Definition at line 847 of file classwalk.cc.

References Ptree::Car(), Ptree::Cdr(), CheckEquiv(), CheckMemberEquiv(), TypeInfo::Dereference(), Walker::env, Ptree::Eq(), Ptree::First(), GetClassMetaobject(), Ptree::IsA(), Environment::IsClassEnvironment(), Environment::IsMember(), nil, ntArrowMemberExpr, ntDotMemberExpr, Ptree::Second(), Ptree::Third(), Walker::Translate(), Class::TranslatePostfix(), Class::TranslatePostfixOnMember(), and Walker::Typeof().

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

Reimplemented from Walker.

Definition at line 1050 of file classwalk.cc.

References Walker::env, Walker::ErrorMessage(), Walker::ExitScope(), FALSE, Ptree::First(), GetClassMetaobject(), Ptree::IsA(), Ptree::ListTail(), Environment::Lookup(), Walker::NewScope(), nil, Ptree::Second(), Ptree::Third(), Walker::TranslateArgDeclList2(), Class::TranslateStaticUserStatement(), TRUE, and UserKeyword2.

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

Reimplemented from Walker.

Definition at line 361 of file classwalk.cc.

References TranslateStorageSpecifiers2().

Referenced by ConstructMember(), TranslateFunctionImplementation(), and ClassBodyWalker::TranslateFunctionImplementation().

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

Definition at line 366 of file classwalk.cc.

References Ptree::Car(), Ptree::Cdr(), Ptree::Cons(), Ptree::IsA(), nil, and ntUserdefKeyword.

Referenced by TranslateStorageSpecifiers().

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

Reimplemented from Walker.

Definition at line 383 of file classwalk.cc.

References Walker::ChangeScope(), ChangedMemberList::Copy(), Walker::env, Walker::ExitScope(), Ptree::First(), Environment::IsClassEnvironment(), Ptree::List(), MakeMemberDeclarator(), Walker::NewScope(), nil, Ptree::Nth(), Environment::RecordTemplateFunction(), Walker::RestoreScope(), Ptree::Second(), Ptree::Third(), Class::TranslateMemberFunction(), TRUE, and Class::Undefined.

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

Reimplemented from Walker.

Definition at line 168 of file classwalk.cc.

References Class::AcceptTemplate(), Walker::env, nil, and TemplateClass::TranslateInstantiation().

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

Reimplemented from Walker.

Definition at line 989 of file classwalk.cc.

References TypeInfo::Dereference(), Walker::env, GetClassMetaobject(), nil, Class::TranslatePointer(), and Walker::Typeof().

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

Reimplemented from Walker.

Definition at line 774 of file classwalk.cc.

References Ptree::Car(), CheckEquiv(), TypeInfo::Dereference(), Walker::env, Ptree::Eq(), Ptree::Equiv(), Ptree::First(), GetClassMetaobject(), Ptree::IsA(), Environment::IsClassEnvironment(), Environment::IsMember(), Ptree::Length(), Ptree::List(), nil, ntArrowMemberExpr, ntDotMemberExpr, Ptree::Second(), Ptree::Third(), Walker::Translate(), Class::TranslateUnary(), Class::TranslateUnaryOnMember(), and Walker::Typeof().

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

Reimplemented from Walker.

Definition at line 679 of file classwalk.cc.

References nil.

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

Reimplemented from Walker.

Definition at line 1022 of file classwalk.cc.

References TypeInfo::Dereference(), Walker::env, Ptree::Eq(), Walker::ErrorMessage(), Walker::ExitScope(), FALSE, Ptree::First(), GetClassMetaobject(), Ptree::IsA(), Ptree::ListTail(), Walker::NewScope(), nil, Ptree::Second(), Ptree::Third(), Walker::TranslateArgDeclList2(), Class::TranslateUserStatement(), TRUE, Walker::Typeof(), and UserKeyword2.

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

Reimplemented from Walker.

Definition at line 1001 of file classwalk.cc.

References TypeInfo::Dereference(), Walker::env, GetClassMetaobject(), Environment::IsClassEnvironment(), Environment::IsMember(), TypeInfo::IsPointerType(), nil, Class::TranslateMemberRead(), Class::TranslatePointer(), and Walker::Typeof().


Member Data Documentation

PtreeArray ClassWalker::after_statement [private]
 

Definition at line 99 of file classwalk.h.

Referenced by AppendAfterStatement(), GetAppendedPtree(), and TranslateBlock().

PtreeArray ClassWalker::after_toplevel [private]
 

Definition at line 100 of file classwalk.h.

Referenced by AppendAfterToplevel(), and GetAppendedPtree().

PtreeArray ClassWalker::before_statement [private]
 

Definition at line 99 of file classwalk.h.

Referenced by GetInsertedPtree(), InsertBeforeStatement(), and TranslateBlock().

PtreeArray ClassWalker::before_toplevel [private]
 

Definition at line 100 of file classwalk.h.

Referenced by GetInsertedPtree(), and InsertBeforeToplevel().

ClientDataLink* ClassWalker::client_data [private]
 

Definition at line 102 of file classwalk.h.

Referenced by ClassWalker(), GetInsertedPtree(), InsertDeclaration(), LookupClientData(), and TranslateFunctionBody().

PtreeArray ClassWalker::inserted_declarations [private]
 

Definition at line 101 of file classwalk.h.

Referenced by GetInsertedPtree(), InsertDeclaration(), and TranslateFunctionBody().


The documentation for this class was generated from the following files:
Generated on Mon Feb 10 17:35:26 2003 for VFiasco Semantics Compiler by doxygen1.2.15