#include "paranoid_visitor.h"
#include "expr_result.h"
Include dependency graph for expr_annotator.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Compounds | |
class | Expr_annotator |
Functions | |
bool | try_reinterpret_cast (Type t, bool enforce_const, Expr_result *res) |
Attempt to do reinterpret_cast. More... | |
Type | binary_multeq_predicate (Type l, Type r) |
Predicate for *= and /=. More... | |
Type | binary_addeq_predicate (Type l, Type r) |
Predicate for += and -=. More... | |
Type | binary_inteq_predicate (Type l, Type r) |
Predicate for %=, <<=, etc. More... |
|
Predicate for += and -=. These accept "cv-arith&" on the LHS, and "arith" or "enum" on the RHS; or "cv-obj*&" on the LHS and ptrdiff_t on the RHS. Definition at line 2594 of file expr_annotator.cc. References Type::get_basis_type(), Type::get_kind(), Type::get_promoted_integer(), Type::is_arithmetic_type(), Type::is_enum_type(), Type::is_int(), Type::is_object_type(), Type::k_Pointer, Type::k_Reference, make_binary_function_type(), and Type::sans_reference(). |
|
Predicate for %=, <<=, etc. These accept "cv-integral&" on the LHS, and "arith" or "enum" on the RHS. Definition at line 2617 of file expr_annotator.cc. References Type::get_basis_type(), Type::get_kind(), Type::get_promoted_integer(), Type::is_enum_type(), Type::is_int(), Type::k_Reference, make_binary_function_type(), and Type::sans_reference(). |
|
Predicate for *= and /=. These accept "cv-arith&" on the LHS, and "arith" or "enum" on the RHS. Definition at line 2571 of file expr_annotator.cc. References Type::get_basis_type(), Type::get_kind(), Type::get_promoted_integer(), Type::is_arithmetic_type(), Type::is_enum_type(), Type::is_float(), Type::is_int(), Type::is_same_unqualified_type(), Type::k_Reference, make_binary_function_type(), and Type::sans_reference(). |
|
Attempt to do reinterpret_cast.
Definition at line 2086 of file expr_annotator.cc. References Expr_result::convert_to(), Expr_result::convert_to_fpointer(), Expr_result::convert_to_pointer(), Type::get_basis_type(), Type::get_class_type(), Type::get_kind(), Type::get_member_type(), Expr_result::get_type(), Type::is_enum_type(), Type::is_int(), Expr_result::is_lvalue(), Type::is_more_qualified_than(), Type::is_valid(), Type::k_Array, Type::k_Function, Type::k_Member, Type::k_Pointer, and Type::k_Reference. Referenced by Expr_annotator::do_ccast(), and Expr_annotator::do_reinterpret_cast(). |