Go to the documentation of this file.
21 "symbol_table_from_json: JSON input must be an object");
25 const auto it = json_object.
find(
"symbolTable");
27 if(it == json_object.
end())
30 "symbol_table_from_json: JSON object must have key `symbolTable`");
33 if(!it->second.is_object())
36 "symbol_table_from_json: JSON symbol table must be an object");
41 for(
const auto &pair : json_symbol_table)
43 const jsont &json_symbol = pair.second;
47 if(symbol_table.
add(symbol))
49 "symbol_table_from_json: duplicate symbol name `" +
Thrown when failing to deserialize a value from some low level format, like JSON or raw bytes.
iterator find(const std::string &key)
void validate(const validation_modet vm=validation_modet::INVARIANT) const
Check that the symbol table is well-formed.
const std::string & id2string(const irep_idt &d)
bool add(const symbolt &symbol)
Add a new symbol to the symbol table.
json_objectt & to_json_object(jsont &json)
irep_idt name
The unique identifier.
symbolt symbol_from_json(const jsont &in)
Deserialise a json object to a symbolt.
void symbol_table_from_json(const jsont &in, symbol_tablet &symbol_table)