Changes in src/ControlStruct/MLEMutator.h [27de955:843054c2]
- File:
-
- 1 edited
-
src/ControlStruct/MLEMutator.h (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/ControlStruct/MLEMutator.h
r27de955 r843054c2 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Rob Schluntz12 // Last Modified On : Wed Jun 03 15:06:36201513 // Update Count : 2511 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue May 19 15:32:39 2015 13 // Update Count : 3 14 14 // 15 15 … … 38 38 Statement *mutate( BranchStmt *branchStmt ) throw ( SemanticError ); 39 39 40 Statement *mutate( CaseStmt *caseStmt );41 40 Statement *mutate( SwitchStmt *switchStmt ); 42 41 Statement *mutate( ChooseStmt *switchStmt ); … … 49 48 class Entry { 50 49 public: 51 explicit Entry( Statement *_loop , Label _breakExit, Label _contExit = Label("") ) :52 loop( _loop ), breakExit( _breakExit ), contExit( _contExit ), breakUsed(false), contUsed(false) {}50 explicit Entry( Statement *_loop = 0, Label _contExit = Label(""), Label _breakExit = Label("") ) : 51 loop( _loop ), contExit( _contExit ), breakExit( _breakExit ), contExitUsed( false ), breakExitUsed( false ) {} 53 52 54 53 bool operator==( const Statement *stmt ) { return ( loop == stmt ); } … … 59 58 Statement *get_loop() const { return loop; } 60 59 61 Label useContExit() { contUsed = true;return contExit; }62 Label useBreakExit() { breakUsed = true; return breakExit; }60 Label get_contExit() const { return contExit; } 61 void set_contExit( Label ); 63 62 64 bool isContUsed() const { return contUsed; }65 bool isBreakUsed() const { return breakUsed; }63 Label get_breakExit() const { return breakExit; } 64 void set_breakExit( Label ); 66 65 67 66 private: 68 67 Statement *loop; 69 Label breakExit, contExit; 70 bool breakUsed, contUsed; 68 Label contExit, breakExit; 69 public: // hack, provide proper [sg]etters 70 bool contExitUsed, breakExitUsed; 71 71 }; 72 72 … … 75 75 Label breakLabel; 76 76 LabelGenerator *generator; 77 78 template< typename LoopClass >79 Statement *handleLoopStmt( LoopClass *loopStmt );80 81 template< typename SwitchClass >82 Statement *handleSwitchStmt( SwitchClass *switchStmt );83 84 void fixBlock( std::list< Statement * > &kids );85 77 }; 86 78 } // namespace ControlStruct
Note:
See TracChangeset
for help on using the changeset viewer.