Go to the documentation of this file.
9 #ifndef CPROVER_JAVA_BYTECODE_JAVA_TRACE_VALIDATION_H
10 #define CPROVER_JAVA_BYTECODE_JAVA_TRACE_VALIDATION_H
26 #define OPT_JAVA_TRACE_VALIDATION \
29 #define HELP_JAVA_TRACE_VALIDATION \
30 " --validate-trace throw an error if the structure of the counterexample\n" \
31 " trace does not match certain assumptions\n" \
32 " (experimental, currently java only)\n" \
43 const bool run_check =
false,
83 #endif // CPROVER_JAVA_BYTECODE_JAVA_TRACE_VALIDATION_H
Class that provides messages with a built-in verbosity 'level'.
bool check_index_structure(const exprt &index_expr)
bool check_member_structure(const member_exprt &expr)
Base class for all expressions.
void check_trace_assumptions(const goto_tracet &trace, const namespacet &ns, const messaget &log, const bool run_check=false, const validation_modet vm=validation_modet::INVARIANT)
Checks that the structure of each step of the trace matches certain criteria.
Expression to hold a symbol (variable)
bool valid_lhs_expr_high_level(const exprt &lhs)
Struct constructor from list of elements.
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
bool check_address_structure(const address_of_exprt &address)
bool check_symbol_structure(const exprt &expr)
nonstd::optional< T > optionalt
bool can_evaluate_to_constant(const exprt &expression)
Extract member of struct or union.
bool check_struct_structure(const struct_exprt &expr)
optionalt< symbol_exprt > get_inner_symbol_expr(exprt expr)
Recursively extracts the first operand of an expression until it reaches a symbol and returns it,...
Operator to return the address of an object.
bool check_constant_structure(const constant_exprt &constant_expr)
A constant literal expression.
bool valid_rhs_expr_high_level(const exprt &rhs)