cprover
|
#include <c_typecheck_base.h>
Public Member Functions | |
c_typecheck_baset (symbol_tablet &_symbol_table, const std::string &_module, message_handlert &_message_handler) | |
c_typecheck_baset (symbol_tablet &_symbol_table1, const symbol_tablet &_symbol_table2, const std::string &_module, message_handlert &_message_handler) | |
virtual | ~c_typecheck_baset () |
virtual void | typecheck ()=0 |
virtual void | typecheck_expr (exprt &expr) |
![]() | |
typecheckt (message_handlert &_message_handler) | |
virtual | ~typecheckt () |
virtual bool | typecheck_main () |
![]() | |
namespacet (const symbol_table_baset &_symbol_table) | |
namespacet (const symbol_table_baset &_symbol_table1, const symbol_table_baset &_symbol_table2) | |
namespacet (const symbol_table_baset *_symbol_table1, const symbol_table_baset *_symbol_table2) | |
bool | lookup (const irep_idt &name, const symbolt *&symbol) const override |
See documentation for namespace_baset::lookup(). | |
std::size_t | smallest_unused_suffix (const std::string &prefix) const override |
See documentation for namespace_baset::smallest_unused_suffix(). | |
const symbol_table_baset & | get_symbol_table () const |
Return first symbol table registered with the namespace. | |
const symbolt & | lookup (const irep_idt &name) const |
Lookup a symbol in the namespace. | |
const symbolt & | lookup (const symbol_exprt &) const |
Generic lookup function for a symbol expression in a symbol table. | |
const symbolt & | lookup (const tag_typet &) const |
Generic lookup function for a tag type in a symbol table. | |
virtual bool | lookup (const irep_idt &name, const symbolt *&symbol) const=0 |
Searches for a symbol named name . | |
![]() | |
const symbolt & | lookup (const irep_idt &name) const |
Lookup a symbol in the namespace. | |
const symbolt & | lookup (const symbol_exprt &) const |
Generic lookup function for a symbol expression in a symbol table. | |
const symbolt & | lookup (const tag_typet &) const |
Generic lookup function for a tag type in a symbol table. | |
virtual | ~namespace_baset () |
void | follow_macros (exprt &) const |
Follow macros to their values in a given expression. | |
const typet & | follow (const typet &) const |
Resolve type symbol to the type it points to. | |
const union_typet & | follow_tag (const union_tag_typet &) const |
Follow type tag of union type. | |
const struct_typet & | follow_tag (const struct_tag_typet &) const |
Follow type tag of struct type. | |
const c_enum_typet & | follow_tag (const c_enum_tag_typet &) const |
Follow type tag of enum type. | |
Protected Types | |
typedef std::unordered_map< irep_idt, typet > | id_type_mapt |
typedef std::unordered_map< irep_idt, irep_idt > | asm_label_mapt |
Static Protected Member Functions | |
static void | add_rounding_mode (exprt &) |
static bool | is_numeric_type (const typet &src) |
Protected Attributes | |
symbol_tablet & | symbol_table |
const irep_idt const irep_idt | mode |
symbolt | current_symbol |
id_type_mapt | parameter_map |
bool | break_is_allowed |
bool | continue_is_allowed |
bool | case_is_allowed |
typet | switch_op_type |
typet | return_type |
std::map< irep_idt, source_locationt > | labels_defined |
std::map< irep_idt, source_locationt > | labels_used |
std::list< codet > | clean_code |
asm_label_mapt | asm_label_map |
![]() | |
const symbol_table_baset * | symbol_table1 |
const symbol_table_baset * | symbol_table2 |
Additional Inherited Members |
Definition at line 26 of file c_typecheck_base.h.
|
protected |
Definition at line 286 of file c_typecheck_base.h.
|
protected |
Definition at line 73 of file c_typecheck_base.h.
|
inline |
Definition at line 31 of file c_typecheck_base.h.
|
inline |
Definition at line 46 of file c_typecheck_base.h.
|
inlinevirtual |
Definition at line 62 of file c_typecheck_base.h.
Definition at line 61 of file c_typecheck_expr.cpp.
|
protectedvirtual |
Definition at line 1312 of file c_typecheck_expr.cpp.
Definition at line 1646 of file c_typecheck_type.cpp.
Definition at line 569 of file c_typecheck_base.cpp.
|
protected |
Definition at line 274 of file c_typecheck_initializer.cpp.
|
protected |
Definition at line 4059 of file c_typecheck_expr.cpp.
|
protectedvirtual |
Definition at line 366 of file c_typecheck_initializer.cpp.
|
protectedvirtual |
Definition at line 26 of file c_typecheck_initializer.cpp.
Definition at line 229 of file c_typecheck_initializer.cpp.
|
protectedvirtual |
Definition at line 931 of file c_typecheck_initializer.cpp.
|
protectedvirtual |
initialize something of type ‘type’ with given value ‘value’
Definition at line 56 of file c_typecheck_initializer.cpp.
|
protectedvirtual |
Definition at line 2157 of file c_typecheck_expr.cpp.
|
protected |
Definition at line 1081 of file c_typecheck_type.cpp.
|
protected |
Definition at line 1113 of file c_typecheck_type.cpp.
|
protectedvirtual |
Definition at line 96 of file c_typecheck_expr.cpp.
|
protected |
Definition at line 3431 of file c_typecheck_expr.cpp.
Reimplemented in cpp_typecheckt.
Definition at line 13 of file c_typecheck_typecast.cpp.
Definition at line 68 of file c_typecheck_typecast.cpp.
|
protectedvirtual |
Definition at line 42 of file c_typecheck_typecast.cpp.
Definition at line 118 of file c_typecheck_base.h.
|
protected |
Definition at line 729 of file c_typecheck_initializer.cpp.
|
protectedvirtual |
Definition at line 1228 of file c_typecheck_gcc_polymorphic_builtins.cpp.
Definition at line 366 of file c_typecheck_code.cpp.
Definition at line 271 of file c_typecheck_base.h.
Definition at line 4025 of file c_typecheck_expr.cpp.
Definition at line 4045 of file c_typecheck_expr.cpp.
|
protected |
Definition at line 783 of file c_typecheck_initializer.cpp.
Definition at line 1249 of file c_typecheck_expr.cpp.
Definition at line 257 of file c_typecheck_base.h.
Definition at line 33 of file c_typecheck_base.cpp.
|
protectedvirtual |
Definition at line 24 of file c_typecheck_code.cpp.
|
protectedvirtual |
Reimplemented in cpp_typecheckt.
Definition at line 23 of file c_typecheck_base.cpp.
|
protectedvirtual |
Reimplemented in cpp_typecheckt.
Definition at line 28 of file c_typecheck_base.cpp.
Implements typecheckt.
Implemented in ansi_c_typecheckt, and cpp_typecheckt.
Definition at line 3644 of file c_typecheck_expr.cpp.
|
protectedvirtual |
Definition at line 523 of file c_typecheck_type.cpp.
Definition at line 155 of file c_typecheck_code.cpp.
Definition at line 189 of file c_typecheck_code.cpp.
|
protectedvirtual |
Reimplemented in cpp_typecheckt.
Definition at line 205 of file c_typecheck_code.cpp.
Definition at line 224 of file c_typecheck_code.cpp.
|
protected |
Definition at line 3238 of file c_typecheck_expr.cpp.
|
protectedvirtual |
Definition at line 1481 of file c_typecheck_type.cpp.
|
protectedvirtual |
Definition at line 1417 of file c_typecheck_type.cpp.
Definition at line 1171 of file c_typecheck_type.cpp.
Reimplemented in cpp_typecheckt.
Definition at line 29 of file c_typecheck_code.cpp.
|
protectedvirtual |
Definition at line 425 of file c_typecheck_type.cpp.
|
protectedvirtual |
Reimplemented in cpp_typecheckt.
Definition at line 891 of file c_typecheck_type.cpp.
|
protectedvirtual |
Reimplemented in cpp_typecheckt.
Definition at line 751 of file c_typecheck_type.cpp.
Definition at line 234 of file c_typecheck_code.cpp.
Definition at line 323 of file c_typecheck_type.cpp.
Reimplemented in cpp_typecheckt.
Definition at line 244 of file c_typecheck_code.cpp.
|
protected |
Definition at line 634 of file c_typecheck_base.cpp.
|
protectedvirtual |
Definition at line 810 of file c_typecheck_code.cpp.
Reimplemented in cpp_typecheckt.
Definition at line 46 of file c_typecheck_expr.cpp.
Reimplemented in cpp_typecheckt.
Definition at line 1701 of file c_typecheck_expr.cpp.
Definition at line 1044 of file c_typecheck_expr.cpp.
Reimplemented in cpp_typecheckt.
Definition at line 3460 of file c_typecheck_expr.cpp.
Definition at line 3756 of file c_typecheck_expr.cpp.
Definition at line 574 of file c_typecheck_expr.cpp.
Definition at line 516 of file c_typecheck_expr.cpp.
Reimplemented in cpp_typecheckt.
Definition at line 507 of file c_typecheck_expr.cpp.
Definition at line 3384 of file c_typecheck_expr.cpp.
Definition at line 557 of file c_typecheck_expr.cpp.
Reimplemented in cpp_typecheckt.
Definition at line 1770 of file c_typecheck_expr.cpp.
Reimplemented in cpp_typecheckt.
Definition at line 1806 of file c_typecheck_expr.cpp.
Reimplemented in cpp_typecheckt.
Definition at line 1254 of file c_typecheck_expr.cpp.
Reimplemented in cpp_typecheckt.
Definition at line 175 of file c_typecheck_expr.cpp.
Reimplemented in cpp_typecheckt.
Definition at line 1489 of file c_typecheck_expr.cpp.
Definition at line 734 of file c_typecheck_expr.cpp.
Definition at line 3669 of file c_typecheck_expr.cpp.
Reimplemented in cpp_typecheckt.
Definition at line 1455 of file c_typecheck_expr.cpp.
|
protectedvirtual |
Reimplemented in cpp_typecheckt.
Definition at line 1324 of file c_typecheck_expr.cpp.
|
protectedvirtual |
Definition at line 1426 of file c_typecheck_expr.cpp.
|
protectedvirtual |
Definition at line 3573 of file c_typecheck_expr.cpp.
|
protectedvirtual |
Reimplemented in cpp_typecheckt.
Definition at line 1817 of file c_typecheck_expr.cpp.
Reimplemented in cpp_typecheckt.
Definition at line 944 of file c_typecheck_expr.cpp.
Definition at line 809 of file c_typecheck_expr.cpp.
Reimplemented in cpp_typecheckt.
Definition at line 1568 of file c_typecheck_expr.cpp.
Reimplemented in cpp_typecheckt.
Definition at line 1066 of file c_typecheck_expr.cpp.
Definition at line 3389 of file c_typecheck_expr.cpp.
Definition at line 3419 of file c_typecheck_expr.cpp.
Definition at line 398 of file c_typecheck_code.cpp.
Definition at line 412 of file c_typecheck_code.cpp.
Definition at line 502 of file c_typecheck_base.cpp.
|
protectedvirtual |
Typecheck the parameters in a function call expression, and where necessary, make implicit casts around parameters explicit.
Reimplemented in cpp_typecheckt.
Definition at line 3303 of file c_typecheck_expr.cpp.
Definition at line 590 of file c_typecheck_code.cpp.
Definition at line 578 of file c_typecheck_code.cpp.
|
protectedvirtual |
Definition at line 493 of file c_typecheck_gcc_polymorphic_builtins.cpp.
|
protectedvirtual |
Definition at line 559 of file c_typecheck_code.cpp.
|
protectedvirtual |
Definition at line 584 of file c_typecheck_code.cpp.
|
protectedvirtual |
Reimplemented in cpp_typecheckt.
Definition at line 613 of file c_typecheck_code.cpp.
|
protectedvirtual |
Definition at line 510 of file c_typecheck_code.cpp.
Definition at line 142 of file c_typecheck_base.cpp.
|
protected |
Definition at line 265 of file c_typecheck_base.cpp.
|
protected |
Definition at line 170 of file c_typecheck_base.cpp.
|
protectedvirtual |
Definition at line 670 of file c_typecheck_code.cpp.
|
protectedvirtual |
Definition at line 1393 of file c_typecheck_gcc_polymorphic_builtins.cpp.
|
protectedvirtual |
Reimplemented in cpp_typecheckt.
Definition at line 3770 of file c_typecheck_expr.cpp.
|
protectedvirtual |
Reimplemented in cpp_typecheckt.
Definition at line 1906 of file c_typecheck_expr.cpp.
|
protectedvirtual |
Definition at line 1673 of file c_typecheck_expr.cpp.
|
protectedvirtual |
Definition at line 912 of file c_typecheck_expr.cpp.
|
protectedvirtual |
Definition at line 952 of file c_typecheck_code.cpp.
Definition at line 850 of file c_typecheck_code.cpp.
Definition at line 906 of file c_typecheck_code.cpp.
Definition at line 1025 of file c_typecheck_code.cpp.
Definition at line 1008 of file c_typecheck_code.cpp.
Definition at line 658 of file c_typecheck_code.cpp.
Reimplemented in cpp_typecheckt.
Definition at line 707 of file c_typecheck_code.cpp.
|
protectedvirtual |
Definition at line 523 of file c_typecheck_code.cpp.
Definition at line 47 of file c_typecheck_base.cpp.
Reimplemented in cpp_typecheckt.
Definition at line 35 of file c_typecheck_type.cpp.
Definition at line 1597 of file c_typecheck_type.cpp.
Definition at line 1561 of file c_typecheck_type.cpp.
Definition at line 656 of file c_typecheck_type.cpp.
|
protectedvirtual |
Reimplemented in cpp_typecheckt.
Definition at line 770 of file c_typecheck_code.cpp.
|
protected |
Definition at line 287 of file c_typecheck_base.h.
|
protected |
Definition at line 155 of file c_typecheck_base.h.
|
protected |
Definition at line 157 of file c_typecheck_base.h.
|
protected |
Definition at line 253 of file c_typecheck_base.h.
|
protected |
Definition at line 156 of file c_typecheck_base.h.
|
protected |
Definition at line 71 of file c_typecheck_base.h.
|
protected |
Definition at line 162 of file c_typecheck_base.h.
|
protected |
Definition at line 162 of file c_typecheck_base.h.
Definition at line 70 of file c_typecheck_base.h.
|
protected |
Definition at line 74 of file c_typecheck_base.h.
|
protected |
Definition at line 159 of file c_typecheck_base.h.
|
protected |
Definition at line 158 of file c_typecheck_base.h.
|
protected |
Definition at line 68 of file c_typecheck_base.h.