Go to the documentation of this file.
33 : ns(_ns), list_only(_list_only)
43 const json_irept no_comments_irep_converter(
false);
47 for(
const auto &function_entry :
sorted)
49 const irep_idt &function_name = function_entry->first;
55 json_function[
"isBodyAvailable"]=
67 if(
function.body_available())
72 function.body.instructions)
76 instruction_entry[
"instructionId"]=
81 instruction_entry[
"sourceLocation"]=
85 std::ostringstream instruction_builder;
86 function.body.output_instruction(
87 ns, function_name, instruction_builder, instruction);
89 instruction_entry[
"instruction"]=
102 instruction_entry[
"operands"]=operand_array;
111 instruction_entry[
"guard"]=guard_object;
114 json_instruction_array.
push_back(instruction_entry);
117 json_function[
"instructions"]=json_instruction_array;
122 json_result[
"functions"]=json_functions;
143 out <<
convert(goto_functions);
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
show_goto_functions_jsont(const namespacet &_ns, bool _list_only=false)
For outputting the GOTO program in a readable JSON format.
json_objectt json(const source_locationt &location)
std::string to_string() const
std::vector< function_mapt::const_iterator > sorted() const
returns a vector of the iterators in alphabetical order
Base class for all expressions.
bool is_true() const
Return whether the expression is a constant representing true.
json_objectt & make_object()
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
const std::string & id2string(const irep_idt &d)
json_objectt convert(const goto_functionst &goto_functions)
Walks through all of the functions in the program and returns a JSON object representing all their fu...
void operator()(const goto_functionst &goto_functions, std::ostream &out, bool append=true)
Print the json object generated by show_goto_functions_jsont::show_goto_functions to the provided str...
json_objectt convert_from_irep(const irept &) const
To convert to JSON from an irep structure by recursively generating JSON for the different sub trees.
::goto_functiont goto_functiont
A collection of goto functions.
exprt guard
Guard for gotos, assume, assert.
bool has_prefix(const std::string &s, const std::string &prefix)
This class represents an instruction in the GOTO intermediate representation.
static jsont json_boolean(bool value)
const source_locationt & source_location() const
jsont & push_back(const jsont &json)