diff options
Diffstat (limited to 'gcc/analyzer/program-state.h')
-rw-r--r-- | gcc/analyzer/program-state.h | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/gcc/analyzer/program-state.h b/gcc/analyzer/program-state.h index 269ffde..e2076c1 100644 --- a/gcc/analyzer/program-state.h +++ b/gcc/analyzer/program-state.h @@ -22,6 +22,11 @@ along with GCC; see the file COPYING3. If not see #define GCC_ANALYZER_PROGRAM_STATE_H #include "text-art/widget.h" +#include "text-art/tree-widget.h" + +#include "analyzer/store.h" + +namespace xml { class document; } namespace ana { @@ -32,7 +37,7 @@ class extrinsic_state public: extrinsic_state (std::vector<std::unique_ptr<state_machine>> &&checkers, engine *eng, - logger *logger = NULL) + logger *logger = nullptr) : m_checkers (std::move (checkers)), m_logger (logger), m_engine (eng) @@ -42,7 +47,7 @@ public: // For use in selftests that use just one state machine extrinsic_state (std::unique_ptr<state_machine> sm, engine *eng, - logger *logger = NULL) + logger *logger = nullptr) : m_logger (logger), m_engine (eng) { @@ -93,7 +98,7 @@ public: { /* Default ctor needed by hash_map::empty. */ entry_t () - : m_state (0), m_origin (NULL) + : m_state (0), m_origin (nullptr) { } @@ -243,6 +248,12 @@ public: void dump (const extrinsic_state &ext_state, bool simple) const; void dump () const; + std::unique_ptr<xml::document> make_xml (const extrinsic_state &ext_state) const; + void dump_xml_to_pp (const extrinsic_state &ext_state, pretty_printer *pp) const; + void dump_xml_to_file (const extrinsic_state &ext_state, FILE *outf) const; + void dump_xml (const extrinsic_state &ext_state) const; + void dump_dot (const extrinsic_state &ext_state) const; + std::unique_ptr<json::object> to_json (const extrinsic_state &ext_state) const; |