Go to the documentation of this file.
22 out <<
" " <<
name <<
'\n';
30 out <<
" static_lifetime";
32 out <<
" thread_local";
60 out <<
" mode=" <<
mode;
64 out <<
" module=" <<
module;
68 out <<
" location: " <<
location <<
'\n';
88 #define SYM_SWAP1(x) x.swap(b.x)
99 #define SYM_SWAP2(x) std::swap(x, b.x)
149 bool criterion_must_hold =
true;
161 criterion_must_hold =
false;
167 criterion_must_hold =
false;
175 const size_t dollar_link_start_pos = unstripped_name.find(
"$link");
177 if(dollar_link_start_pos != std::string::npos)
179 size_t dollar_link_end_pos = dollar_link_start_pos + 5;
180 while(isdigit(unstripped_name[dollar_link_end_pos]))
182 ++dollar_link_end_pos;
185 const auto stripped_name =
186 unstripped_name.substr(0, dollar_link_start_pos) +
187 unstripped_name.substr(dollar_link_end_pos, std::string::npos);
190 criterion_must_hold =
false;
193 if(criterion_must_hold)
236 return !(*
this == other);
std::string pretty(unsigned indent=0, unsigned max_indent=0) const
typet type
Type of symbol.
bool operator==(const symbolt &other) const
const irept & find(const irep_namet &name) const
irep_idt base_name
Base (non-scoped) name.
Expression to hold a symbol (variable)
bool has_suffix(const std::string &s, const std::string &suffix)
irep_idt pretty_name
Language-specific display name.
bool is_well_formed() const
Check that a symbol is well formed.
irep_idt mode
Language mode.
const std::string & id2string(const irep_idt &d)
class symbol_exprt symbol_expr() const
Produces a symbol_exprt for a symbol.
const irep_idt & id() const
exprt value
Initial value of symbol.
source_locationt location
Source code location of definition of symbol.
void show(std::ostream &out) const
Dump the state of a symbol object to a given output stream.
void swap(symbolt &b)
Swap values between two symbols.
bool operator!=(const symbolt &other) const
irep_idt module
Name of module the symbol belongs to.
API to expression classes.
irep_idt name
The unique identifier.
std::ostream & operator<<(std::ostream &out, const symbolt &symbol)
Overload of stream operator to work with symbols.