cprover
|
Base Type Computation. More...
#include "base_type.h"
#include <set>
#include "namespace.h"
#include "std_types.h"
#include "symbol.h"
#include "union_find.h"
Go to the source code of this file.
Classes | |
class | base_type_eqt |
Functions | |
void | base_type_rec (typet &type, const namespacet &ns, std::set< irep_idt > &symb) |
void | base_type (typet &type, const namespacet &ns) |
void | base_type (exprt &expr, const namespacet &ns) |
bool | base_type_eq (const typet &type1, const typet &type2, const namespacet &ns) |
Check types for equality across all levels of hierarchy. More... | |
bool | base_type_eq (const exprt &expr1, const exprt &expr2, const namespacet &ns) |
Check expressions for equality across all levels of hierarchy. More... | |
Base Type Computation.
Definition in file base_type.cpp.
void base_type | ( | exprt & | expr, |
const namespacet & | ns | ||
) |
Definition at line 115 of file base_type.cpp.
void base_type | ( | typet & | type, |
const namespacet & | ns | ||
) |
Definition at line 109 of file base_type.cpp.
bool base_type_eq | ( | const exprt & | expr1, |
const exprt & | expr2, | ||
const namespacet & | ns | ||
) |
Check expressions for equality across all levels of hierarchy.
expr1 | The first expression to compare. |
expr2 | The second expression to compare. |
ns | The namespace, needed for resolution of symbols. |
Definition at line 303 of file base_type.cpp.
bool base_type_eq | ( | const typet & | type1, |
const typet & | type2, | ||
const namespacet & | ns | ||
) |
Check types for equality across all levels of hierarchy.
Example:
struct_typet {union_tag_typet("a")}
and struct_typet {ns.lookup("a") .type}
will compare equal. type1 | The first type to compare. |
type2 | The second type to compare. |
ns | The namespace, needed for resolution of symbols. |
Definition at line 290 of file base_type.cpp.
void base_type_rec | ( | typet & | type, |
const namespacet & | ns, | ||
std::set< irep_idt > & | symb | ||
) |
Definition at line 53 of file base_type.cpp.