Changes in src/ControlStruct/MLEMutator.h [9d6317f:720a007]
- File:
-
- 1 edited
-
src/ControlStruct/MLEMutator.h (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/ControlStruct/MLEMutator.h
r9d6317f r720a007 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Andrew Beach12 // Last Modified On : Wed Jan 22 11:50:00 202013 // Update Count : 4 811 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Mar 8 16:42:32 2018 13 // Update Count : 41 14 14 // 15 15 … … 30 30 class LabelGenerator; 31 31 32 class MultiLevelExitMutator : public WithVisitorRef<MultiLevelExitMutator>, 33 public WithShortCircuiting, public WithGuards { 32 class MLEMutator : public WithVisitorRef<MLEMutator>, public WithShortCircuiting, public WithGuards { 34 33 public: 35 34 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(); 41 37 42 38 void premutate( CompoundStmt *cmpndStmt ); … … 51 47 void premutate( SwitchStmt *switchStmt ); 52 48 Statement * postmutate( SwitchStmt *switchStmt ); 53 void premutate( ReturnStmt *returnStmt );54 void premutate( TryStmt *tryStmt );55 Statement * postmutate( TryStmt *tryStmt );56 void premutate( FinallyStmt *finallyStmt );57 49 58 50 Statement *mutateLoop( Statement *bodyLoop, Entry &e ); … … 81 73 explicit Entry( SwitchStmt *stmt, Label breakExit, Label fallDefaultExit ) : 82 74 stmt( stmt ), breakExit( breakExit ), fallDefaultExit( fallDefaultExit ) {} 83 84 explicit Entry( TryStmt *stmt, Label breakExit ) :85 stmt( stmt ), breakExit( breakExit ) {}86 75 87 76 bool operator==( const Statement *other ) { return stmt == other; } … … 116 105 Label breakLabel; 117 106 LabelGenerator *generator; 118 bool inFinally = false;119 107 120 108 template< typename LoopClass >
Note:
See TracChangeset
for help on using the changeset viewer.