Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SynTree/Mutator.h

    r7f5566b r8688ce1  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // Mutator.h -- 
     7// Mutator.h --
    88//
    99// Author           : Richard C. Bilson
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Jul 23 23:24:18 2015
    13 // Update Count     : 7
     12// Last Modified On : Wed Aug  3 16:59:45 2016
     13// Update Count     : 12
    1414//
    1515#include <cassert>
    1616
    1717#include "SynTree.h"
    18 #include "SemanticError.h"
     18#include "Common/SemanticError.h"
    1919
    2020#ifndef MUTATOR_H
     
    3131        virtual Declaration* mutate( UnionDecl *aggregateDecl );
    3232        virtual Declaration* mutate( EnumDecl *aggregateDecl );
    33         virtual Declaration* mutate( ContextDecl *aggregateDecl );
     33        virtual Declaration* mutate( TraitDecl *aggregateDecl );
    3434        virtual TypeDecl* mutate( TypeDecl *typeDecl );
    3535        virtual Declaration* mutate( TypedefDecl *typeDecl );
     
    4242        virtual Statement* mutate( ForStmt *forStmt );
    4343        virtual Statement* mutate( SwitchStmt *switchStmt );
    44         virtual Statement* mutate( ChooseStmt *chooseStmt );
    45         virtual Statement* mutate( FallthruStmt *fallthruStmt );
    4644        virtual Statement* mutate( CaseStmt *caseStmt );
    4745        virtual Statement* mutate( BranchStmt *branchStmt );
     
    5250        virtual NullStmt* mutate( NullStmt *nullStmt );
    5351        virtual Statement* mutate( DeclStmt *declStmt );
     52        virtual Statement* mutate( ImplicitCtorDtorStmt *impCtorDtorStmt );
    5453
    5554        virtual Expression* mutate( ApplicationExpr *applicationExpr );
     
    6261        virtual Expression* mutate( MemberExpr *memberExpr );
    6362        virtual Expression* mutate( VariableExpr *variableExpr );
    64         virtual Expression* mutate( ConstantExpr *constantExpr ); 
     63        virtual Expression* mutate( ConstantExpr *constantExpr );
    6564        virtual Expression* mutate( SizeofExpr *sizeofExpr );
     65        virtual Expression* mutate( AlignofExpr *alignofExpr );
     66        virtual Expression* mutate( UntypedOffsetofExpr *offsetofExpr );
     67        virtual Expression* mutate( OffsetofExpr *offsetofExpr );
     68        virtual Expression* mutate( OffsetPackExpr *offsetPackExpr );
    6669        virtual Expression* mutate( AttrExpr *attrExpr );
    6770        virtual Expression* mutate( LogicalExpr *logicalExpr );
     
    7275        virtual Expression* mutate( TypeExpr *typeExpr );
    7376        virtual Expression* mutate( AsmExpr *asmExpr );
     77        virtual Expression* mutate( ImplicitCopyCtorExpr *impCpCtorExpr );
    7478        virtual Expression* mutate( UntypedValofExpr *valofExpr );
     79        virtual Expression* mutate( CompoundLiteralExpr *compLitExpr );
     80        virtual Expression* mutate( RangeExpr *rangeExpr );
    7581
    7682        virtual Type* mutate( VoidType *basicType );
     
    8288        virtual Type* mutate( UnionInstType *aggregateUseType );
    8389        virtual Type* mutate( EnumInstType *aggregateUseType );
    84         virtual Type* mutate( ContextInstType *aggregateUseType );
     90        virtual Type* mutate( TraitInstType *aggregateUseType );
    8591        virtual Type* mutate( TypeInstType *aggregateUseType );
    8692        virtual Type* mutate( TupleType *tupleType );
    8793        virtual Type* mutate( TypeofType *typeofType );
    8894        virtual Type* mutate( AttrType *attrType );
     95        virtual Type* mutate( VarArgsType *varArgsType );
    8996
    9097        virtual Initializer* mutate( SingleInit *singleInit );
    9198        virtual Initializer* mutate( ListInit *listInit );
     99        virtual Initializer* mutate( ConstructorInit *ctorInit );
    92100
    93101        virtual Subrange *mutate( Subrange *subrange );
     
    103111inline TreeType *maybeMutate( TreeType *tree, MutatorType &mutator ) {
    104112        if ( tree ) {
    105                 TreeType *newnode = dynamic_cast< TreeType* >( tree->acceptMutator( mutator ) );
     113                TreeType *newnode = dynamic_cast< TreeType * >( tree->acceptMutator( mutator ) );
    106114                assert( newnode );
    107115                return newnode;
Note: See TracChangeset for help on using the changeset viewer.