cprover
|
#include <refined_string_type.h>
Public Member Functions | |
refined_string_typet (const typet &index_type, const typet &char_type) | |
const array_typet & | get_content_type () const |
const typet & | get_char_type () const |
const typet & | get_index_type () const |
constant_exprt | index_of_int (int i) const |
![]() | |
struct_typet () | |
bool | is_prefix_of (const struct_typet &other) const |
![]() | |
struct_union_typet (const irep_idt &_id) | |
const componentst & | components () const |
componentst & | components () |
bool | has_component (const irep_idt &component_name) const |
const componentt & | get_component (const irep_idt &component_name) const |
std::size_t | component_number (const irep_idt &component_name) const |
typet | component_type (const irep_idt &component_name) const |
irep_idt | get_tag () const |
void | set_tag (const irep_idt &tag) |
![]() | |
typet () | |
typet (const irep_idt &_id) | |
typet (const irep_idt &_id, const typet &_subtype) | |
const typet & | subtype () const |
typet & | subtype () |
subtypest & | subtypes () |
const subtypest & | subtypes () const |
bool | has_subtypes () const |
bool | has_subtype () const |
void | remove_subtype () |
void | move_to_subtypes (typet &type) |
void | copy_to_subtypes (const typet &type) |
const source_locationt & | source_location () const |
source_locationt & | add_source_location () |
typet & | add_type (const irep_namet &name) |
const typet & | find_type (const irep_namet &name) const |
![]() | |
bool | is_nil () const |
bool | is_not_nil () const |
irept (const irep_idt &_id) | |
irept () | |
irept (const irept &irep) | |
irept (irept &&irep) | |
irept & | operator= (const irept &irep) |
irept & | operator= (irept &&irep) |
~irept () | |
const irep_idt & | id () const |
const std::string & | id_string () const |
void | id (const irep_idt &_data) |
const irept & | find (const irep_namet &name) const |
irept & | add (const irep_namet &name) |
irept & | add (const irep_namet &name, const irept &irep) |
const std::string & | get_string (const irep_namet &name) const |
const irep_idt & | get (const irep_namet &name) const |
bool | get_bool (const irep_namet &name) const |
signed int | get_int (const irep_namet &name) const |
unsigned int | get_unsigned_int (const irep_namet &name) const |
std::size_t | get_size_t (const irep_namet &name) const |
long long | get_long_long (const irep_namet &name) const |
void | set (const irep_namet &name, const irep_idt &value) |
void | set (const irep_namet &name, const irept &irep) |
void | set (const irep_namet &name, const long long value) |
void | remove (const irep_namet &name) |
void | move_to_sub (irept &irep) |
void | move_to_named_sub (const irep_namet &name, irept &irep) |
bool | operator== (const irept &other) const |
bool | operator!= (const irept &other) const |
void | swap (irept &irep) |
bool | operator< (const irept &other) const |
defines ordering on the internal representation More... | |
bool | ordering (const irept &other) const |
defines ordering on the internal representation More... | |
int | compare (const irept &i) const |
defines ordering on the internal representation More... | |
void | clear () |
void | make_nil () |
subt & | get_sub () |
const subt & | get_sub () const |
named_subt & | get_named_sub () |
const named_subt & | get_named_sub () const |
named_subt & | get_comments () |
const named_subt & | get_comments () const |
std::size_t | hash () const |
std::size_t | full_hash () const |
bool | full_eq (const irept &other) const |
std::string | pretty (unsigned indent=0, unsigned max_indent=0) const |
const dt & | read () const |
dt & | write () |
Static Public Member Functions | |
static bool | is_c_string_type (const typet &type) |
static bool | is_java_string_pointer_type (const typet &type) |
static bool | is_java_string_type (const typet &type) |
static bool | is_java_string_builder_type (const typet &type) |
static bool | is_java_char_sequence_type (const typet &type) |
static bool | is_unrefined_string_type (const typet &type) |
static bool | is_unrefined_string (const exprt &expr) |
Additional Inherited Members | |
![]() | |
typedef std::vector< componentt > | componentst |
![]() | |
typedef std::vector< typet > | subtypest |
![]() | |
typedef std::vector< irept > | subt |
typedef std::map< irep_namet, irept > | named_subt |
![]() | |
void | detach () |
![]() | |
static bool | is_comment (const irep_namet &name) |
static void | remove_ref (dt *old_data) |
static void | nonrecursive_destructor (dt *old_data) |
Does the same as remove_ref, but using an explicit stack instead of recursion. More... | |
![]() | |
dt * | data |
![]() | |
static dt | empty_d |
Definition at line 28 of file refined_string_type.h.
Definition at line 23 of file refined_string_type.cpp.
References char_type(), struct_union_typet::components(), and index_type().
|
inline |
Definition at line 40 of file refined_string_type.h.
References struct_union_typet::components().
Referenced by string_constraint_generatort::add_axioms_for_char_at(), string_constraint_generatort::add_axioms_for_code_point(), string_constraint_generatort::add_axioms_for_constant(), string_constraint_generatort::add_axioms_for_index_of(), string_constraint_generatort::add_axioms_for_last_index_of(), string_constraint_generatort::add_axioms_for_parse_int(), string_constraint_generatort::add_axioms_for_set_length(), string_constraint_generatort::add_axioms_for_to_lower_case(), string_constraint_generatort::add_axioms_for_to_upper_case(), string_constraint_generatort::add_axioms_for_trim(), string_constraint_generatort::add_axioms_from_float(), string_constraint_generatort::add_axioms_from_int(), and string_constraint_generatort::add_axioms_from_int_hex().
|
inline |
Definition at line 34 of file refined_string_type.h.
References struct_union_typet::components(), and to_array_type().
Referenced by string_constraint_generatort::fresh_string(), and get_index_type().
|
inline |
Definition at line 46 of file refined_string_type.h.
References get_content_type(), array_typet::size(), and exprt::type().
Referenced by string_constraint_generatort::add_axioms_for_constant(), string_constraint_generatort::add_axioms_for_copy(), string_constraint_generatort::add_axioms_for_index_of(), string_constraint_generatort::add_axioms_for_last_index_of(), string_constraint_generatort::add_axioms_for_replace(), string_constraint_generatort::add_axioms_for_set_length(), string_constraint_generatort::add_axioms_for_substring(), string_constraint_generatort::add_axioms_for_to_lower_case(), string_constraint_generatort::add_axioms_for_to_upper_case(), string_constraint_generatort::add_axioms_for_trim(), string_constraint_generatort::add_axioms_for_value_of(), string_constraint_generatort::add_axioms_from_bool(), string_constraint_generatort::add_axioms_from_float(), string_constraint_generatort::add_axioms_from_int(), string_constraint_generatort::add_axioms_from_int_hex(), string_refinementt::dec_solve(), string_constraint_generatort::fresh_string(), and index_of_int().
|
inline |
Definition at line 78 of file refined_string_type.h.
References from_integer(), and get_index_type().
|
static |
Definition at line 34 of file refined_string_type.cpp.
References CPROVER_PREFIX, struct_union_typet::get_tag(), irept::id(), and to_struct_type().
Referenced by is_unrefined_string_type().
|
static |
Definition at line 90 of file refined_string_type.cpp.
References struct_union_typet::get_tag(), irept::id(), typet::subtype(), to_pointer_type(), and to_struct_type().
Referenced by is_unrefined_string_type().
|
static |
Definition at line 73 of file refined_string_type.cpp.
References struct_union_typet::get_tag(), irept::id(), typet::subtype(), to_pointer_type(), and to_struct_type().
Referenced by is_unrefined_string_type().
|
static |
Definition at line 43 of file refined_string_type.cpp.
References irept::id(), is_java_string_type(), typet::subtype(), and to_pointer_type().
Referenced by string_constraint_generatort::add_axioms_for_index_of(), string_constraint_generatort::add_axioms_for_last_index_of(), and is_unrefined_string_type().
|
static |
Definition at line 56 of file refined_string_type.cpp.
References symbol_typet::get_identifier(), struct_union_typet::get_tag(), irept::id(), to_struct_type(), and to_symbol_type().
Referenced by is_java_string_pointer_type().
|
inlinestatic |
Definition at line 73 of file refined_string_type.h.
References is_unrefined_string_type(), and exprt::type().
|
inlinestatic |
Definition at line 64 of file refined_string_type.h.
References is_c_string_type(), is_java_char_sequence_type(), is_java_string_builder_type(), and is_java_string_pointer_type().
Referenced by string_constraint_generatort::add_axioms_for_if(), string_constraint_generatort::add_axioms_from_literal(), string_refinementt::boolbv_set_equality_to_true(), string_refinementt::convert_symbol(), and is_unrefined_string().