8 #ifndef CPROVER_JAVA_BYTECODE_SELECT_POINTER_TYPE_H 9 #define CPROVER_JAVA_BYTECODE_SELECT_POINTER_TYPE_H 20 typedef std::unordered_map<irep_idt, std::vector<reference_typet>>
42 &generic_parameter_specialization_map,
48 &generic_parameter_specialization_map,
52 #endif // CPROVER_JAVA_BYTECODE_SELECT_POINTER_TYPE_H std::set< irep_idt > generic_parameter_recursion_trackingt
optionalt< pointer_typet > get_recursively_instantiated_type(const irep_idt &, const generic_parameter_specialization_mapt &, generic_parameter_recursion_trackingt &, const size_t) const
See get_recursively instantiated_type, the additional parameters just track the recursion to prevent ...
pointer_typet pointer_type(const typet &subtype)
virtual ~select_pointer_typet()=default
std::unordered_map< irep_idt, std::vector< reference_typet > > generic_parameter_specialization_mapt
nonstd::optional< T > optionalt
dstringt has one field, an unsigned integer no which is an index into a static table of strings...
pointer_typet specialize_generics(const pointer_typet &pointer_type, const generic_parameter_specialization_mapt &generic_parameter_specialization_map, generic_parameter_recursion_trackingt &visited) const
Specialize generic parameters in a pointer type based on the current map of parameters -> types...
virtual pointer_typet convert_pointer_type(const pointer_typet &pointer_type, const generic_parameter_specialization_mapt &generic_parameter_specialization_map, const namespacet &ns) const
Select what type should be used for a given pointer type.