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

emethodcall.h

Go to the documentation of this file.
00001 
00002 //
00003 //  Borland C++ 5.5, GNU C++ 3.0
00004 //  Compiler Backend Library
00005 //  $Id: emethodcall_8h-source.html,v 1.1 2002/07/18 14:58:45 cparpart Exp $
00006 //
00007 //  Copyright (c) 2000-2002 SurakWare Corp.
00008 //
00010 #ifndef sw_cbl_codetree_emethodcall_h
00011 #define sw_cbl_codetree_emethodcall_h
00012 
00013 #include 
00014 
00015 #include 
00016 
00017 namespace cbl {
00018 namespace codetree {
00019 
00020 namespace symbols {
00021     class TMethodSym;
00022 }
00023 
00024 namespace expr {
00025 
00026 // TMethodCallExpr
00027 class TMethodCallExpr : public TExpression {
00028 protected:
00029     typedef std::deque TExprList;
00030     
00031 private:
00032     symbols::TMethodSym *FMethod;
00033     TExpression *FSelf;
00034     TExprList FArguments;
00035 
00036 protected:
00037     TMethodCallExpr(symbols::TModuleSym *AOwner, symbols::TMethodSym *AMethod, 
00038         const TExprList& AArguments, TExpression *ASelf = 0);
00039 
00040     friend class symbols::TModuleSym;
00041 
00042 public:
00043     // method
00044     const symbols::TMethodSym *method() const;
00045 
00046     // self
00047     void self(TExpression *);
00048     const TExpression *self() const;
00049 
00050     // arguments
00051     const TExprList& arguments();
00052     void arguments(const TExprList&);
00053 
00054     // visitor pattern
00055     virtual void accept(TExprVisitor&);
00056 };
00057 
00058 } // namespace expr
00059 } // namespace codetree
00060 } // namespace cbl
00061 
00062 #endif

Generated on Sat Apr 6 19:07:25 2002 for Compiler Backend Library by doxygen1.2.14 written by , © 1997-2002