The interface offered by a domain, allows code to manipulate domains without knowing their exact type...
ai_history_baset::trace_ptrt trace_ptrt
goto_programt::const_targett locationt
bool is_bottom() const override final
void transform(const irep_idt &, trace_ptrt trace_from, const irep_idt &, trace_ptrt, ai_baset &, const namespacet &) override
how function calls are treated: a) there is an edge from each call site to the function head b) there...
bool merge(const is_threaded_domaint &src, trace_ptrt, trace_ptrt)
void make_bottom() final override
no states
void make_entry() final override
Make this domain a reasonable entry-point state For most domains top is sufficient.
void make_top() final override
all states – the analysis doesn't use this directly (see make_entry) and domains may refuse to implem...
bool is_top() const override final
#define DATA_INVARIANT(CONDITION, REASON)
This condition should be used to document that assumptions that are made on goto_functions,...