38 const std::string &
main)
50 const std::string &
main)
60 const std::string &
main,
90 const std::string &
main,
103 [](
const irep_idt &) {
return false; },
153 INFO(
"Working directory: " << path);
168 const std::string &
main,
172 command_line.
add_flag(
"no-lazy-methods");
182 const std::string &
main)
188 command_line.
add_option(option.first, option.second);
202 const std::string &
main)
Abstract interface to eager or lazy GOTO models.
virtual void clear()
Reset the abstract state.
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
optionalt< std::string > main
struct configt::javat java
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
A goto function, consisting of function body (see body) and parameter identifiers (see parameter_iden...
Interface providing access to a single function in a GOTO model, plus its associated symbol table.
const symbol_tablet & get_symbol_table() const override
Accessor to get the symbol table.
virtual void set_language_options(const optionst &)
Set language-specific options.
virtual bool final(symbol_table_baset &symbol_table)
Final adjustments, e.g.
virtual bool parse(std::istream &instream, const std::string &path)=0
virtual bool typecheck(symbol_table_baset &symbol_table, const std::string &module)=0
virtual bool generate_support_functions(symbol_table_baset &symbol_table)=0
Create language-specific support functions, such as __CPROVER_start, __CPROVER_initialize and languag...
A GOTO model that produces function bodies on demand.
static std::unique_ptr< goto_modelt > process_whole_model_and_freeze(lazy_goto_modelt &&model)
The model returned here has access to the functions we've already loaded but is frozen in the sense t...
virtual void set_message_handler(message_handlert &_message_handler)
The symbol table base class interface.
The type of an expression, extends irept.
std::string get_current_working_directory()
void parse_java_language_options(const cmdlinet &cmd, optionst &options)
Parse options that are java bytecode specific.
std::unique_ptr< languaget > new_java_bytecode_language()
const java_class_typet & to_java_class_type(const typet &type)
symbol_tablet load_java_class(const std::string &java_class_name, const std::string &class_path, const std::string &main)
Returns the symbol table from load_goto_model_from_java_class(const std::string &java_class_name,...
symbol_tablet load_java_class_lazy(const std::string &java_class_name, const std::string &class_path, const std::string &main)
Go through the process of loading, type-checking and finalising loading a specific class file to buil...
goto_modelt load_goto_model_from_java_class(const std::string &java_class_name, const std::string &class_path, const std::string &main, std::unique_ptr< languaget > &&java_lang, const cmdlinet &command_line)
Go through the process of loading, type-checking and finalising a specific class file to build a goto...
Utility for loading and parsing a specified java class file, returning the symbol table generated by ...
#define PRECONDITION(CONDITION)
#define INVARIANT(CONDITION, REASON)
This macro uses the wrapper function 'invariant_violated_string'.
bool has_suffix(const std::string &s, const std::string &suffix)
null_message_handlert null_message_handler