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