Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SynTree/Statement.h

    r0f8e4ac r3be261a  
    2121#include "Mutator.h"
    2222#include "Common/SemanticError.h"
    23 #include "Type.h"
    24 #include "Label.h"
    2523
    2624class Statement {
     
    396394        virtual ~DeclStmt();
    397395
    398         Declaration *get_decl() const { return decl; }
     396        Declaration *get_decl() { return decl; }
    399397        void set_decl( Declaration *newValue ) { decl = newValue; }
    400398
     
    406404        Declaration *decl;
    407405};
    408 
    409 
    410 /// represents an implicit application of a constructor or destructor. Qualifiers are replaced
    411 /// immediately before and after the call so that qualified objects can be constructed
    412 /// with the same functions as unqualified objects.
    413 class ImplicitCtorDtorStmt : public Statement {
    414   public:
    415         ImplicitCtorDtorStmt( Statement * callStmt );
    416         ImplicitCtorDtorStmt( const ImplicitCtorDtorStmt & other );
    417         virtual ~ImplicitCtorDtorStmt();
    418 
    419         Statement *get_callStmt() const { return callStmt; }
    420         void set_callStmt( Statement * newValue ) { callStmt = newValue; }
    421 
    422         virtual ImplicitCtorDtorStmt *clone() const { return new ImplicitCtorDtorStmt( *this ); }
    423         virtual void accept( Visitor &v ) { v.visit( this ); }
    424         virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    425         virtual void print( std::ostream &os, int indent = 0 ) const;
    426 
    427   private:
    428         // Non-owned pointer to the constructor/destructor statement
    429         Statement * callStmt;
    430 };
    431 
    432406
    433407std::ostream & operator<<( std::ostream & out, Statement * statement );
Note: See TracChangeset for help on using the changeset viewer.