cprover
Toggle main menu visibility
Loading...
Searching...
No Matches
location_update_visitor.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module: A visitor class to update the last_written_locations of any visited
4
abstract_object with a given set of locations.
5
6
Author: Jez Higgins
7
8
\*******************************************************************/
9
#ifndef CPROVER_ANALYSES_VARIABLE_SENSITIVITY_LOCATION_UPDATE_VISITOR_H
10
#define CPROVER_ANALYSES_VARIABLE_SENSITIVITY_LOCATION_UPDATE_VISITOR_H
11
12
#include "
abstract_object.h
"
13
14
class
location_update_visitort
15
:
public
abstract_objectt::abstract_object_visitort
16
{
17
public
:
18
explicit
location_update_visitort
(
const
abstract_objectt::locationt
&
location
)
19
:
location
(
location
)
20
{
21
}
22
23
abstract_object_pointert
24
visit
(
const
abstract_object_pointert
&element)
const override
25
{
26
return
element->write_location_context(
location
);
27
}
28
29
private
:
30
const
abstract_objectt::locationt
&
location
;
31
};
32
33
class
merge_location_update_visitort
34
:
public
abstract_objectt::abstract_object_visitort
35
{
36
public
:
37
explicit
merge_location_update_visitort
(
38
const
abstract_objectt::locationt
&
location
)
39
:
location
(
location
)
40
{
41
}
42
43
abstract_object_pointert
44
visit
(
const
abstract_object_pointert
&element)
const override
45
{
46
return
element->merge_location_context(
location
);
47
}
48
49
private
:
50
const
abstract_objectt::locationt
&
location
;
51
};
52
53
#endif
// CPROVER_ANALYSES_VARIABLE_SENSITIVITY_LOCATION_UPDATE_VISITOR_H
abstract_object.h
abstract_objectt is the top of the inheritance heirarchy of objects used to represent individual vari...
abstract_object_pointert
sharing_ptrt< class abstract_objectt > abstract_object_pointert
Definition
abstract_object.h:69
abstract_objectt::locationt
goto_programt::const_targett locationt
Definition
abstract_object.h:204
location_update_visitort::visit
abstract_object_pointert visit(const abstract_object_pointert &element) const override
Definition
location_update_visitor.h:24
location_update_visitort::location
const abstract_objectt::locationt & location
Definition
location_update_visitor.h:30
location_update_visitort::location_update_visitort
location_update_visitort(const abstract_objectt::locationt &location)
Definition
location_update_visitor.h:18
merge_location_update_visitort::location
const abstract_objectt::locationt & location
Definition
location_update_visitor.h:50
merge_location_update_visitort::merge_location_update_visitort
merge_location_update_visitort(const abstract_objectt::locationt &location)
Definition
location_update_visitor.h:37
merge_location_update_visitort::visit
abstract_object_pointert visit(const abstract_object_pointert &element) const override
Definition
location_update_visitor.h:44
abstract_objectt::abstract_object_visitort
Pure virtual interface required of a client that can apply a copy-on-write operation to a given abstr...
Definition
abstract_object.h:330
analyses
variable-sensitivity
location_update_visitor.h
Generated by
1.17.0