Go to the documentation of this file.
12 #ifndef CPROVER_JAVA_BYTECODE_JAVA_BYTECODE_TYPECHECK_H
13 #define CPROVER_JAVA_BYTECODE_JAVA_BYTECODE_TYPECHECK_H
27 bool string_refinement_enabled);
32 bool string_refinement_enabled);
45 bool _string_refinement_enabled):
79 #endif // CPROVER_JAVA_BYTECODE_JAVA_BYTECODE_TYPECHECK_H
virtual ~java_bytecode_typecheckt()
void typecheck_expr_java_new(side_effect_exprt &)
java_bytecode_typecheckt(symbol_table_baset &_symbol_table, message_handlert &_message_handler, bool _string_refinement_enabled)
virtual std::string to_string(const exprt &expr)
The type of an expression, extends irept.
void typecheck_code(codet &)
Base class for all expressions.
Expression to hold a symbol (variable)
void typecheck_type(typet &)
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
void typecheck_type_symbol(symbolt &)
The symbol table base class interface.
std::unordered_set< irep_idt > changesett
symbol_table_baset & symbol_table
bool string_refinement_enabled
void typecheck_non_type_symbol(symbolt &)
void typecheck_expr_symbol(symbol_exprt &)
bool java_bytecode_typecheck(symbol_table_baset &symbol_table, message_handlert &message_handler, bool string_refinement_enabled)
std::set< irep_idt > already_typechecked
void typecheck_expr_java_new_array(side_effect_exprt &)
A symbol table wrapper that records which entries have been updated/removed.
void java_bytecode_typecheck_updated_symbols(journalling_symbol_tablet &symbol_table, message_handlert &message_handler, bool string_refinement_enabled)
An expression containing a side effect.
virtual void typecheck_expr(exprt &expr)
Data structure for representing an arbitrary statement in a program.