Changes in src/SynTree/Statement.h [3be261a:0f8e4ac]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/SynTree/Statement.h
r3be261a r0f8e4ac 21 21 #include "Mutator.h" 22 22 #include "Common/SemanticError.h" 23 #include "Type.h" 24 #include "Label.h" 23 25 24 26 class Statement { … … 394 396 virtual ~DeclStmt(); 395 397 396 Declaration *get_decl() { return decl; }398 Declaration *get_decl() const { return decl; } 397 399 void set_decl( Declaration *newValue ) { decl = newValue; } 398 400 … … 404 406 Declaration *decl; 405 407 }; 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 406 432 407 433 std::ostream & operator<<( std::ostream & out, Statement * statement );
Note:
See TracChangeset
for help on using the changeset viewer.