Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/InitTweak/GenInit.cc

    r62e5546 rdcd73d1  
    3636        }
    3737
    38         class ReturnFixer final : public GenPoly::PolyMutator {
     38        class ReturnFixer : public GenPoly::PolyMutator {
    3939          public:
    4040                /// consistently allocates a temporary variable for the return value
     
    4545                ReturnFixer();
    4646
    47                 using GenPoly::PolyMutator::mutate;
    48                 virtual DeclarationWithType * mutate( FunctionDecl *functionDecl ) override;
    49                 virtual Statement * mutate( ReturnStmt * returnStmt ) override;
     47                virtual DeclarationWithType * mutate( FunctionDecl *functionDecl );
     48
     49                virtual Statement * mutate( ReturnStmt * returnStmt );
    5050
    5151          protected:
     
    5555        };
    5656
    57         class CtorDtor final : public GenPoly::PolyMutator {
     57        class CtorDtor : public GenPoly::PolyMutator {
    5858          public:
    5959                typedef GenPoly::PolyMutator Parent;
     
    6565                static void generateCtorDtor( std::list< Declaration * > &translationUnit );
    6666
    67                 virtual DeclarationWithType * mutate( ObjectDecl * ) override;
    68                 virtual DeclarationWithType * mutate( FunctionDecl *functionDecl ) override;
     67                virtual DeclarationWithType * mutate( ObjectDecl * );
     68                virtual DeclarationWithType * mutate( FunctionDecl *functionDecl );
    6969                // should not traverse into any of these declarations to find objects
    7070                // that need to be constructed or destructed
    71                 virtual Declaration* mutate( StructDecl *aggregateDecl ) override;
    72                 virtual Declaration* mutate( UnionDecl *aggregateDecl ) override { return aggregateDecl; }
    73                 virtual Declaration* mutate( EnumDecl *aggregateDecl ) override { return aggregateDecl; }
    74                 virtual Declaration* mutate( TraitDecl *aggregateDecl ) override { return aggregateDecl; }
    75                 virtual TypeDecl* mutate( TypeDecl *typeDecl ) override { return typeDecl; }
    76                 virtual Declaration* mutate( TypedefDecl *typeDecl ) override { return typeDecl; }
    77 
    78                 virtual Type * mutate( FunctionType *funcType ) override { return funcType; }
    79 
    80                 virtual CompoundStmt * mutate( CompoundStmt * compoundStmt ) override;
     71                virtual Declaration* mutate( StructDecl *aggregateDecl );
     72                virtual Declaration* mutate( UnionDecl *aggregateDecl ) { return aggregateDecl; }
     73                virtual Declaration* mutate( EnumDecl *aggregateDecl ) { return aggregateDecl; }
     74                virtual Declaration* mutate( TraitDecl *aggregateDecl ) { return aggregateDecl; }
     75                virtual TypeDecl* mutate( TypeDecl *typeDecl ) { return typeDecl; }
     76                virtual Declaration* mutate( TypedefDecl *typeDecl ) { return typeDecl; }
     77
     78                virtual Type * mutate( FunctionType *funcType ) { return funcType; }
     79
     80                virtual CompoundStmt * mutate( CompoundStmt * compoundStmt );
    8181
    8282          private:
     
    9191        };
    9292
    93         class HoistArrayDimension final : public GenPoly::DeclMutator {
     93        class HoistArrayDimension : public GenPoly::DeclMutator {
    9494          public:
    9595                typedef GenPoly::DeclMutator Parent;
     
    101101
    102102          private:
    103                 using Parent::mutate;
    104 
    105                 virtual DeclarationWithType * mutate( ObjectDecl * objectDecl ) override;
    106                 virtual DeclarationWithType * mutate( FunctionDecl *functionDecl ) override;
     103                virtual DeclarationWithType * mutate( ObjectDecl * objectDecl );
     104                virtual DeclarationWithType * mutate( FunctionDecl *functionDecl );
    107105                // should not traverse into any of these declarations to find objects
    108106                // that need to be constructed or destructed
    109                 virtual Declaration* mutate( StructDecl *aggregateDecl ) override { return aggregateDecl; }
    110                 virtual Declaration* mutate( UnionDecl *aggregateDecl ) override { return aggregateDecl; }
    111                 virtual Declaration* mutate( EnumDecl *aggregateDecl ) override { return aggregateDecl; }
    112                 virtual Declaration* mutate( TraitDecl *aggregateDecl ) override { return aggregateDecl; }
    113                 virtual TypeDecl* mutate( TypeDecl *typeDecl ) override { return typeDecl; }
    114                 virtual Declaration* mutate( TypedefDecl *typeDecl ) override { return typeDecl; }
    115 
    116                 virtual Type* mutate( FunctionType *funcType ) override { return funcType; }
     107                virtual Declaration* mutate( StructDecl *aggregateDecl ) { return aggregateDecl; }
     108                virtual Declaration* mutate( UnionDecl *aggregateDecl ) { return aggregateDecl; }
     109                virtual Declaration* mutate( EnumDecl *aggregateDecl ) { return aggregateDecl; }
     110                virtual Declaration* mutate( TraitDecl *aggregateDecl ) { return aggregateDecl; }
     111                virtual TypeDecl* mutate( TypeDecl *typeDecl ) { return typeDecl; }
     112                virtual Declaration* mutate( TypedefDecl *typeDecl ) { return typeDecl; }
     113
     114                virtual Type* mutate( FunctionType *funcType ) { return funcType; }
    117115
    118116                void hoist( Type * type );
Note: See TracChangeset for help on using the changeset viewer.