8
8
#include " variable_sensitivity_object_factory.h"
9
9
#include " interval_array_abstract_object.h"
10
10
#include " util/namespace.h"
11
+ #include " value_set_abstract_value.h"
11
12
12
13
variable_sensitivity_object_factoryt
13
14
variable_sensitivity_object_factoryt::s_instance;
@@ -24,10 +25,18 @@ variable_sensitivity_object_factoryt::get_abstract_object_type(const typet type)
24
25
{
25
26
abstract_object_type =
26
27
configuration.advanced_sensitivities .intervals ? INTERVAL : CONSTANT;
28
+ if (configuration.advanced_sensitivities .new_value_set )
29
+ {
30
+ abstract_object_type = VALUE_SET;
31
+ }
27
32
}
28
33
else if (type.id () == ID_floatbv)
29
34
{
30
35
abstract_object_type = CONSTANT;
36
+ if (configuration.advanced_sensitivities .new_value_set )
37
+ {
38
+ abstract_object_type = VALUE_SET;
39
+ }
31
40
}
32
41
else if (type.id () == ID_array)
33
42
{
@@ -121,6 +130,11 @@ variable_sensitivity_object_factoryt::get_abstract_object(
121
130
return initialize_abstract_object<abstract_objectt>(
122
131
followed_type, top, bottom, e, environment, ns);
123
132
case VALUE_SET:
133
+ if (configuration.advanced_sensitivities .new_value_set )
134
+ {
135
+ return initialize_abstract_object<value_set_abstract_valuet>(
136
+ followed_type, top, bottom, e, environment, ns);
137
+ }
124
138
return initialize_abstract_object<value_set_abstract_objectt>(
125
139
followed_type, top, bottom, e, environment, ns);
126
140
default :
0 commit comments