34static std::unique_ptr<languaget>
73 out <<
'\n' <<
"Symbols:" <<
'\n' <<
'\n';
92 out <<
"Symbol......: " << symbol.
name <<
'\n' << std::flush;
93 out <<
"Pretty name.: " << symbol.
pretty_name <<
'\n';
94 out <<
"Module......: " << symbol.module <<
'\n';
95 out <<
"Base name...: " << symbol.
base_name <<
'\n';
96 out <<
"Mode........: " << symbol.
mode <<
'\n';
97 out <<
"Type........: " <<
type_str <<
'\n';
98 out <<
"Value.......: " <<
value_str <<
'\n';
99 out <<
"Flags.......:";
104 out <<
" static_lifetime";
106 out <<
" thread_local";
108 out <<
" file_local";
135 out <<
"Location....: " << symbol.
location <<
'\n';
137 out <<
'\n' << std::flush;
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
symbol_tablet symbol_table
Symbol table.
Provides methods for streaming JSON arrays.
json_stream_objectt & push_back_stream_object()
Add a JSON object child stream.
Provides methods for streaming JSON objects.
void push_back(const std::string &key, const jsont &json)
Push back a JSON element into the current object stream.
static jsont json_boolean(bool value)
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
bool lookup(const irep_idt &name, const symbolt *&symbol) const override
See documentation for namespace_baset::lookup().
The symbol table base class interface.
std::vector< irep_idt > sorted_symbol_names() const
Build and return a lexicographically sorted vector of symbol names from all symbols stored in this sy...
const symbolst & symbols
Read-only field, used to look up symbols given their names.
source_locationt location
Source code location of definition of symbol.
typet type
Type of symbol.
irep_idt name
The unique identifier.
irep_idt pretty_name
Language-specific display name.
irep_idt irep_idt base_name
Name of module the symbol belongs to.
exprt value
Initial value of symbol.
irep_idt mode
Language mode.
virtual json_stream_arrayt & get_json_stream()
const std::string & id2string(const irep_idt &d)
Abstract interface to support a programming language.
std::unique_ptr< languaget > get_language_from_mode(const irep_idt &mode)
Get the language corresponding to the given mode.
std::unique_ptr< languaget > get_default_language()
Returns the default language.
void show_symbol_table_brief_plain(const symbol_table_baset &symbol_table, std::ostream &out)
void show_symbol_table(const symbol_table_baset &symbol_table, ui_message_handlert &ui)
static void show_symbol_table_json_ui(const symbol_table_baset &symbol_table, ui_message_handlert &message_handler)
void show_symbol_table_plain(const symbol_table_baset &symbol_table, std::ostream &out)
static std::unique_ptr< languaget > get_show_symbol_language(const symbolt &symbol)
Gets the language which should be used for showing the type and value of the supplied symbol.
static void show_symbol_table_brief_json_ui(const symbol_table_baset &symbol_table, ui_message_handlert &message_handler)
void show_symbol_table_xml_ui()
void show_symbol_table_brief(const symbol_table_baset &symbol_table, ui_message_handlert &ui)