19 const goto_programt::instructiont &instruction=*state.
source.
pc;
21 if(instruction.targets.empty())
24 throw "catch-pop on empty call stack";
27 throw "catch-pop on function frame";
34 state.catch_stack.push_back(goto_symex_statet::catch_framet());
35 goto_symex_statet::catch_framet &frame=state.catch_stack.back();
39 instruction.code.find(ID_exception_list).get_sub();
41 assert(exception_list.size()==instruction.targets.size());
45 for(goto_programt::targetst::const_iterator
46 it=instruction.targets.begin();
47 it!=instruction.targets.end();
49 frame.target_map[exception_list[i].id()]=*it;
goto_programt::const_targett pc
std::vector< irept > subt
call_stackt & call_stack()
void symex_catch(statet &state)
symex_targett::sourcet source