Modules |
Files |
Inheritance Tree |
Inheritance Graph |
Name Index |
Config
File: Synopsis/Parser/C++/occ/cbodywalk.h
1| /*
2| Copyright (C) 1997-2000 Shigeru Chiba, University of Tsukuba.
3|
4| Permission to use, copy, distribute and modify this software and
5| its documentation for any purpose is hereby granted without fee,
6| provided that the above copyright notice appear in all copies and that
7| both that copyright notice and this permission notice appear in
8| supporting documentation.
9|
10| Shigeru Chiba makes no representations about the suitability of this
11| software for any purpose. It is provided "as is" without express or
12| implied warranty.
13| */
14|
15| #ifndef _cbodywalk_h
16| #define _cbodywalk_h
17|
18| #include "classwalk.h"
19|
20|
21|
22| class ClassBodyWalker : public ClassWalker {
23| public:
24| ClassBodyWalker(Walker* w, PtreeArray* tlist) : ClassWalker(w) {
25| tspec_list = tlist;
26| }
27| Ptree* TranslateClassBody(Ptree* block, Ptree* bases, Class*);
28| void AppendNewMembers(Class*, PtreeArray&, bool&);
29| Ptree* TranslateTypespecifier(Ptree* tspec);
30| Ptree* TranslateTypedef(Ptree* def);
31| Ptree* TranslateMetaclassDecl(Ptree* decl);
32| Ptree* TranslateDeclarators(Ptree* decls);
33| Ptree* TranslateAssignInitializer(PtreeDeclarator* decl, Ptree* init);
34| Ptree* TranslateInitializeArgs(PtreeDeclarator* decl, Ptree* init);
35| Ptree* TranslateDeclarator(bool record, PtreeDeclarator* decl);
36| Ptree* TranslateDeclarator(bool record, PtreeDeclarator* decl,
37| bool append_body);
38| Ptree* TranslateFunctionImplementation(Ptree* impl);
39|
40| private:
41| PtreeArray* tspec_list;
42| };
43|
44| #endif /* _cbodywalk_h */