Changeset 5ea7a22 for src/Common
- Timestamp:
- Sep 27, 2017, 4:24:16 PM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 7fc7cdb
- Parents:
- e4ea10b7
- git-author:
- Rob Schluntz <rschlunt@…> (09/27/17 15:50:09)
- git-committer:
- Rob Schluntz <rschlunt@…> (09/27/17 16:24:16)
- Location:
- src/Common
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Common/PassVisitor.h
re4ea10b7 r5ea7a22 10 10 #include "SymTab/Indexer.h" 11 11 12 #include "SynTree/Attribute.h" 12 13 #include "SynTree/Initializer.h" 13 14 #include "SynTree/Statement.h" … … 53 54 pass_type pass; 54 55 55 virtual void visit( ObjectDecl *objectDecl ) override final; 56 virtual void visit( FunctionDecl *functionDecl ) override final; 57 virtual void visit( StructDecl *aggregateDecl ) override final; 58 virtual void visit( UnionDecl *aggregateDecl ) override final; 59 virtual void visit( EnumDecl *aggregateDecl ) override final; 60 virtual void visit( TraitDecl *aggregateDecl ) override final; 61 virtual void visit( TypeDecl *typeDecl ) override final; 62 virtual void visit( TypedefDecl *typeDecl ) override final; 63 virtual void visit( AsmDecl *asmDecl ) override final; 64 65 virtual void visit( CompoundStmt *compoundStmt ) override final; 66 virtual void visit( ExprStmt *exprStmt ) override final; 67 virtual void visit( AsmStmt *asmStmt ) override final; 68 virtual void visit( IfStmt *ifStmt ) override final; 69 virtual void visit( WhileStmt *whileStmt ) override final; 70 virtual void visit( ForStmt *forStmt ) override final; 71 virtual void visit( SwitchStmt *switchStmt ) override final; 72 virtual void visit( CaseStmt *caseStmt ) override final; 73 virtual void visit( BranchStmt *branchStmt ) override final; 74 virtual void visit( ReturnStmt *returnStmt ) override final; 75 virtual void visit( ThrowStmt *throwStmt ) override final; 76 virtual void visit( TryStmt *tryStmt ) override final; 77 virtual void visit( CatchStmt *catchStmt ) override final; 78 virtual void visit( FinallyStmt *finallyStmt ) override final; 79 virtual void visit( WaitForStmt *waitforStmt ) override final; 80 virtual void visit( NullStmt *nullStmt ) override final; 81 virtual void visit( DeclStmt *declStmt ) override final; 82 virtual void visit( ImplicitCtorDtorStmt *impCtorDtorStmt ) override final; 83 84 virtual void visit( ApplicationExpr *applicationExpr ) override final; 85 virtual void visit( UntypedExpr *untypedExpr ) override final; 86 virtual void visit( NameExpr *nameExpr ) override final; 87 virtual void visit( CastExpr *castExpr ) override final; 88 virtual void visit( VirtualCastExpr *castExpr ) override final; 89 virtual void visit( AddressExpr *addressExpr ) override final; 90 virtual void visit( LabelAddressExpr *labAddressExpr ) override final; 91 virtual void visit( UntypedMemberExpr *memberExpr ) override final; 92 virtual void visit( MemberExpr *memberExpr ) override final; 93 virtual void visit( VariableExpr *variableExpr ) override final; 94 virtual void visit( ConstantExpr *constantExpr ) override final; 95 virtual void visit( SizeofExpr *sizeofExpr ) override final; 96 virtual void visit( AlignofExpr *alignofExpr ) override final; 97 virtual void visit( UntypedOffsetofExpr *offsetofExpr ) override final; 98 virtual void visit( OffsetofExpr *offsetofExpr ) override final; 99 virtual void visit( OffsetPackExpr *offsetPackExpr ) override final; 100 virtual void visit( AttrExpr *attrExpr ) override final; 101 virtual void visit( LogicalExpr *logicalExpr ) override final; 102 virtual void visit( ConditionalExpr *conditionalExpr ) override final; 103 virtual void visit( CommaExpr *commaExpr ) override final; 104 virtual void visit( TypeExpr *typeExpr ) override final; 105 virtual void visit( AsmExpr *asmExpr ) override final; 106 virtual void visit( ImplicitCopyCtorExpr *impCpCtorExpr ) override final; 107 virtual void visit( ConstructorExpr * ctorExpr ) override final; 108 virtual void visit( CompoundLiteralExpr *compLitExpr ) override final; 109 virtual void visit( RangeExpr *rangeExpr ) override final; 110 virtual void visit( UntypedTupleExpr *tupleExpr ) override final; 111 virtual void visit( TupleExpr *tupleExpr ) override final; 112 virtual void visit( TupleIndexExpr *tupleExpr ) override final; 113 virtual void visit( TupleAssignExpr *assignExpr ) override final; 114 virtual void visit( StmtExpr * stmtExpr ) override final; 115 virtual void visit( UniqueExpr * uniqueExpr ) override final; 116 117 virtual void visit( VoidType *basicType ) override final; 118 virtual void visit( BasicType *basicType ) override final; 119 virtual void visit( PointerType *pointerType ) override final; 120 virtual void visit( ArrayType *arrayType ) override final; 121 virtual void visit( ReferenceType *referenceType ) override final; 122 virtual void visit( FunctionType *functionType ) override final; 123 virtual void visit( StructInstType *aggregateUseType ) override final; 124 virtual void visit( UnionInstType *aggregateUseType ) override final; 125 virtual void visit( EnumInstType *aggregateUseType ) override final; 126 virtual void visit( TraitInstType *aggregateUseType ) override final; 127 virtual void visit( TypeInstType *aggregateUseType ) override final; 128 virtual void visit( TupleType *tupleType ) override final; 129 virtual void visit( TypeofType *typeofType ) override final; 130 virtual void visit( AttrType *attrType ) override final; 131 virtual void visit( VarArgsType *varArgsType ) override final; 132 virtual void visit( ZeroType *zeroType ) override final; 133 virtual void visit( OneType *oneType ) override final; 134 135 virtual void visit( Designation *designation ) override final; 136 virtual void visit( SingleInit *singleInit ) override final; 137 virtual void visit( ListInit *listInit ) override final; 138 virtual void visit( ConstructorInit *ctorInit ) override final; 139 140 virtual void visit( Subrange *subrange ) override final; 141 142 virtual void visit( Constant *constant ) override final; 143 144 virtual DeclarationWithType* mutate( ObjectDecl *objectDecl ) override final; 145 virtual DeclarationWithType* mutate( FunctionDecl *functionDecl ) override final; 146 virtual Declaration* mutate( StructDecl *aggregateDecl ) override final; 147 virtual Declaration* mutate( UnionDecl *aggregateDecl ) override final; 148 virtual Declaration* mutate( EnumDecl *aggregateDecl ) override final; 149 virtual Declaration* mutate( TraitDecl *aggregateDecl ) override final; 150 virtual Declaration* mutate( TypeDecl *typeDecl ) override final; 151 virtual Declaration* mutate( TypedefDecl *typeDecl ) override final; 152 virtual AsmDecl* mutate( AsmDecl *asmDecl ) override final; 153 154 virtual CompoundStmt* mutate( CompoundStmt *compoundStmt ) override final; 155 virtual Statement* mutate( ExprStmt *exprStmt ) override final; 156 virtual Statement* mutate( AsmStmt *asmStmt ) override final; 157 virtual Statement* mutate( IfStmt *ifStmt ) override final; 158 virtual Statement* mutate( WhileStmt *whileStmt ) override final; 159 virtual Statement* mutate( ForStmt *forStmt ) override final; 160 virtual Statement* mutate( SwitchStmt *switchStmt ) override final; 161 virtual Statement* mutate( CaseStmt *caseStmt ) override final; 162 virtual Statement* mutate( BranchStmt *branchStmt ) override final; 163 virtual Statement* mutate( ReturnStmt *returnStmt ) override final; 164 virtual Statement* mutate( ThrowStmt *throwStmt ) override final; 165 virtual Statement* mutate( TryStmt *tryStmt ) override final; 166 virtual Statement* mutate( CatchStmt *catchStmt ) override final; 167 virtual Statement* mutate( FinallyStmt *finallyStmt ) override final; 168 virtual Statement* mutate( WaitForStmt *waitforStmt ) override final; 169 virtual NullStmt* mutate( NullStmt *nullStmt ) override final; 170 virtual Statement* mutate( DeclStmt *declStmt ) override final; 171 virtual Statement* mutate( ImplicitCtorDtorStmt *impCtorDtorStmt ) override final; 172 173 virtual Expression* mutate( ApplicationExpr *applicationExpr ) override final; 174 virtual Expression* mutate( UntypedExpr *untypedExpr ) override final; 175 virtual Expression* mutate( NameExpr *nameExpr ) override final; 176 virtual Expression* mutate( AddressExpr *castExpr ) override final; 177 virtual Expression* mutate( LabelAddressExpr *labAddressExpr ) override final; 178 virtual Expression* mutate( CastExpr *castExpr ) override final; 179 virtual Expression* mutate( VirtualCastExpr *castExpr ) override final; 180 virtual Expression* mutate( UntypedMemberExpr *memberExpr ) override final; 181 virtual Expression* mutate( MemberExpr *memberExpr ) override final; 182 virtual Expression* mutate( VariableExpr *variableExpr ) override final; 183 virtual Expression* mutate( ConstantExpr *constantExpr ) override final; 184 virtual Expression* mutate( SizeofExpr *sizeofExpr ) override final; 185 virtual Expression* mutate( AlignofExpr *alignofExpr ) override final; 186 virtual Expression* mutate( UntypedOffsetofExpr *offsetofExpr ) override final; 187 virtual Expression* mutate( OffsetofExpr *offsetofExpr ) override final; 188 virtual Expression* mutate( OffsetPackExpr *offsetPackExpr ) override final; 189 virtual Expression* mutate( AttrExpr *attrExpr ) override final; 190 virtual Expression* mutate( LogicalExpr *logicalExpr ) override final; 191 virtual Expression* mutate( ConditionalExpr *conditionalExpr ) override final; 192 virtual Expression* mutate( CommaExpr *commaExpr ) override final; 193 virtual Expression* mutate( TypeExpr *typeExpr ) override final; 194 virtual Expression* mutate( AsmExpr *asmExpr ) override final; 195 virtual Expression* mutate( ImplicitCopyCtorExpr *impCpCtorExpr ) override final; 196 virtual Expression* mutate( ConstructorExpr *ctorExpr ) override final; 197 virtual Expression* mutate( CompoundLiteralExpr *compLitExpr ) override final; 198 virtual Expression* mutate( RangeExpr *rangeExpr ) override final; 199 virtual Expression* mutate( UntypedTupleExpr *tupleExpr ) override final; 200 virtual Expression* mutate( TupleExpr *tupleExpr ) override final; 201 virtual Expression* mutate( TupleIndexExpr *tupleExpr ) override final; 202 virtual Expression* mutate( TupleAssignExpr *assignExpr ) override final; 203 virtual Expression* mutate( StmtExpr * stmtExpr ) override final; 204 virtual Expression* mutate( UniqueExpr * uniqueExpr ) override final; 205 206 virtual Type* mutate( VoidType *basicType ) override final; 207 virtual Type* mutate( BasicType *basicType ) override final; 208 virtual Type* mutate( PointerType *pointerType ) override final; 209 virtual Type* mutate( ArrayType *arrayType ) override final; 210 virtual Type* mutate( ReferenceType *referenceType ) override final; 211 virtual Type* mutate( FunctionType *functionType ) override final; 212 virtual Type* mutate( StructInstType *aggregateUseType ) override final; 213 virtual Type* mutate( UnionInstType *aggregateUseType ) override final; 214 virtual Type* mutate( EnumInstType *aggregateUseType ) override final; 215 virtual Type* mutate( TraitInstType *aggregateUseType ) override final; 216 virtual Type* mutate( TypeInstType *aggregateUseType ) override final; 217 virtual Type* mutate( TupleType *tupleType ) override final; 218 virtual Type* mutate( TypeofType *typeofType ) override final; 219 virtual Type* mutate( AttrType *attrType ) override final; 220 virtual Type* mutate( VarArgsType *varArgsType ) override final; 221 virtual Type* mutate( ZeroType *zeroType ) override final; 222 virtual Type* mutate( OneType *oneType ) override final; 223 224 virtual Designation* mutate( Designation *designation ) override final; 225 virtual Initializer* mutate( SingleInit *singleInit ) override final; 226 virtual Initializer* mutate( ListInit *listInit ) override final; 227 virtual Initializer* mutate( ConstructorInit *ctorInit ) override final; 228 229 virtual Subrange *mutate( Subrange *subrange ) override final; 230 231 virtual Constant *mutate( Constant *constant ) override final; 56 virtual void visit( ObjectDecl * objectDecl ) override final; 57 virtual void visit( FunctionDecl * functionDecl ) override final; 58 virtual void visit( StructDecl * aggregateDecl ) override final; 59 virtual void visit( UnionDecl * aggregateDecl ) override final; 60 virtual void visit( EnumDecl * aggregateDecl ) override final; 61 virtual void visit( TraitDecl * aggregateDecl ) override final; 62 virtual void visit( TypeDecl * typeDecl ) override final; 63 virtual void visit( TypedefDecl * typeDecl ) override final; 64 virtual void visit( AsmDecl * asmDecl ) override final; 65 66 virtual void visit( CompoundStmt * compoundStmt ) override final; 67 virtual void visit( ExprStmt * exprStmt ) override final; 68 virtual void visit( AsmStmt * asmStmt ) override final; 69 virtual void visit( IfStmt * ifStmt ) override final; 70 virtual void visit( WhileStmt * whileStmt ) override final; 71 virtual void visit( ForStmt * forStmt ) override final; 72 virtual void visit( SwitchStmt * switchStmt ) override final; 73 virtual void visit( CaseStmt * caseStmt ) override final; 74 virtual void visit( BranchStmt * branchStmt ) override final; 75 virtual void visit( ReturnStmt * returnStmt ) override final; 76 virtual void visit( ThrowStmt * throwStmt ) override final; 77 virtual void visit( TryStmt * tryStmt ) override final; 78 virtual void visit( CatchStmt * catchStmt ) override final; 79 virtual void visit( FinallyStmt * finallyStmt ) override final; 80 virtual void visit( WaitForStmt * waitforStmt ) override final; 81 virtual void visit( NullStmt * nullStmt ) override final; 82 virtual void visit( DeclStmt * declStmt ) override final; 83 virtual void visit( ImplicitCtorDtorStmt * impCtorDtorStmt ) override final; 84 85 virtual void visit( ApplicationExpr * applicationExpr ) override final; 86 virtual void visit( UntypedExpr * untypedExpr ) override final; 87 virtual void visit( NameExpr * nameExpr ) override final; 88 virtual void visit( CastExpr * castExpr ) override final; 89 virtual void visit( VirtualCastExpr * castExpr ) override final; 90 virtual void visit( AddressExpr * addressExpr ) override final; 91 virtual void visit( LabelAddressExpr * labAddressExpr ) override final; 92 virtual void visit( UntypedMemberExpr * memberExpr ) override final; 93 virtual void visit( MemberExpr * memberExpr ) override final; 94 virtual void visit( VariableExpr * variableExpr ) override final; 95 virtual void visit( ConstantExpr * constantExpr ) override final; 96 virtual void visit( SizeofExpr * sizeofExpr ) override final; 97 virtual void visit( AlignofExpr * alignofExpr ) override final; 98 virtual void visit( UntypedOffsetofExpr * offsetofExpr ) override final; 99 virtual void visit( OffsetofExpr * offsetofExpr ) override final; 100 virtual void visit( OffsetPackExpr * offsetPackExpr ) override final; 101 virtual void visit( AttrExpr * attrExpr ) override final; 102 virtual void visit( LogicalExpr * logicalExpr ) override final; 103 virtual void visit( ConditionalExpr * conditionalExpr ) override final; 104 virtual void visit( CommaExpr * commaExpr ) override final; 105 virtual void visit( TypeExpr * typeExpr ) override final; 106 virtual void visit( AsmExpr * asmExpr ) override final; 107 virtual void visit( ImplicitCopyCtorExpr * impCpCtorExpr ) override final; 108 virtual void visit( ConstructorExpr * ctorExpr ) override final; 109 virtual void visit( CompoundLiteralExpr * compLitExpr ) override final; 110 virtual void visit( RangeExpr * rangeExpr ) override final; 111 virtual void visit( UntypedTupleExpr * tupleExpr ) override final; 112 virtual void visit( TupleExpr * tupleExpr ) override final; 113 virtual void visit( TupleIndexExpr * tupleExpr ) override final; 114 virtual void visit( TupleAssignExpr * assignExpr ) override final; 115 virtual void visit( StmtExpr * stmtExpr ) override final; 116 virtual void visit( UniqueExpr * uniqueExpr ) override final; 117 118 virtual void visit( VoidType * basicType ) override final; 119 virtual void visit( BasicType * basicType ) override final; 120 virtual void visit( PointerType * pointerType ) override final; 121 virtual void visit( ArrayType * arrayType ) override final; 122 virtual void visit( ReferenceType * referenceType ) override final; 123 virtual void visit( FunctionType * functionType ) override final; 124 virtual void visit( StructInstType * aggregateUseType ) override final; 125 virtual void visit( UnionInstType * aggregateUseType ) override final; 126 virtual void visit( EnumInstType * aggregateUseType ) override final; 127 virtual void visit( TraitInstType * aggregateUseType ) override final; 128 virtual void visit( TypeInstType * aggregateUseType ) override final; 129 virtual void visit( TupleType * tupleType ) override final; 130 virtual void visit( TypeofType * typeofType ) override final; 131 virtual void visit( AttrType * attrType ) override final; 132 virtual void visit( VarArgsType * varArgsType ) override final; 133 virtual void visit( ZeroType * zeroType ) override final; 134 virtual void visit( OneType * oneType ) override final; 135 136 virtual void visit( Designation * designation ) override final; 137 virtual void visit( SingleInit * singleInit ) override final; 138 virtual void visit( ListInit * listInit ) override final; 139 virtual void visit( ConstructorInit * ctorInit ) override final; 140 141 virtual void visit( Subrange * subrange ) override final; 142 143 virtual void visit( Constant * constant ) override final; 144 145 virtual void visit( Attribute * attribute ) override final; 146 147 virtual DeclarationWithType * mutate( ObjectDecl * objectDecl ) override final; 148 virtual DeclarationWithType * mutate( FunctionDecl * functionDecl ) override final; 149 virtual Declaration * mutate( StructDecl * aggregateDecl ) override final; 150 virtual Declaration * mutate( UnionDecl * aggregateDecl ) override final; 151 virtual Declaration * mutate( EnumDecl * aggregateDecl ) override final; 152 virtual Declaration * mutate( TraitDecl * aggregateDecl ) override final; 153 virtual Declaration * mutate( TypeDecl * typeDecl ) override final; 154 virtual Declaration * mutate( TypedefDecl * typeDecl ) override final; 155 virtual AsmDecl * mutate( AsmDecl * asmDecl ) override final; 156 157 virtual CompoundStmt * mutate( CompoundStmt * compoundStmt ) override final; 158 virtual Statement * mutate( ExprStmt * exprStmt ) override final; 159 virtual Statement * mutate( AsmStmt * asmStmt ) override final; 160 virtual Statement * mutate( IfStmt * ifStmt ) override final; 161 virtual Statement * mutate( WhileStmt * whileStmt ) override final; 162 virtual Statement * mutate( ForStmt * forStmt ) override final; 163 virtual Statement * mutate( SwitchStmt * switchStmt ) override final; 164 virtual Statement * mutate( CaseStmt * caseStmt ) override final; 165 virtual Statement * mutate( BranchStmt * branchStmt ) override final; 166 virtual Statement * mutate( ReturnStmt * returnStmt ) override final; 167 virtual Statement * mutate( ThrowStmt * throwStmt ) override final; 168 virtual Statement * mutate( TryStmt * tryStmt ) override final; 169 virtual Statement * mutate( CatchStmt * catchStmt ) override final; 170 virtual Statement * mutate( FinallyStmt * finallyStmt ) override final; 171 virtual Statement * mutate( WaitForStmt * waitforStmt ) override final; 172 virtual NullStmt * mutate( NullStmt * nullStmt ) override final; 173 virtual Statement * mutate( DeclStmt * declStmt ) override final; 174 virtual Statement * mutate( ImplicitCtorDtorStmt * impCtorDtorStmt ) override final; 175 176 virtual Expression * mutate( ApplicationExpr * applicationExpr ) override final; 177 virtual Expression * mutate( UntypedExpr * untypedExpr ) override final; 178 virtual Expression * mutate( NameExpr * nameExpr ) override final; 179 virtual Expression * mutate( AddressExpr * castExpr ) override final; 180 virtual Expression * mutate( LabelAddressExpr * labAddressExpr ) override final; 181 virtual Expression * mutate( CastExpr * castExpr ) override final; 182 virtual Expression * mutate( VirtualCastExpr * castExpr ) override final; 183 virtual Expression * mutate( UntypedMemberExpr * memberExpr ) override final; 184 virtual Expression * mutate( MemberExpr * memberExpr ) override final; 185 virtual Expression * mutate( VariableExpr * variableExpr ) override final; 186 virtual Expression * mutate( ConstantExpr * constantExpr ) override final; 187 virtual Expression * mutate( SizeofExpr * sizeofExpr ) override final; 188 virtual Expression * mutate( AlignofExpr * alignofExpr ) override final; 189 virtual Expression * mutate( UntypedOffsetofExpr * offsetofExpr ) override final; 190 virtual Expression * mutate( OffsetofExpr * offsetofExpr ) override final; 191 virtual Expression * mutate( OffsetPackExpr * offsetPackExpr ) override final; 192 virtual Expression * mutate( AttrExpr * attrExpr ) override final; 193 virtual Expression * mutate( LogicalExpr * logicalExpr ) override final; 194 virtual Expression * mutate( ConditionalExpr * conditionalExpr ) override final; 195 virtual Expression * mutate( CommaExpr * commaExpr ) override final; 196 virtual Expression * mutate( TypeExpr * typeExpr ) override final; 197 virtual Expression * mutate( AsmExpr * asmExpr ) override final; 198 virtual Expression * mutate( ImplicitCopyCtorExpr * impCpCtorExpr ) override final; 199 virtual Expression * mutate( ConstructorExpr * ctorExpr ) override final; 200 virtual Expression * mutate( CompoundLiteralExpr * compLitExpr ) override final; 201 virtual Expression * mutate( RangeExpr * rangeExpr ) override final; 202 virtual Expression * mutate( UntypedTupleExpr * tupleExpr ) override final; 203 virtual Expression * mutate( TupleExpr * tupleExpr ) override final; 204 virtual Expression * mutate( TupleIndexExpr * tupleExpr ) override final; 205 virtual Expression * mutate( TupleAssignExpr * assignExpr ) override final; 206 virtual Expression * mutate( StmtExpr * stmtExpr ) override final; 207 virtual Expression * mutate( UniqueExpr * uniqueExpr ) override final; 208 209 virtual Type * mutate( VoidType * basicType ) override final; 210 virtual Type * mutate( BasicType * basicType ) override final; 211 virtual Type * mutate( PointerType * pointerType ) override final; 212 virtual Type * mutate( ArrayType * arrayType ) override final; 213 virtual Type * mutate( ReferenceType * referenceType ) override final; 214 virtual Type * mutate( FunctionType * functionType ) override final; 215 virtual Type * mutate( StructInstType * aggregateUseType ) override final; 216 virtual Type * mutate( UnionInstType * aggregateUseType ) override final; 217 virtual Type * mutate( EnumInstType * aggregateUseType ) override final; 218 virtual Type * mutate( TraitInstType * aggregateUseType ) override final; 219 virtual Type * mutate( TypeInstType * aggregateUseType ) override final; 220 virtual Type * mutate( TupleType * tupleType ) override final; 221 virtual Type * mutate( TypeofType * typeofType ) override final; 222 virtual Type * mutate( AttrType * attrType ) override final; 223 virtual Type * mutate( VarArgsType * varArgsType ) override final; 224 virtual Type * mutate( ZeroType * zeroType ) override final; 225 virtual Type * mutate( OneType * oneType ) override final; 226 227 virtual Designation * mutate( Designation * designation ) override final; 228 virtual Initializer * mutate( SingleInit * singleInit ) override final; 229 virtual Initializer * mutate( ListInit * listInit ) override final; 230 virtual Initializer * mutate( ConstructorInit * ctorInit ) override final; 231 232 virtual Subrange * mutate( Subrange * subrange ) override final; 233 234 virtual Constant * mutate( Constant * constant ) override final; 235 236 virtual Attribute * mutate( Attribute * attribute ) override final; 232 237 233 238 private: -
src/Common/PassVisitor.impl.h
re4ea10b7 r5ea7a22 321 321 maybeAccept ( node->init , *this ); 322 322 maybeAccept ( node->bitfieldWidth, *this ); 323 maybeAccept ( node->attributes , *this ); 323 324 324 325 if ( node->name != "" ) { … … 336 337 maybeMutateRef ( node->init , *this ); 337 338 maybeMutateRef ( node->bitfieldWidth, *this ); 339 maybeMutateRef ( node->attributes , *this ); 338 340 339 341 if ( node->name != "" ) { … … 358 360 maybeAccept( node->type, *this ); 359 361 maybeAccept( node->statements, *this ); 362 maybeAccept( node->attributes, *this ); 360 363 } 361 364 … … 375 378 maybeMutateRef( node->type, *this ); 376 379 maybeMutateRef( node->statements, *this ); 380 maybeMutateRef( node->attributes, *this ); 377 381 } 378 382 … … 1984 1988 } 1985 1989 1990 template< typename pass_type > 1991 void PassVisitor< pass_type >::visit( Attribute * node ) { 1992 VISIT_BODY( node ); 1993 } 1994 1986 1995 //--------------------------------------------------------------------------------------------------------------- 1987 1996 template< typename pass_type > … … 2069 2078 MUTATE_BODY( Constant, node ); 2070 2079 } 2080 2081 template< typename pass_type > 2082 Attribute * PassVisitor< pass_type >::mutate( Attribute * node ) { 2083 MUTATE_BODY( Attribute, node ); 2084 }
Note: See TracChangeset
for help on using the changeset viewer.