CBMC
|
Classes | |
struct | expected_type_argumentt |
Typedefs | |
typedef std::initializer_list< expected_type_argumentt > | expected_type_argumentst |
typedef java_class_typet::java_lambda_method_handlest | java_lambda_method_handlest |
Enumerations | |
enum class | type_argument_kindt { Inst , Var } |
Functions | |
pointer_typet | require_pointer (const typet &type, const std::optional< typet > &subtype) |
Checks a type is a pointer type optionally with a specific subtype. More... | |
const struct_tag_typet & | require_struct_tag (const typet &type, const irep_idt &identifier="") |
Verify a given type is a symbol type, optionally with a specific identifier. More... | |
pointer_typet | require_pointer_to_tag (const typet &type, const irep_idt &identifier=irep_idt()) |
java_class_typet::componentt | require_component (const java_class_typet &java_class_type, const irep_idt &component_name) |
Checks that a class has a component with a specific name. More... | |
struct_typet::componentt | require_component (const struct_typet &struct_type, const irep_idt &component_name) |
Checks a struct like type has a component with a specific name. More... | |
code_typet | require_code (const typet &type) |
Checks a type is a code_type (i.e. More... | |
java_method_typet | require_java_method (const typet &type) |
Checks a type is a java_method_typet (i.e. More... | |
code_typet::parametert | require_parameter (const code_typet &function_type, const irep_idt ¶m_name) |
Verify that a function has a parameter of a specific name. More... | |
code_typet | require_code (const typet &type, const size_t num_params) |
Verify a given type is an code_typet, and that the code it represents accepts a given number of parameters. More... | |
java_method_typet | require_java_method (const typet &type, const size_t num_params) |
Verify a given type is an java_method_typet, and that the code it represents accepts a given number of parameters. More... | |
java_generic_typet | require_java_generic_type (const typet &type) |
Verify a given type is a java_generic_type. More... | |
java_generic_typet | require_java_generic_type (const typet &type, const require_type::expected_type_argumentst &type_expectations) |
Verify a given type is a java_generic_type, checking that it's associated type arguments match a given set of identifiers. More... | |
java_generic_parametert | require_java_generic_parameter (const typet &type) |
Verify a given type is a java_generic_parameter, e.g., T More... | |
java_generic_parametert | require_java_generic_parameter (const typet &type, const irep_idt ¶meter) |
Verify a given type is a java_generic_parametert with the given name. More... | |
const typet & | require_java_non_generic_type (const typet &type, const std::optional< struct_tag_typet > &expect_subtype) |
Test a type to ensure it is not a java generics type. More... | |
class_typet | require_complete_class (const typet &class_type) |
Checks that the given type is a complete class. More... | |
class_typet | require_incomplete_class (const typet &class_type) |
Checks that the given type is an incomplete class. More... | |
java_generic_class_typet | require_java_generic_class (const typet &class_type) |
Verify that a class is a valid java generic class. More... | |
java_generic_class_typet | require_java_generic_class (const typet &class_type, const std::initializer_list< irep_idt > &type_variables) |
Verify that a class is a valid java generic class with the specified list of variables. More... | |
java_generic_class_typet | require_complete_java_generic_class (const typet &class_type) |
Verify that a class is a complete, valid java generic class. More... | |
java_generic_class_typet | require_complete_java_generic_class (const typet &class_type, const std::initializer_list< irep_idt > &type_parameters) |
Verify that a class is a complete, valid java generic class with the specified list of variables. More... | |
java_implicitly_generic_class_typet | require_java_implicitly_generic_class (const typet &class_type) |
Verify that a class is a valid java implicitly generic class. More... | |
java_implicitly_generic_class_typet | require_java_implicitly_generic_class (const typet &class_type, const std::initializer_list< irep_idt > &implicit_type_variables) |
Verify that a class is a valid java generic class with the specified list of variables. More... | |
java_implicitly_generic_class_typet | require_complete_java_implicitly_generic_class (const typet &class_type) |
Verify that a class is a complete, valid java implicitly generic class. More... | |
java_implicitly_generic_class_typet | require_complete_java_implicitly_generic_class (const typet &class_type, const std::initializer_list< irep_idt > &implicit_type_variables) |
Verify that a class is a complete, valid java generic class with the specified list of variables. More... | |
java_class_typet | require_java_non_generic_class (const typet &class_type) |
Verify that a class is a valid nongeneric java class. More... | |
java_class_typet | require_complete_java_non_generic_class (const typet &class_type) |
Verify that a class is a complete, valid nongeneric java class. More... | |
java_generic_struct_tag_typet | require_java_generic_struct_tag_type (const typet &type, const std::string &identifier) |
Verify a given type is a java generic symbol type. More... | |
java_generic_struct_tag_typet | require_java_generic_struct_tag_type (const typet &type, const std::string &identifier, const require_type::expected_type_argumentst &type_expectations) |
Verify a given type is a java generic symbol type, checking that it's associated type arguments match a given set of identifiers. More... | |
java_lambda_method_handlest | require_lambda_method_handles (const java_class_typet &class_type, const std::vector< std::string > &expected_identifiers) |
Verify that the lambda method handles of a class match the given expectation. More... | |
typedef std::initializer_list<expected_type_argumentt> require_type::expected_type_argumentst |
Definition at line 68 of file require_type.h.
Definition at line 133 of file require_type.h.
|
strong |
Enumerator | |
---|---|
Inst | |
Var |
Definition at line 57 of file require_type.h.
code_typet require_type::require_code | ( | const typet & | type | ) |
Checks a type is a code_type (i.e.
a function)
type | The type to check |
Definition at line 72 of file require_type.cpp.
code_typet require_type::require_code | ( | const typet & | type, |
const size_t | num_params | ||
) |
Verify a given type is an code_typet, and that the code it represents accepts a given number of parameters.
type | The type to check |
num_params | check the the given code_typet expects this number of parameters |
Definition at line 85 of file require_type.cpp.
class_typet require_type::require_complete_class | ( | const typet & | class_type | ) |
Checks that the given type is a complete class.
class_type | type of the class |
Definition at line 258 of file require_type.cpp.
java_generic_class_typet require_type::require_complete_java_generic_class | ( | const typet & | class_type | ) |
Verify that a class is a complete, valid java generic class.
class_type | the class |
Definition at line 336 of file require_type.cpp.
java_generic_class_typet require_type::require_complete_java_generic_class | ( | const typet & | class_type, |
const std::initializer_list< irep_idt > & | type_variables | ||
) |
Verify that a class is a complete, valid java generic class with the specified list of variables.
class_type | the class |
type_variables | vector of type variables |
Definition at line 347 of file require_type.cpp.
java_implicitly_generic_class_typet require_type::require_complete_java_implicitly_generic_class | ( | const typet & | class_type | ) |
Verify that a class is a complete, valid java implicitly generic class.
class_type | the class |
Definition at line 407 of file require_type.cpp.
java_implicitly_generic_class_typet require_type::require_complete_java_implicitly_generic_class | ( | const typet & | class_type, |
const std::initializer_list< irep_idt > & | implicit_type_variables | ||
) |
Verify that a class is a complete, valid java generic class with the specified list of variables.
class_type | the class |
implicit_type_variables | vector of type variables |
Definition at line 420 of file require_type.cpp.
java_class_typet require_type::require_complete_java_non_generic_class | ( | const typet & | class_type | ) |
Verify that a class is a complete, valid nongeneric java class.
class_type | the class |
Definition at line 451 of file require_type.cpp.
java_class_typet::componentt require_type::require_component | ( | const java_class_typet & | java_class_type, |
const irep_idt & | component_name | ||
) |
Checks that a class has a component with a specific name.
java_class_type | The class that should have the component |
component_name | The name of the component |
Definition at line 35 of file require_type.cpp.
struct_typet::componentt require_type::require_component | ( | const struct_typet & | struct_type, |
const irep_idt & | component_name | ||
) |
Checks a struct like type has a component with a specific name.
struct_type | The structure that should have the component |
component_name | The name of the component |
Definition at line 54 of file require_type.cpp.
class_typet require_type::require_incomplete_class | ( | const typet & | class_type | ) |
Checks that the given type is an incomplete class.
class_type | type of the class |
Definition at line 272 of file require_type.cpp.
java_generic_class_typet require_type::require_java_generic_class | ( | const typet & | class_type | ) |
Verify that a class is a valid java generic class.
class_type | the class |
Definition at line 287 of file require_type.cpp.
java_generic_class_typet require_type::require_java_generic_class | ( | const typet & | class_type, |
const std::initializer_list< irep_idt > & | type_variables | ||
) |
Verify that a class is a valid java generic class with the specified list of variables.
class_type | the class |
type_variables | vector of type variables |
Definition at line 307 of file require_type.cpp.
java_generic_parametert require_type::require_java_generic_parameter | ( | const typet & | type | ) |
Verify a given type is a java_generic_parameter, e.g., T
type | The type to check |
Definition at line 213 of file require_type.cpp.
java_generic_parametert require_type::require_java_generic_parameter | ( | const typet & | type, |
const irep_idt & | parameter | ||
) |
Verify a given type is a java_generic_parametert with the given name.
Expected usage is something like this: require_java_generic_parameter(parameter, "java::Generic::T")
type | The type to check |
parameter | String with the parameter name. |
Definition at line 225 of file require_type.cpp.
java_generic_struct_tag_typet require_type::require_java_generic_struct_tag_type | ( | const typet & | type, |
const std::string & | identifier | ||
) |
Verify a given type is a java generic symbol type.
type | The type to check |
identifier | The identifier to match |
Definition at line 486 of file require_type.cpp.
java_generic_struct_tag_typet require_type::require_java_generic_struct_tag_type | ( | const typet & | type, |
const std::string & | identifier, | ||
const require_type::expected_type_argumentst & | type_expectations | ||
) |
Verify a given type is a java generic symbol type, checking that it's associated type arguments match a given set of identifiers.
Expected usage is something like this:
require_java_generic_struct_tag_type(type, "java::Generic", {{require_type::type_argument_kindt::Inst, "java::java.lang.Integer"}, {require_type::type_argument_kindt::Var, "T"}})
type | The type to check |
identifier | The identifier to match |
type_expectations | A set of type argument kinds and identifiers which should be expected as the type arguments of the given generic type |
Definition at line 509 of file require_type.cpp.
java_generic_typet require_type::require_java_generic_type | ( | const typet & | type | ) |
Verify a given type is a java_generic_type.
type | The type to check |
Definition at line 171 of file require_type.cpp.
java_generic_typet require_type::require_java_generic_type | ( | const typet & | type, |
const require_type::expected_type_argumentst & | type_expectations | ||
) |
Verify a given type is a java_generic_type, checking that it's associated type arguments match a given set of identifiers.
Expected usage is something like this:
require_java_generic_type(type, {{require_type::type_argument_kindt::Inst, "java::java.lang.Integer"}, {require_type::type_argument_kindt::Var, "T"}})
type | The type to check |
type_expectations | A set of type argument kinds and identifiers which should be expected as the type arguments of the given generic type. |
Definition at line 189 of file require_type.cpp.
java_implicitly_generic_class_typet require_type::require_java_implicitly_generic_class | ( | const typet & | class_type | ) |
Verify that a class is a valid java implicitly generic class.
class_type | the class |
Definition at line 359 of file require_type.cpp.
java_implicitly_generic_class_typet require_type::require_java_implicitly_generic_class | ( | const typet & | class_type, |
const std::initializer_list< irep_idt > & | implicit_type_variables | ||
) |
Verify that a class is a valid java generic class with the specified list of variables.
class_type | the class |
implicit_type_variables | vector of type variables |
Definition at line 381 of file require_type.cpp.
java_method_typet require_type::require_java_method | ( | const typet & | type | ) |
Checks a type is a java_method_typet (i.e.
a function)
type | The type to check |
Definition at line 95 of file require_type.cpp.
java_method_typet require_type::require_java_method | ( | const typet & | type, |
const size_t | num_params | ||
) |
Verify a given type is an java_method_typet, and that the code it represents accepts a given number of parameters.
type | The type to check |
num_params | check the the given java_method_typet expects this number of parameters |
Definition at line 108 of file require_type.cpp.
java_class_typet require_type::require_java_non_generic_class | ( | const typet & | class_type | ) |
Verify that a class is a valid nongeneric java class.
class_type | the class |
Definition at line 433 of file require_type.cpp.
const typet & require_type::require_java_non_generic_type | ( | const typet & | type, |
const std::optional< struct_tag_typet > & | expect_subtype | ||
) |
Test a type to ensure it is not a java generics type.
type | The type to test |
expect_subtype | Optionally, also test that the subtype of the given type matches this parameter |
Definition at line 244 of file require_type.cpp.
require_type::java_lambda_method_handlest require_type::require_lambda_method_handles | ( | const java_class_typet & | class_type, |
const std::vector< std::string > & | expected_identifiers | ||
) |
Verify that the lambda method handles of a class match the given expectation.
class_type | class type to be verified |
expected_identifiers | expected list of lambda method handle references |
Definition at line 537 of file require_type.cpp.
code_typet::parametert require_type::require_parameter | ( | const code_typet & | function_type, |
const irep_idt & | param_name | ||
) |
Verify that a function has a parameter of a specific name.
function_type | The type of the function |
param_name | The name of the parameter |
Definition at line 120 of file require_type.cpp.
pointer_typet require_type::require_pointer | ( | const typet & | type, |
const std::optional< typet > & | subtype | ||
) |
Checks a type is a pointer type optionally with a specific subtype.
type | The type to check |
subtype | An optional subtype. If provided, checks the subtype of the pointer is this. |
Definition at line 18 of file require_type.cpp.
pointer_typet require_type::require_pointer_to_tag | ( | const typet & | type, |
const irep_idt & | identifier = irep_idt() |
||
) |
Definition at line 474 of file require_type.cpp.
const struct_tag_typet & require_type::require_struct_tag | ( | const typet & | type, |
const irep_idt & | identifier = "" |
||
) |
Verify a given type is a symbol type, optionally with a specific identifier.
type | The type to check |
identifier | The identifier the symbol type should have |
Definition at line 462 of file require_type.cpp.