Skip to content

Commit 5d8c27c

Browse files
committed
Simplify struct_abstract_objecctt::write_component
1 parent d6982e8 commit 5d8c27c

File tree

4 files changed

+8
-10
lines changed

4 files changed

+8
-10
lines changed

src/analyses/variable-sensitivity/full_struct_abstract_object.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ abstract_object_pointert full_struct_abstract_objectt::read_component(
104104
}
105105
}
106106

107-
sharing_ptrt<struct_abstract_objectt>
107+
abstract_object_pointert
108108
full_struct_abstract_objectt::write_component(
109109
abstract_environmentt &environment,
110110
const namespacet &ns,
@@ -119,9 +119,8 @@ full_struct_abstract_objectt::write_component(
119119

120120
if(is_bottom())
121121
{
122-
return sharing_ptrt<full_struct_abstract_objectt>(
123-
new full_struct_abstract_objectt(
124-
member_expr.compound().type(), false, true));
122+
return std::make_shared<full_struct_abstract_objectt>(
123+
member_expr.compound().type(), false, true);
125124
}
126125

127126
const auto &result =

src/analyses/variable-sensitivity/full_struct_abstract_object.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ class full_struct_abstract_objectt : public struct_abstract_objectt
137137
/// writing to a specific component. In this case this will
138138
/// always be top as we are not tracking the value of this
139139
/// struct.
140-
sharing_ptrt<struct_abstract_objectt> write_component(
140+
abstract_object_pointert write_component(
141141
abstract_environmentt &environment,
142142
const namespacet &ns,
143143
const std::stack<exprt> &stack,

src/analyses/variable-sensitivity/struct_abstract_object.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ abstract_object_pointert struct_abstract_objectt::read_component(
6868
member_expr.type(), ns, !is_bottom(), is_bottom());
6969
}
7070

71-
sharing_ptrt<struct_abstract_objectt> struct_abstract_objectt::write_component(
71+
abstract_object_pointert struct_abstract_objectt::write_component(
7272
abstract_environmentt &environment,
7373
const namespacet &ns,
7474
const std::stack<exprt> &stack,
@@ -78,12 +78,11 @@ sharing_ptrt<struct_abstract_objectt> struct_abstract_objectt::write_component(
7878
{
7979
if(is_top() || is_bottom())
8080
{
81-
return std::dynamic_pointer_cast<const struct_abstract_objectt>(clone());
81+
return shared_from_this();
8282
}
8383
else
8484
{
85-
return sharing_ptrt<struct_abstract_objectt>(
86-
new struct_abstract_objectt(type(), true, false));
85+
return std::make_shared<struct_abstract_objectt>(type(), true, false);
8786
}
8887
}
8988

src/analyses/variable-sensitivity/struct_abstract_object.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ class struct_abstract_objectt : public abstract_objectt
125125
/// \return The struct_abstract_objectt representing the result of writing
126126
/// to a specific component. In this case this will always be top
127127
/// as we are not tracking the value of this struct.
128-
virtual sharing_ptrt<struct_abstract_objectt> write_component(
128+
virtual abstract_object_pointert write_component(
129129
abstract_environmentt &environment,
130130
const namespacet &ns,
131131
const std::stack<exprt> &stack,

0 commit comments

Comments
 (0)