|
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 |
Public Member Functions inherited from struct_typet | |
| struct_typet () | |
| bool | is_prefix_of (const struct_typet &other) const |
Public Member Functions inherited from struct_union_typet | |
| 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) |
Public Member Functions inherited from typet | |
| 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 |
Public Member Functions inherited from irept | |
| 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 | |
Public Types inherited from struct_union_typet | |
| typedef std::vector< componentt > | componentst |
Public Types inherited from typet | |
| typedef std::vector< typet > | subtypest |
Public Types inherited from irept | |
| typedef std::vector< irept > | subt |
| typedef std::map< irep_namet, irept > | named_subt |
Protected Member Functions inherited from irept | |
| void | detach () |
Static Protected Member Functions inherited from irept | |
| 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... | |
Protected Attributes inherited from irept | |
| dt * | data |
Static Protected Attributes inherited from irept | |
| 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().