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

ClassBodyWalker Class Reference

#include <cbodywalk.h>

Inheritance diagram for ClassBodyWalker:

Inheritance graph
[legend]
Collaboration diagram for ClassBodyWalker:

Collaboration graph
[legend]
List of all members.

Public Methods

 ClassBodyWalker (Walker *w, PtreeArray *tlist)
Ptree * TranslateClassBody (Ptree *block, Ptree *bases, Class *)
void AppendNewMembers (Class *, PtreeArray &, bool &)
Ptree * TranslateTypespecifier (Ptree *tspec)
Ptree * TranslateTypedef (Ptree *def)
Ptree * TranslateMetaclassDecl (Ptree *decl)
Ptree * TranslateDeclarators (Ptree *decls)
Ptree * TranslateAssignInitializer (PtreeDeclarator *decl, Ptree *init)
Ptree * TranslateInitializeArgs (PtreeDeclarator *decl, Ptree *init)
Ptree * TranslateDeclarator (bool record, PtreeDeclarator *decl)
Ptree * TranslateDeclarator (bool record, PtreeDeclarator *decl, bool append_body)
Ptree * TranslateFunctionImplementation (Ptree *impl)

Private Attributes

PtreeArray * tspec_list

Constructor & Destructor Documentation

ClassBodyWalker::ClassBodyWalker (  Walker *    w,
PtreeArray *    tlist
)  [inline]
 

Definition at line 24 of file cbodywalk.h.

References tspec_list.


Member Function Documentation

void ClassBodyWalker::AppendNewMembers (  Class *   ,
PtreeArray &   ,
bool &   
) 
 

Definition at line 67 of file cbodywalk.cc.

References ChangedMemberList::Cmem::access, PtreeArray::Append(), ClassWalker::ConstructAccessSpecifier(), ClassWalker::ConstructMember(), ChangedMemberList::Cmem::def, ChangedMemberList::Get(), Class::GetAppendedMembers(), nil, and TRUE.

Referenced by TranslateClassBody().

Ptree * ClassBodyWalker::TranslateAssignInitializer (  PtreeDeclarator *    decl,
Ptree *    init
)  [virtual]
 

Reimplemented from ClassWalker.

Definition at line 123 of file cbodywalk.cc.

References ClassWalker::TranslateAssignInitializer().

Ptree * ClassBodyWalker::TranslateClassBody (  Ptree *    block,
Ptree *    bases,
Class *   
)  [virtual]
 

Reimplemented from Walker.

Definition at line 21 of file cbodywalk.cc.

References PtreeArray::All(), PtreeArray::Append(), AppendNewMembers(), Ptree::Car(), Ptree::Cdr(), Walker::ChangeScope(), Walker::env, FALSE, Ptree::First(), Class::GetAppendedCode(), Class::GetEnvironment(), nil, Walker::RestoreScope(), Ptree::Second(), Ptree::Third(), Walker::Translate(), and TRUE.

Referenced by ClassWalker::ConstructClass(), and ClassWalker::TranslateClassSpec().

Ptree * ClassBodyWalker::TranslateDeclarator (  bool    record,
PtreeDeclarator *    decl,
bool    append_body
) 
 

Definition at line 145 of file cbodywalk.cc.

References ChangedMemberList::Cmem::body, Walker::env, Class::GetChangedMember(), Ptree::List(), Environment::LookupThis(), ClassWalker::MakeMemberDeclarator(), nil, ChangedMemberList::Cmem::removed, and Walker::TranslateDeclarator().

Ptree * ClassBodyWalker::TranslateDeclarator (  bool    record,
PtreeDeclarator *    decl
)  [virtual]
 

Reimplemented from Walker.

Definition at line 139 of file cbodywalk.cc.

References TRUE.

Referenced by TranslateFunctionImplementation().

Ptree * ClassBodyWalker::TranslateDeclarators (  Ptree *    decls )  [virtual]
 

Reimplemented from Walker.

Definition at line 118 of file cbodywalk.cc.

References FALSE, and Walker::TranslateDeclarators().

Ptree * ClassBodyWalker::TranslateFunctionImplementation (  Ptree *    impl )  [virtual]
 

Reimplemented from ClassWalker.

Definition at line 166 of file cbodywalk.cc.

References ChangedMemberList::Cmem::body, Walker::ChangeScope(), Environment::DontRecordDeclarator(), Walker::env, Walker::ExitScope(), FALSE, Ptree::First(), Class::GetChangedMember(), Environment::IsClassEnvironment(), Ptree::List(), Walker::NewScope(), nil, Ptree::Nth(), Walker::RestoreScope(), Ptree::Second(), Class::semicolon_t, Ptree::Third(), TranslateDeclarator(), Walker::TranslateDeclarator(), ClassWalker::TranslateFunctionBody(), ClassWalker::TranslateStorageSpecifiers(), TranslateTypespecifier(), and TRUE.

Ptree * ClassBodyWalker::TranslateInitializeArgs (  PtreeDeclarator *    decl,
Ptree *    init
)  [virtual]
 

Reimplemented from ClassWalker.

Definition at line 131 of file cbodywalk.cc.

References ClassWalker::TranslateInitializeArgs().

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

Reimplemented from ClassWalker.

Definition at line 113 of file cbodywalk.cc.

References nil.

Ptree * ClassBodyWalker::TranslateTypedef (  Ptree *    def )  [virtual]
 

Reimplemented from Walker.

Definition at line 98 of file cbodywalk.cc.

References Ptree::First(), Ptree::List(), Ptree::ListTail(), Ptree::Second(), and TranslateTypespecifier().

Ptree * ClassBodyWalker::TranslateTypespecifier (  Ptree *    tspec )  [virtual]
 

Reimplemented from Walker.

Definition at line 85 of file cbodywalk.cc.

References nil, PtreeArray::Number(), PtreeArray::Ref(), and tspec_list.

Referenced by TranslateFunctionImplementation(), and TranslateTypedef().


Member Data Documentation

PtreeArray* ClassBodyWalker::tspec_list [private]
 

Definition at line 41 of file cbodywalk.h.

Referenced by ClassBodyWalker(), and TranslateTypespecifier().


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