Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ControlStruct/MLEMutator.h

    r9d6317f r720a007  
    99// Author           : Rodolfo G. Esteves
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Andrew Beach
    12 // Last Modified On : Wed Jan 22 11:50:00 2020
    13 // Update Count     : 48
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Thu Mar  8 16:42:32 2018
     13// Update Count     : 41
    1414//
    1515
     
    3030        class LabelGenerator;
    3131
    32         class MultiLevelExitMutator : public WithVisitorRef<MultiLevelExitMutator>,
    33                         public WithShortCircuiting, public WithGuards {
     32        class MLEMutator : public WithVisitorRef<MLEMutator>, public WithShortCircuiting, public WithGuards {
    3433          public:
    3534                class Entry;
    36                 MultiLevelExitMutator( std::map<Label, Statement *> *t, LabelGenerator *gen = 0 ) :
    37                         targetTable( t ), breakLabel(std::string("")), generator( gen ) {}
    38                 ~MultiLevelExitMutator();
    39 
    40                 void premutate( FunctionDecl * );
     35                MLEMutator( std::map<Label, Statement *> *t, LabelGenerator *gen = 0 ) : targetTable( t ), breakLabel(std::string("")), generator( gen ) {}
     36                ~MLEMutator();
    4137
    4238                void premutate( CompoundStmt *cmpndStmt );
     
    5147                void premutate( SwitchStmt *switchStmt );
    5248                Statement * postmutate( SwitchStmt *switchStmt );
    53                 void premutate( ReturnStmt *returnStmt );
    54                 void premutate( TryStmt *tryStmt );
    55                 Statement * postmutate( TryStmt *tryStmt );
    56                 void premutate( FinallyStmt *finallyStmt );
    5749
    5850                Statement *mutateLoop( Statement *bodyLoop, Entry &e );
     
    8173                        explicit Entry( SwitchStmt *stmt, Label breakExit, Label fallDefaultExit ) :
    8274                                stmt( stmt ), breakExit( breakExit ), fallDefaultExit( fallDefaultExit ) {}
    83 
    84                         explicit Entry( TryStmt *stmt, Label breakExit ) :
    85                                 stmt( stmt ), breakExit( breakExit ) {}
    8675
    8776                        bool operator==( const Statement *other ) { return stmt == other; }
     
    116105                Label breakLabel;
    117106                LabelGenerator *generator;
    118                 bool inFinally = false;
    119107
    120108                template< typename LoopClass >
Note: See TracChangeset for help on using the changeset viewer.