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)
PtreeTranslateClassBody (Ptree *block, Ptree *bases, Class *)
void AppendNewMembers (Class *, PtreeArray &, bool &)
PtreeTranslateTypespecifier (Ptree *tspec)
PtreeTranslateTypedef (Ptree *def)
PtreeTranslateMetaclassDecl (Ptree *decl)
PtreeTranslateDeclarators (Ptree *decls)
PtreeTranslateAssignInitializer (PtreeDeclarator *decl, Ptree *init)
PtreeTranslateInitializeArgs (PtreeDeclarator *decl, Ptree *init)
PtreeTranslateDeclarator (bool record, PtreeDeclarator *decl)
PtreeTranslateDeclarator (bool record, PtreeDeclarator *decl, bool append_body)
PtreeTranslateFunctionImplementation (Ptree *impl)

Private Attributes

PtreeArraytspec_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