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):
Data structure for representing an arbitrary statement in a program.
Base class for all expressions.
virtual ~java_bytecode_typecheckt()
std::set< irep_idt > already_typechecked
void typecheck_type_symbol(symbolt &)
void typecheck_type(typet &)
virtual std::string to_string(const exprt &expr)
void typecheck_expr_symbol(symbol_exprt &)
java_bytecode_typecheckt(symbol_table_baset &_symbol_table, message_handlert &_message_handler, bool _string_refinement_enabled)
void typecheck_expr_java_new(side_effect_exprt &)
bool string_refinement_enabled
void typecheck_code(codet &)
virtual void typecheck_expr(exprt &expr)
void typecheck_non_type_symbol(symbolt &)
void typecheck_expr_java_new_array(side_effect_exprt &)
symbol_table_baset & symbol_table
A symbol table wrapper that records which entries have been updated/removedA caller can pass a journa...
std::unordered_set< irep_idt > changesett
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
An expression containing a side effect.
Expression to hold a symbol (variable)
The symbol table base class interface.
The type of an expression, extends irept.
bool java_bytecode_typecheck(symbol_table_baset &symbol_table, message_handlert &message_handler, bool string_refinement_enabled)
void java_bytecode_typecheck_updated_symbols(journalling_symbol_tablet &symbol_table, message_handlert &message_handler, bool string_refinement_enabled)