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| // ClassBodyWalker is only used by ClassWalker::TranslateClassSpec.
   21| 
   22| class ClassBodyWalker : public ClassWalker {
   23| public:
   24|     ClassBodyWalker(Walker* w, PtreeArray* tlist) : ClassWalker(w) {
   25|         tspec_list = tlist;
   26|     }
   27|     PtreeTranslateClassBody(Ptree* block, Ptree* bases, Class*);
   28|     void AppendNewMembers(Class*, PtreeArray&, bool&);
   29|     PtreeTranslateTypespecifier(Ptree* tspec);
   30|     PtreeTranslateTypedef(Ptree* def);
   31|     PtreeTranslateMetaclassDecl(Ptree* decl);
   32|     PtreeTranslateDeclarators(Ptree* decls);
   33|     PtreeTranslateAssignInitializer(PtreeDeclarator* decl, Ptree* init);
   34|     PtreeTranslateInitializeArgs(PtreeDeclarator* decl, Ptree* init);
   35|     PtreeTranslateDeclarator(bool record, PtreeDeclarator* decl);
   36|     PtreeTranslateDeclarator(bool record, PtreeDeclarator* decl,
   37|                          bool append_body);
   38|     PtreeTranslateFunctionImplementation(Ptree* impl);
   39| 
   40| private:
   41|     PtreeArraytspec_list;
   42| };
   43| 
   44| #endif /* _cbodywalk_h */