33 assert(type.
id()==ID_signedbv);
129 assert(return_type.
id()==ID_signedbv);
157 assert(args.size()==2);
159 assert(return_type.id()==ID_signedbv);
The type of an expression.
Generates string constraints to link results from string functions with their arguments.
exprt add_axioms_for_code_point_at(const function_application_exprt &f)
add axioms corresponding to the String.codePointAt java function
A generic base class for relations, i.e., binary predicates.
application of (mathematical) function
const typet & get_char_type() const
static symbol_exprt fresh_symbol(const irep_idt &prefix, const typet &type=bool_typet())
generate a new symbol expression of the given type with some prefix
exprt add_axioms_for_code_point_count(const function_application_exprt &f)
add axioms giving approximate bounds on the result of the String.codePointCount java function ...
exprt add_axioms_for_offset_by_code_point(const function_application_exprt &f)
add axioms giving approximate bounds on the result of the String.offsetByCodePointCount java function...
equal_exprt axiom_for_has_length(const exprt &rhs) const
string_exprt fresh_string(const refined_string_typet &type)
construct a string expression whose length and content are new variables
const irep_idt & id() const
exprt pair_value(exprt char1, exprt char2, typet return_type)
the output corresponds to the unicode character given by the pair of characters of inputs assuming it...
division (integer and real)
const exprt & length() const
exprt::operandst argumentst
string_exprt add_axioms_for_string_expr(const exprt &expr)
obtain a refined string expression corresponding to string variable of string function call ...
std::list< exprt > axioms
exprt is_high_surrogate(const exprt &chr) const
the output is true when the character is a high surrogate for UTF-16 encoding, see https://en...
static constant_exprt constant_char(int i, const typet &char_type)
generate constant character expression with character type.
Base class for all expressions.
exprt is_low_surrogate(const exprt &chr) const
the output is true when the character is a low surrogate for UTF-16 encoding, see https://en...
exprt add_axioms_for_code_point_before(const function_application_exprt &f)
add axioms corresponding to the String.codePointBefore java function
Expression to hold a symbol (variable)
string_exprt add_axioms_for_code_point(const exprt &code_point, const refined_string_typet &ref_type)
static const function_application_exprt::argumentst & args(const function_application_exprt &expr, size_t nb)