cprover
json_irept Class Reference

#include <json_irep.h>

Public Member Functions

 json_irept (bool include_comments)
 To convert to JSON from an irep structure by recursively generating JSON for the different sub trees. More...
 
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. More...
 
irept convert_from_json (const jsont &) const
 Deserialize a JSON irep representation. More...
 

Private Member Functions

void convert_sub_tree (const std::string &sub_tree_id, const irept::subt &sub_trees, json_objectt &parent) const
 To convert to JSON from a list of ireps that are in an unlabelled subtree. More...
 
void convert_named_sub_tree (const std::string &sub_tree_id, const irept::named_subt &sub_trees, json_objectt &parent) const
 To convert to JSON from a map of ireps that are in a named subtree. More...
 

Private Attributes

bool include_comments
 

Detailed Description

Definition at line 20 of file json_irep.h.

Constructor & Destructor Documentation

◆ json_irept()

json_irept::json_irept ( bool  _include_comments)
explicit

To convert to JSON from an irep structure by recursively generating JSON for the different sub trees.

Parameters
include_commentswhen writing JSON, should the comments sub tree be included.

Definition at line 23 of file json_irep.cpp.

Member Function Documentation

◆ convert_from_irep()

json_objectt json_irept::convert_from_irep ( const irept irep) const

To convert to JSON from an irep structure by recursively generating JSON for the different sub trees.

Parameters
irepThe irep structure to turn into json
Returns
: The json object.

Definition at line 32 of file json_irep.cpp.

References convert_named_sub_tree(), convert_sub_tree(), irept::get_comments(), irept::get_named_sub(), irept::get_sub(), irept::id(), irept::id_string(), and include_comments.

Referenced by show_goto_functions_jsont::convert(), convert_decl(), convert_named_sub_tree(), and convert_sub_tree().

◆ convert_from_json()

irept json_irept::convert_from_json ( const jsont in) const

Deserialize a JSON irep representation.

Parameters
inputjson object to convert
Returns
result - irep equivalent of input

Definition at line 99 of file json_irep.cpp.

References irept::add(), comment(), irept::get_sub(), and jsont::object.

◆ convert_named_sub_tree()

void json_irept::convert_named_sub_tree ( const std::string &  sub_tree_id,
const irept::named_subt sub_trees,
json_objectt parent 
) const
private

To convert to JSON from a map of ireps that are in a named subtree.

The parent JSON object will get a key called sub_tree_id and the value shall be a JSON object whose keys shall be the name of the sub tree and the value will be the object generated from the sub tree.

Parameters
sub_tree_idthe name to give the subtree in the parent object
sub_treesthe map of subtrees to parse
parentthe parent JSON object who should be added to

Definition at line 79 of file json_irep.cpp.

References convert_from_irep(), and id2string().

Referenced by convert_from_irep().

◆ convert_sub_tree()

void json_irept::convert_sub_tree ( const std::string &  sub_tree_id,
const irept::subt sub_trees,
json_objectt parent 
) const
private

To convert to JSON from a list of ireps that are in an unlabelled subtree.

The parent JSON object will get a key called sub_tree_id and the value shall be an array of JSON objects generated from each of the sub trees

Parameters
sub_tree_idthe name to give the subtree in the parent object
sub_treesthe list of subtrees to parse
parentthe parent JSON object who should be added to

Definition at line 55 of file json_irep.cpp.

References convert_from_irep(), and json_arrayt::push_back().

Referenced by convert_from_irep().

Member Data Documentation

◆ include_comments

bool json_irept::include_comments
private

Definition at line 38 of file json_irep.h.

Referenced by convert_from_irep().


The documentation for this class was generated from the following files: