12 #ifndef CPROVER_GOTO_PROGRAMS_ABSTRACT_GOTO_MODEL_H
13 #define CPROVER_GOTO_PROGRAMS_ABSTRACT_GOTO_MODEL_H
Abstract interface to eager or lazy GOTO models.
virtual ~abstract_goto_modelt()
virtual const goto_functionst::goto_functiont & get_goto_function(const irep_idt &id)=0
Get a GOTO function by name, or throw if no such function exists.
virtual void validate(const validation_modet vm, const goto_model_validation_optionst &goto_model_validation_options) const =0
Check that the goto model is well-formed.
virtual bool can_produce_function(const irep_idt &id) const =0
Determines if this model can produce a body for the given function.
virtual const symbol_tablet & get_symbol_table() const =0
Accessor to get the symbol table.
virtual const goto_functionst & get_goto_functions() const =0
Accessor to get a raw goto_functionst.
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
A collection of goto functions.
::goto_functiont goto_functiont
Goto Programs with Functions.