Changeset 6d51bd7 for src/AST/porting.md
- Timestamp:
- May 15, 2019, 10:15:44 AM (5 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, cleanup-dtors, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- be567e9
- Parents:
- 712348a
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/AST/porting.md
r712348a r6d51bd7 8 8 ## Visitors ## 9 9 * `Visitor` and `Mutator` are combined into a single `ast::Visitor` class 10 * Base nodes now override ` Node* accept( Visitor& v ) = 0` with, e.g. `Stmt* accept( Visitor& v )override = 0`10 * Base nodes now override `const Node * accept( Visitor & v ) const = 0` with, e.g. `const Stmt * accept( Visitor & v ) const override = 0` 11 11 * `PassVisitor` is replaced with `ast::Pass` 12 12 … … 24 24 `clone` is private to `Node` now 25 25 * still needs to be overriden to return appropriate type 26 * e.g. `private: virtual Stmt* clone() const override = 0;` 26 * e.g. `private: virtual Stmt * clone() const override = 0;` 27 * because friendship is not inherited, all implementations of clone need 28 /// Must be copied in ALL derived classes 29 template<typename node_t> 30 friend auto mutate(const node_t * node); 27 31 28 32 All leaves of the `Node` inheritance tree are now declared `final`
Note: See TracChangeset
for help on using the changeset viewer.