CBMC
|
Map classes to the symbols they declare but is only computed once it is needed and the map is then kept. More...
#include <java_bytecode_language.h>
Public Member Functions | |
lazy_class_to_declared_symbols_mapt ()=default | |
std::unordered_multimap< irep_idt, symbolt > & | get (const symbol_table_baset &symbol_table) |
void | reinitialize () |
Private Attributes | |
bool | initialized = false |
std::unordered_multimap< irep_idt, symbolt > | map |
Map classes to the symbols they declare but is only computed once it is needed and the map is then kept.
Note that it only includes function and field symbols (and not for example, local variables), these are produced in the convert-class phase. Calling get
before the symbol table is properly filled with these symbols, would make later calls return an outdated map. The lazy_class_to_declared_symbols_mapt would then need to be reinitialized. Similarly if some transformation creates or deletes function or field symbols in the symbol table, then the map would get out of date and would need to be reinitialized.
Definition at line 186 of file java_bytecode_language.h.
|
default |
std::unordered_multimap< irep_idt, symbolt > & lazy_class_to_declared_symbols_mapt::get | ( | const symbol_table_baset & | symbol_table | ) |
Definition at line 124 of file java_bytecode_language.cpp.
void lazy_class_to_declared_symbols_mapt::reinitialize | ( | ) |
Definition at line 134 of file java_bytecode_language.cpp.
|
private |
Definition at line 197 of file java_bytecode_language.h.
Definition at line 198 of file java_bytecode_language.h.