Changeset 2efe4b8 for src/SynTree/GcTracer.h
- Timestamp:
- Apr 25, 2018, 3:42:34 PM (5 years ago)
- Branches:
- new-env, with_gc
- Children:
- 1cdfa82
- Parents:
- 5af7306
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/SynTree/GcTracer.h
r5af7306 r2efe4b8 20 20 #include "BaseSyntaxNode.h" 21 21 #include "Expression.h" 22 #include "Label.h" 22 23 #include "Type.h" 23 24 … … 53 54 } 54 55 56 void postvisit( AggregateDecl* decl ) { 57 acceptAll( decl->attributes, *visitor ); 58 } 59 55 60 void postvisit( DeclarationWithType* decl ) { 56 61 maybeAccept( decl->asmName, *visitor ); … … 73 78 } 74 79 80 void postvisit( UniqueExpr* expr ) { 81 postvisit( static_cast<Expression*>(expr) ); 82 maybeAccept( expr->object, *visitor ); 83 maybeAccept( expr->var, *visitor ); 84 } 85 75 86 void postvisit( UntypedExpr* expr ) { 76 87 postvisit( static_cast<Expression*>(expr) ); … … 81 92 postvisit( static_cast<Expression*>(expr) ); 82 93 maybeAccept( expr->var, *visitor ); // not in PassVisitor because it causes cycle 94 } 95 96 private: 97 void visit( Label& lbl ) { 98 acceptAll( lbl.get_attributes(), *visitor ); 99 maybeAccept( lbl.get_statement(), *visitor ); // xxx - not sure this is needed... 100 } 101 102 public: 103 void postvisit( Statement* stmt ) { 104 for ( Label& l : stmt->labels ) { 105 visit( l ); 106 } 83 107 } 84 108
Note: See TracChangeset
for help on using the changeset viewer.