39 if(instruction.is_backwards_goto())
45 std::cout <<
" " << instruction.source_location() <<
"\n";
55 if(instruction.is_backwards_goto())
60 xmlt xml_loop(
"loop", {{
"name",
id}}, {});
62 xml_loop.new_element() =
xml(instruction.source_location());
63 std::cout << xml_loop <<
"\n";
83 if(instruction.is_backwards_goto())
90 {
"sourceLocation",
json(instruction.source_location())}}));
114 std::cout <<
",\n" << json_result;
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
A collection of goto functions.
function_mapt function_map
goto_functionst goto_functions
GOTO functions.
A generic container class for the GOTO intermediate representation of one function.
instructionst instructions
The list of instructions in the goto program.
static irep_idt loop_id(const irep_idt &function_id, const instructiont &instruction)
Human-readable loop name.
jsont & push_back(const jsont &json)
json_arrayt & make_array()
xmlt & new_element(const std::string &key)
const std::string & id2string(const irep_idt &d)
void show_loop_ids(ui_message_handlert::uit ui, const goto_modelt &goto_model)
void show_loop_ids_json(ui_message_handlert::uit ui, const irep_idt &function_id, const goto_programt &goto_program, json_arrayt &loops)
static void json(json_objectT &result, const irep_idt &property_id, const property_infot &property_info)
xmlt xml(const irep_idt &property_id, const property_infot &property_info)
#define UNREACHABLE
This should be used to mark dead code.
#define PRECONDITION(CONDITION)