10 #ifndef CPROVER_UTIL_FIND_SYMBOLS_H
11 #define CPROVER_UTIL_FIND_SYMBOLS_H
16 #include <unordered_set>
30 bool include_bound_symbols);
40 std::set<symbol_exprt> &dest);
46 std::set<symbol_exprt> syms;
88 const std::vector<irep_idt> &subs_to_find = {});
96 const std::vector<irep_idt> &subs_to_find = {});
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
Base class for all expressions.
Expression to hold a symbol (variable)
The type of an expression, extends irept.
find_symbols_sett find_symbol_identifiers(const exprt &src)
Find identifiers of the sub expressions with id ID_symbol, considering both free and bound variables.
void find_type_and_expr_symbols(const typet &src, find_symbols_sett &dest, const std::vector< irep_idt > &subs_to_find={})
Find identifiers with id ID_symbol of the sub expressions and the subs with ID in subs_to_find consid...
void find_non_pointer_type_symbols(const typet &src, find_symbols_sett &dest)
Collect type tags contained in src when the expression of such a type is not a pointer,...
std::unordered_set< irep_idt > find_symbols_sett
bool has_symbol_expr(const exprt &src, const irep_idt &identifier, bool include_bound_symbols)
Returns true if one of the symbol expressions in src has identifier identifier; if include_bound_symb...
void find_symbols(const exprt &src, find_symbols_sett &dest)
Add to the set dest the sub-expressions of src with id ID_symbol, for both free and bound variables.
void find_type_symbols(const typet &src, find_symbols_sett &dest)
Collect all type tags contained in src and add them to dest.