Changes in src/ControlStruct/MLEMutator.cc [9bdb8b7:720a007]
- File:
-
- 1 edited
-
src/ControlStruct/MLEMutator.cc (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/ControlStruct/MLEMutator.cc
r9bdb8b7 r720a007 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T ue Oct 22 17:22:44 201913 // Update Count : 2 2012 // Last Modified On : Thu Mar 8 17:08:25 2018 13 // Update Count : 219 14 14 // 15 15 … … 313 313 } 314 314 315 void MLEMutator::premutate( TryStmt * tryStmt ) {316 // generate a label for breaking out of a labeled if317 bool labeledBlock = !(tryStmt->get_labels().empty());318 if ( labeledBlock ) {319 Label brkLabel = generator->newLabel("blockBreak", tryStmt);320 enclosingControlStructures.push_back( Entry( tryStmt, brkLabel ) );321 GuardAction( [this]() { enclosingControlStructures.pop_back(); } );322 } // if323 }324 325 Statement * MLEMutator::postmutate( TryStmt * tryStmt ) {326 bool labeledBlock = !(tryStmt->get_labels().empty());327 if ( labeledBlock ) {328 if ( ! enclosingControlStructures.back().useBreakExit().empty() ) {329 set_breakLabel( enclosingControlStructures.back().useBreakExit() );330 } // if331 } // if332 return tryStmt;333 }334 335 315 void MLEMutator::premutate( CaseStmt *caseStmt ) { 336 316 visit_children = false;
Note:
See TracChangeset
for help on using the changeset viewer.