Changes in src/SynTree/Mutator.h [2b7bf59:96f9ef5]
- File:
-
- 1 edited
-
src/SynTree/Mutator.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/SynTree/Mutator.h
r2b7bf59 r96f9ef5 25 25 virtual ~Mutator(); 26 26 public: 27 virtual DeclarationWithType * mutate( ObjectDecl *objectDecl );28 virtual DeclarationWithType * mutate( FunctionDecl *functionDecl );29 virtual Declaration * mutate( StructDecl *aggregateDecl );30 virtual Declaration * mutate( UnionDecl *aggregateDecl );31 virtual Declaration * mutate( EnumDecl *aggregateDecl );32 virtual Declaration * mutate( TraitDecl *aggregateDecl );33 virtual Declaration * mutate( TypeDecl *typeDecl );34 virtual Declaration * mutate( TypedefDecl *typeDecl );35 virtual AsmDecl * mutate( AsmDecl *asmDecl );27 virtual DeclarationWithType* mutate( ObjectDecl *objectDecl ); 28 virtual DeclarationWithType* mutate( FunctionDecl *functionDecl ); 29 virtual Declaration* mutate( StructDecl *aggregateDecl ); 30 virtual Declaration* mutate( UnionDecl *aggregateDecl ); 31 virtual Declaration* mutate( EnumDecl *aggregateDecl ); 32 virtual Declaration* mutate( TraitDecl *aggregateDecl ); 33 virtual Declaration* mutate( TypeDecl *typeDecl ); 34 virtual Declaration* mutate( TypedefDecl *typeDecl ); 35 virtual AsmDecl* mutate( AsmDecl *asmDecl ); 36 36 37 virtual CompoundStmt * mutate( CompoundStmt *compoundStmt );38 virtual Statement * mutate( ExprStmt *exprStmt );39 virtual Statement * mutate( AsmStmt *asmStmt );40 virtual Statement * mutate( IfStmt *ifStmt );41 virtual Statement * mutate( WhileStmt *whileStmt );42 virtual Statement * mutate( ForStmt *forStmt );43 virtual Statement * mutate( SwitchStmt *switchStmt );44 virtual Statement * mutate( CaseStmt *caseStmt );45 virtual Statement * mutate( BranchStmt *branchStmt );46 virtual Statement * mutate( ReturnStmt *returnStmt );47 virtual Statement * mutate( ThrowStmt *throwStmt );48 virtual Statement * mutate( TryStmt *tryStmt );49 virtual Statement * mutate( CatchStmt *catchStmt );50 virtual Statement * mutate( FinallyStmt *catchStmt );51 virtual Statement * mutate( WaitForStmt *waitforStmt );52 virtual NullStmt * mutate( NullStmt *nullStmt );53 virtual Statement * mutate( DeclStmt *declStmt );54 virtual Statement * mutate( ImplicitCtorDtorStmt *impCtorDtorStmt );37 virtual CompoundStmt* mutate( CompoundStmt *compoundStmt ); 38 virtual Statement* mutate( ExprStmt *exprStmt ); 39 virtual Statement* mutate( AsmStmt *asmStmt ); 40 virtual Statement* mutate( IfStmt *ifStmt ); 41 virtual Statement* mutate( WhileStmt *whileStmt ); 42 virtual Statement* mutate( ForStmt *forStmt ); 43 virtual Statement* mutate( SwitchStmt *switchStmt ); 44 virtual Statement* mutate( CaseStmt *caseStmt ); 45 virtual Statement* mutate( BranchStmt *branchStmt ); 46 virtual Statement* mutate( ReturnStmt *returnStmt ); 47 virtual Statement* mutate( ThrowStmt *throwStmt ); 48 virtual Statement* mutate( TryStmt *tryStmt ); 49 virtual Statement* mutate( CatchStmt *catchStmt ); 50 virtual Statement* mutate( FinallyStmt *catchStmt ); 51 virtual Statement* mutate( WaitForStmt *waitforStmt ); 52 virtual NullStmt* mutate( NullStmt *nullStmt ); 53 virtual Statement* mutate( DeclStmt *declStmt ); 54 virtual Statement* mutate( ImplicitCtorDtorStmt *impCtorDtorStmt ); 55 55 56 virtual Expression* mutate( ApplicationExpr * applicationExpr );57 virtual Expression* mutate( UntypedExpr * untypedExpr );58 virtual Expression* mutate( NameExpr * nameExpr );59 virtual Expression* mutate( AddressExpr * castExpr );60 virtual Expression* mutate( LabelAddressExpr * labAddressExpr );61 virtual Expression* mutate( CastExpr * castExpr );62 virtual Expression* mutate( VirtualCastExpr * castExpr );63 virtual Expression* mutate( UntypedMemberExpr * memberExpr );64 virtual Expression* mutate( MemberExpr * memberExpr );65 virtual Expression* mutate( VariableExpr * variableExpr );66 virtual Expression* mutate( ConstantExpr * constantExpr );67 virtual Expression* mutate( SizeofExpr * sizeofExpr );68 virtual Expression* mutate( AlignofExpr * alignofExpr );69 virtual Expression* mutate( UntypedOffsetofExpr * offsetofExpr );70 virtual Expression* mutate( OffsetofExpr * offsetofExpr );71 virtual Expression* mutate( OffsetPackExpr * offsetPackExpr );72 virtual Expression* mutate( AttrExpr * attrExpr );73 virtual Expression* mutate( LogicalExpr * logicalExpr );74 virtual Expression* mutate( ConditionalExpr * conditionalExpr );75 virtual Expression* mutate( CommaExpr * commaExpr );76 virtual Expression* mutate( TypeExpr * typeExpr );77 virtual Expression* mutate( AsmExpr * asmExpr );78 virtual Expression* mutate( ImplicitCopyCtorExpr * impCpCtorExpr );79 virtual Expression* mutate( ConstructorExpr * ctorExpr );80 virtual Expression* mutate( CompoundLiteralExpr * compLitExpr );81 virtual Expression* mutate( RangeExpr * rangeExpr );82 virtual Expression* mutate( UntypedTupleExpr * tupleExpr );83 virtual Expression* mutate( TupleExpr * tupleExpr );84 virtual Expression* mutate( TupleIndexExpr * tupleExpr );85 virtual Expression* mutate( TupleAssignExpr * assignExpr );86 virtual Expression* mutate( StmtExpr * stmtExpr );87 virtual Expression* mutate( UniqueExpr * uniqueExpr );88 virtual Expression* mutate( UntypedInitExpr * initExpr );89 virtual Expression* mutate( InitExpr * initExpr );56 virtual Expression* mutate( ApplicationExpr *applicationExpr ); 57 virtual Expression* mutate( UntypedExpr *untypedExpr ); 58 virtual Expression* mutate( NameExpr *nameExpr ); 59 virtual Expression* mutate( AddressExpr *castExpr ); 60 virtual Expression* mutate( LabelAddressExpr *labAddressExpr ); 61 virtual Expression* mutate( CastExpr *castExpr ); 62 virtual Expression* mutate( VirtualCastExpr *castExpr ); 63 virtual Expression* mutate( UntypedMemberExpr *memberExpr ); 64 virtual Expression* mutate( MemberExpr *memberExpr ); 65 virtual Expression* mutate( VariableExpr *variableExpr ); 66 virtual Expression* mutate( ConstantExpr *constantExpr ); 67 virtual Expression* mutate( SizeofExpr *sizeofExpr ); 68 virtual Expression* mutate( AlignofExpr *alignofExpr ); 69 virtual Expression* mutate( UntypedOffsetofExpr *offsetofExpr ); 70 virtual Expression* mutate( OffsetofExpr *offsetofExpr ); 71 virtual Expression* mutate( OffsetPackExpr *offsetPackExpr ); 72 virtual Expression* mutate( AttrExpr *attrExpr ); 73 virtual Expression* mutate( LogicalExpr *logicalExpr ); 74 virtual Expression* mutate( ConditionalExpr *conditionalExpr ); 75 virtual Expression* mutate( CommaExpr *commaExpr ); 76 virtual Expression* mutate( TypeExpr *typeExpr ); 77 virtual Expression* mutate( AsmExpr *asmExpr ); 78 virtual Expression* mutate( ImplicitCopyCtorExpr *impCpCtorExpr ); 79 virtual Expression* mutate( ConstructorExpr *ctorExpr ); 80 virtual Expression* mutate( CompoundLiteralExpr *compLitExpr ); 81 virtual Expression* mutate( RangeExpr *rangeExpr ); 82 virtual Expression* mutate( UntypedTupleExpr *tupleExpr ); 83 virtual Expression* mutate( TupleExpr *tupleExpr ); 84 virtual Expression* mutate( TupleIndexExpr *tupleExpr ); 85 virtual Expression* mutate( TupleAssignExpr *assignExpr ); 86 virtual Expression* mutate( StmtExpr * stmtExpr ); 87 virtual Expression* mutate( UniqueExpr * uniqueExpr ); 88 virtual Expression* mutate( UntypedInitExpr * initExpr ); 89 virtual Expression* mutate( InitExpr * initExpr ); 90 90 91 virtual Type * mutate( VoidType *basicType );92 virtual Type * mutate( BasicType *basicType );93 virtual Type * mutate( PointerType *pointerType );94 virtual Type * mutate( ArrayType *arrayType );95 virtual Type * mutate( ReferenceType *refType );96 virtual Type * mutate( FunctionType *functionType );97 virtual Type * mutate( StructInstType *aggregateUseType );98 virtual Type * mutate( UnionInstType *aggregateUseType );99 virtual Type * mutate( EnumInstType *aggregateUseType );100 virtual Type * mutate( TraitInstType *aggregateUseType );101 virtual Type * mutate( TypeInstType *aggregateUseType );102 virtual Type * mutate( TupleType *tupleType );103 virtual Type * mutate( TypeofType *typeofType );104 virtual Type * mutate( AttrType *attrType );105 virtual Type * mutate( VarArgsType *varArgsType );106 virtual Type * mutate( ZeroType *zeroType );107 virtual Type * mutate( OneType *oneType );91 virtual Type* mutate( VoidType *basicType ); 92 virtual Type* mutate( BasicType *basicType ); 93 virtual Type* mutate( PointerType *pointerType ); 94 virtual Type* mutate( ArrayType *arrayType ); 95 virtual Type* mutate( ReferenceType *refType ); 96 virtual Type* mutate( FunctionType *functionType ); 97 virtual Type* mutate( StructInstType *aggregateUseType ); 98 virtual Type* mutate( UnionInstType *aggregateUseType ); 99 virtual Type* mutate( EnumInstType *aggregateUseType ); 100 virtual Type* mutate( TraitInstType *aggregateUseType ); 101 virtual Type* mutate( TypeInstType *aggregateUseType ); 102 virtual Type* mutate( TupleType *tupleType ); 103 virtual Type* mutate( TypeofType *typeofType ); 104 virtual Type* mutate( AttrType *attrType ); 105 virtual Type* mutate( VarArgsType *varArgsType ); 106 virtual Type* mutate( ZeroType *zeroType ); 107 virtual Type* mutate( OneType *oneType ); 108 108 109 virtual Designation * mutate( Designation *designation );110 virtual Initializer * mutate( SingleInit *singleInit );111 virtual Initializer * mutate( ListInit *listInit );112 virtual Initializer * mutate( ConstructorInit *ctorInit );109 virtual Designation* mutate( Designation *designation ); 110 virtual Initializer* mutate( SingleInit *singleInit ); 111 virtual Initializer* mutate( ListInit *listInit ); 112 virtual Initializer* mutate( ConstructorInit *ctorInit ); 113 113 114 virtual Subrange * mutate( Subrange *subrange );114 virtual Subrange *mutate( Subrange *subrange ); 115 115 116 virtual Constant * mutate( Constant * constant ); 117 118 virtual Attribute * mutate( Attribute * attribute ); 116 virtual Constant *mutate( Constant *constant ); 119 117 private: 120 virtual Declaration * handleAggregateDecl(AggregateDecl *aggregateDecl );121 virtual Declaration * handleNamedTypeDecl(NamedTypeDecl *typeDecl );122 virtual Type * handleReferenceToType(ReferenceToType *aggregateUseType );118 virtual Declaration* handleAggregateDecl(AggregateDecl *aggregateDecl ); 119 virtual Declaration* handleNamedTypeDecl(NamedTypeDecl *typeDecl ); 120 virtual Type* handleReferenceToType(ReferenceToType *aggregateUseType ); 123 121 }; 124 122
Note:
See TracChangeset
for help on using the changeset viewer.