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

cbodywalk.h

Go to the documentation of this file.
00001 /*
00002   Copyright (C) 1997-2001 Shigeru Chiba, Tokyo Institute of Technology.
00003 
00004   Permission to use, copy, distribute and modify this software and   
00005   its documentation for any purpose is hereby granted without fee,        
00006   provided that the above copyright notice appear in all copies and that 
00007   both that copyright notice and this permission notice appear in 
00008   supporting documentation.
00009 
00010   Shigeru Chiba makes no representations about the suitability of this 
00011   software for any purpose.  It is provided "as is" without express or
00012   implied warranty.
00013 */
00014 
00015 #ifndef _cbodywalk_h
00016 #define _cbodywalk_h
00017 
00018 #include "classwalk.h"
00019 
00020 // ClassBodyWalker is only used by ClassWalker::TranslateClassSpec.
00021 
00022 class ClassBodyWalker : public ClassWalker {
00023 public:
00024     ClassBodyWalker(Walker* w, PtreeArray* tlist) : ClassWalker(w) {
00025         tspec_list = tlist;
00026     }
00027     Ptree* TranslateClassBody(Ptree* block, Ptree* bases, Class*);
00028     void AppendNewMembers(Class*, PtreeArray&, bool&);
00029     Ptree* TranslateTypespecifier(Ptree* tspec);
00030     Ptree* TranslateTypedef(Ptree* def);
00031     Ptree* TranslateMetaclassDecl(Ptree* decl);
00032     Ptree* TranslateDeclarators(Ptree* decls);
00033     Ptree* TranslateAssignInitializer(PtreeDeclarator* decl, Ptree* init);
00034     Ptree* TranslateInitializeArgs(PtreeDeclarator* decl, Ptree* init);
00035     Ptree* TranslateDeclarator(bool record, PtreeDeclarator* decl);
00036     Ptree* TranslateDeclarator(bool record, PtreeDeclarator* decl,
00037                                bool append_body);
00038     Ptree* TranslateFunctionImplementation(Ptree* impl);
00039 
00040 private:
00041     PtreeArray* tspec_list;
00042 };
00043 
00044 #endif /* _cbodywalk_h */

Generated on Mon Feb 10 17:32:44 2003 for VFiasco Semantics Compiler by doxygen1.2.15