Skip to content

Commit d6982e8

Browse files
committed
Simplify union_abstract_objectt::write_component
1 parent fe277a2 commit d6982e8

File tree

2 files changed

+4
-5
lines changed

2 files changed

+4
-5
lines changed

src/analyses/variable-sensitivity/union_abstract_object.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ abstract_object_pointert union_abstract_objectt::read_component(
6565
member_expr.type(), ns, !is_bottom(), is_bottom());
6666
}
6767

68-
sharing_ptrt<union_abstract_objectt> union_abstract_objectt::write_component(
68+
abstract_object_pointert union_abstract_objectt::write_component(
6969
abstract_environmentt &environment,
7070
const namespacet &ns,
7171
const std::stack<exprt> &stack,
@@ -75,11 +75,10 @@ sharing_ptrt<union_abstract_objectt> union_abstract_objectt::write_component(
7575
{
7676
if(is_top() || is_bottom())
7777
{
78-
return std::dynamic_pointer_cast<const union_abstract_objectt>(clone());
78+
return shared_from_this();
7979
}
8080
else
8181
{
82-
return sharing_ptrt<union_abstract_objectt>(
83-
new union_abstract_objectt(type(), true, false));
82+
return std::make_shared<union_abstract_objectt>(type(), true, false);
8483
}
8584
}

src/analyses/variable-sensitivity/union_abstract_object.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ class union_abstract_objectt : public abstract_objectt
118118
/// \return The union_abstract_objectt representing the result of writing
119119
/// to a specific component. In this case this will always be top
120120
/// as we are not tracking the value of this union.
121-
virtual sharing_ptrt<union_abstract_objectt> write_component(
121+
virtual abstract_object_pointert write_component(
122122
abstract_environmentt &environment,
123123
const namespacet &ns,
124124
const std::stack<exprt> &stack,

0 commit comments

Comments
 (0)