25 if(state.call_stack.empty())
26 throw "catch-pop on empty call stack";
28 if(state.top().catch_map.empty())
29 throw "catch-pop on function frame";
32 state.call_stack.pop_back();
36 state.catch_stack.push_back(goto_symex_statet::catch_framet());
37 goto_symex_statet::catch_framet &frame=state.catch_stack.back();
43 assert(exception_list.size()==instruction.
targets.size());
47 for(goto_programt::targetst::const_iterator
51 frame.target_map[exception_list[i].id()]=*it;
This class represents an instruction in the GOTO intermediate representation.
targetst targets
The list of successor instructions.
const goto_instruction_codet & code() const
Get the code represented by this instruction.
Central data structure: state.
void symex_catch(statet &state)
Symbolically execute a CATCH instruction.
const irept & find(const irep_idt &name) const