Changes in src/AST/Stmt.hpp [37cdd97:6cebfef]
- File:
-
- 1 edited
-
src/AST/Stmt.hpp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/AST/Stmt.hpp
r37cdd97 r6cebfef 27 27 28 28 // Must be included in *all* AST classes; should be #undef'd at the end of the file 29 #define MUTATE_FRIEND template<typename node_t> friend node_t * mutate(const node_t * node); 29 #define MUTATE_FRIEND \ 30 template<typename node_t> friend node_t * mutate(const node_t * node); \ 31 template<typename node_t> friend node_t * shallowCopy(const node_t * node); 30 32 31 33 namespace ast { … … 412 414 class ImplicitCtorDtorStmt final : public Stmt { 413 415 public: 414 readonly<Stmt> callStmt;416 ptr<Stmt> callStmt; 415 417 416 418 ImplicitCtorDtorStmt( const CodeLocation & loc, const Stmt * callStmt, … … 421 423 private: 422 424 ImplicitCtorDtorStmt * clone() const override { return new ImplicitCtorDtorStmt{ *this }; } 425 MUTATE_FRIEND 426 }; 427 428 /// Mutex Statement 429 class MutexStmt final : public Stmt { 430 public: 431 ptr<Stmt> stmt; 432 std::vector<ptr<Expr>> mutexObjs; 433 434 MutexStmt( const CodeLocation & loc, const Stmt * stmt, 435 std::vector<ptr<Expr>> && mutexes, std::vector<Label> && labels = {} ) 436 : Stmt(loc, std::move(labels)), stmt(stmt), mutexObjs(std::move(mutexes)) {} 437 438 const Stmt * accept( Visitor & v ) const override { return v.visit( this ); } 439 private: 440 MutexStmt * clone() const override { return new MutexStmt{ *this }; } 423 441 MUTATE_FRIEND 424 442 };
Note:
See TracChangeset
for help on using the changeset viewer.