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