CBMC
Loading...
Searching...
No Matches
select_pointer_type.h
Go to the documentation of this file.
1/*******************************************************************\
2
3Module: Java Bytecode Language Conversion
4
5Author: Diffblue Ltd.
6
7\*******************************************************************/
8#ifndef CPROVER_JAVA_BYTECODE_SELECT_POINTER_TYPE_H
9#define CPROVER_JAVA_BYTECODE_SELECT_POINTER_TYPE_H
10
14
15#include <set>
16
17#include <util/pointer_expr.h>
18
20class namespacet;
21
23{
24public:
25 virtual ~select_pointer_typet() = default;
26
39 &generic_parameter_specialization_map,
40 const namespacet &ns) const;
41
46 virtual std::set<struct_tag_typet> get_parameter_alternative_types(
47 const irep_idt &function_name,
49 const namespacet &ns) const;
50
83 &generic_parameter_specialization_map) const;
84};
85
86#endif // CPROVER_JAVA_BYTECODE_SELECT_POINTER_TYPE_H
pointer_typet pointer_type(const typet &subtype)
Definition c_types.cpp:235
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Definition ai.h:562
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
Definition dstring.h:38
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
Definition namespace.h:91
The pointer type These are both 'bitvector_typet' (they have a width) and 'type_with_subtypet' (they ...
virtual ~select_pointer_typet()=default
virtual std::set< struct_tag_typet > get_parameter_alternative_types(const irep_idt &function_name, const irep_idt &parameter_name, const namespacet &ns) const
Get alternative types for a method parameter, e.g., based on the casts in the function body.
pointer_typet specialize_generics(const pointer_typet &pointer_type, const generic_parameter_specialization_mapt &generic_parameter_specialization_map) 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.
API to expression classes for Pointers.