15 #ifndef CPROVER_ANALYSES_VARIABLE_SENSITIVITY_VARIABLE_SENSITIVITY_OBJECT_FACTORY_H
16 #define CPROVER_ANALYSES_VARIABLE_SENSITIVITY_VARIABLE_SENSITIVITY_OBJECT_FACTORY_H
23 std::shared_ptr<variable_sensitivity_object_factoryt>;
31 return std::make_shared<variable_sensitivity_object_factoryt>(options);
std::shared_ptr< variable_sensitivity_object_factoryt > variable_sensitivity_object_factory_ptrt
abstract_objectt is the top of the inheritance heirarchy of objects used to represent individual vari...
sharing_ptrt< class abstract_objectt > abstract_object_pointert
Base class for all expressions.
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
The type of an expression, extends irept.
abstract_object_pointert get_abstract_object(const typet &type, bool top, bool bottom, const exprt &e, const abstract_environmentt &environment, const namespacet &ns) const
Get the appropriate abstract object for the variable under consideration.
variable_sensitivity_object_factoryt(const vsd_configt &options)
variable_sensitivity_object_factoryt(const variable_sensitivity_object_factoryt &)=delete
abstract_object_pointert wrap_with_context(const abstract_object_pointert &abstract_object) const
static variable_sensitivity_object_factory_ptrt configured_with(const vsd_configt &options)
vsd_configt configuration
const vsd_configt & config() const
ABSTRACT_OBJECT_TYPET get_abstract_object_type(const typet &type) const
Decide which abstract object type to use for the variable in question.
variable_sensitivity_object_factoryt()=delete
Captures the user-supplied configuration for VSD, determining which domain abstractions are used,...