Changeset f80e0218 for src/SynTree/Statement.h
- Timestamp:
- Jun 30, 2016, 4:32:56 PM (9 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- ea29e73
- Parents:
- 1b5c81ed (diff), 84d4d6f (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/SynTree/Statement.h
r1b5c81ed rf80e0218 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.