aboutsummaryrefslogtreecommitdiff
path: root/gcc/analyzer/program-state.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/analyzer/program-state.h')
-rw-r--r--gcc/analyzer/program-state.h17
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;