28 "goto_functions_from_json: JSON input must be an object"};
37 "goto_functions_from_json: JSON object must have key 'functions'"};
40 if(!it->second.is_array())
43 "goto_functions_from_json: JSON functions must be an array"};
50 if(!function.is_object())
53 "goto_functions_from_json: JSON function must be an object"};
62 "goto_functions_from_json: JSON function object must have key 'name' "
63 "mapping to a string"};
65 const auto function_name =
name_it->second.value;
68 goto_functions.
function_map[function_name] = std::move(goto_function);
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Thrown when failing to deserialize a value from some low level format, like JSON or raw bytes.
A collection of goto functions.
function_mapt function_map
A goto function, consisting of function body (see body) and parameter identifiers (see parameter_iden...
Goto Programs with Functions.
json_objectt & to_json_object(jsont &json)
json_arrayt & to_json_array(jsont &json)
goto_functiont goto_function_from_json(const json_objectt &json)
Deserialize a goto_functiont from JSON.
JSON goto_function deserialization.
void goto_functions_from_json(const jsont &json, goto_functionst &goto_functions)
Deserialize goto_functionst from JSON.
JSON goto_functions deserialization.
static void json(json_objectT &result, const irep_idt &property_id, const property_infot &property_info)