Changes in src/Common/PassVisitor.h [af5c204a:4eb31f2b]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Common/PassVisitor.h
raf5c204a r4eb31f2b 18 18 // Templated visitor type 19 19 // To use declare a PassVisitor< YOUR VISITOR TYPE > 20 // The visitor type should specify the previsit/postvisit/premutate/postmutate for types that are desired. 21 // Note: previsit/postvisit/premutate/postmutate must be **public** members 22 // 23 // Several additional features are available through inheritance 24 // | WithTypeSubstitution - provides polymorphic TypeSubstitution * env for the current expression 25 // | WithStmtsToAdd - provides the ability to insert statements before or after the current statement by adding new statements into 26 // stmtsToAddBefore or stmtsToAddAfter respectively. 27 // | WithShortCircuiting - provides the ability to skip visiting child nodes; set skip_children to true if pre{visit,mutate} to skip visiting children 28 // | WithScopes - provides the ability to save/restore data like a LIFO stack; to save, call GuardValue with the variable to save, the variable 29 // will automatically be restored to its previous value after the corresponding postvisit/postmutate teminates. 20 // The visitor type should specify the previsit/postvisit for types that are desired. 30 21 //------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 31 22 template< typename pass_type > … … 95 86 virtual void visit( ConstructorExpr * ctorExpr ) override final; 96 87 virtual void visit( CompoundLiteralExpr *compLitExpr ) override final; 88 virtual void visit( UntypedValofExpr *valofExpr ) override final; 97 89 virtual void visit( RangeExpr *rangeExpr ) override final; 98 90 virtual void visit( UntypedTupleExpr *tupleExpr ) override final; … … 180 172 virtual Expression* mutate( ConstructorExpr *ctorExpr ) override final; 181 173 virtual Expression* mutate( CompoundLiteralExpr *compLitExpr ) override final; 174 virtual Expression* mutate( UntypedValofExpr *valofExpr ) override final; 182 175 virtual Expression* mutate( RangeExpr *rangeExpr ) override final; 183 176 virtual Expression* mutate( UntypedTupleExpr *tupleExpr ) override final;
Note:
See TracChangeset
for help on using the changeset viewer.