Changes in src/ControlStruct/MLEMutator.h [d3b7937:e39aa0f]
- File:
-
- 1 edited
-
src/ControlStruct/MLEMutator.h (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/ControlStruct/MLEMutator.h
rd3b7937 re39aa0f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // MLEMutator.h -- 7 // MLEMutator.h -- 8 8 // 9 9 // Author : Rodolfo G. Esteves … … 23 23 #include "SynTree/SynTree.h" 24 24 #include "SynTree/Mutator.h" 25 #include "SynTree/Label.h" 25 26 26 27 #include "LabelGenerator.h" … … 38 39 Statement *mutate( BranchStmt *branchStmt ) throw ( SemanticError ); 39 40 40 Statement *mutate( CaseStmt *caseStmt ); 41 Statement *mutate( CaseStmt *caseStmt ); 41 42 Statement *mutate( SwitchStmt *switchStmt ); 42 43 Statement *mutate( ChooseStmt *switchStmt ); … … 55 56 bool operator!=( const Statement *stmt ) { return ( loop != stmt ); } 56 57 57 bool operator==( const Entry &other ) { return ( loop == other.get_ loop() ); }58 bool operator==( const Entry &other ) { return ( loop == other.get_controlStructure() ); } 58 59 59 Statement *get_ loop() const { return loop; }60 Statement *get_controlStructure() const { return loop; } 60 61 61 62 Label useContExit() { contUsed = true; return contExit; } … … 72 73 73 74 std::map< Label, Statement * > *targetTable; 74 std::list< Entry > enclosing Blocks, enclosingLoops, enclosingSwitches;75 std::list< Entry > enclosingControlStructures; 75 76 Label breakLabel; 76 77 LabelGenerator *generator; … … 79 80 Statement *handleLoopStmt( LoopClass *loopStmt ); 80 81 81 template< typename SwitchClass > 82 template< typename SwitchClass > 82 83 Statement *handleSwitchStmt( SwitchClass *switchStmt ); 83 84
Note:
See TracChangeset
for help on using the changeset viewer.