Go to the documentation of this file.
12 #ifndef CPROVER_JAVA_BYTECODE_CI_LAZY_METHODS_H
13 #define CPROVER_JAVA_BYTECODE_CI_LAZY_METHODS_H
15 #include <unordered_set>
29 std::unordered_set<irep_idt> &_callable_methods,
30 std::unordered_set<irep_idt> &_instantiated_classes,
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
std::unordered_set< irep_idt > & instantiated_classes
const select_pointer_typet & pointer_type_selector
void initialize_instantiated_classes_from_pointer(const pointer_typet &pointer_type, const namespacet &ns)
Build up list of methods for types for a specific pointer type.
The type of an expression, extends irept.
ci_lazy_methods_neededt(std::unordered_set< irep_idt > &_callable_methods, std::unordered_set< irep_idt > &_instantiated_classes, const symbol_tablet &_symbol_table, const select_pointer_typet &pointer_type_selector)
bool add_needed_class(const irep_idt &)
Notes class class_symbol_name will be instantiated, or a static field belonging to it will be accesse...
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
const symbol_tablet & symbol_table
pointer_typet pointer_type(const typet &subtype)
void add_cprover_nondet_initialize_if_it_exists(const irep_idt &class_id)
For a given class id, if cproverNondetInitialize exists on it or any of its ancestors then note that ...
void add_clinit_call(const irep_idt &class_id)
For a given class id, note that its static initializer is needed.
void gather_field_types(const typet &class_type, const namespacet &ns)
For a given type, gather all fields referenced by that type.
void add_needed_method(const irep_idt &)
Notes method_symbol_name is referenced from some reachable function, and should therefore be elaborat...
The pointer type These are both 'bitvector_typet' (they have a width) and 'type_with_subtypet' (they ...
void add_all_needed_classes(const pointer_typet &pointer_type)
Add to the needed classes all classes specified, the replacement type if it will be replaced,...
std::unordered_set< irep_idt > & callable_methods