@@ -23,7 +23,7 @@ exprt field_sensitivityt::apply(
2323 ssa_exprt ssa_expr,
2424 bool write) const
2525{
26- if (!run_apply || write)
26+ if (write)
2727 return std::move (ssa_expr);
2828 else
2929 return get_fields (ns, state, ssa_expr);
@@ -35,9 +35,6 @@ exprt field_sensitivityt::apply(
3535 exprt expr,
3636 bool write) const
3737{
38- if (!run_apply)
39- return expr;
40-
4138 if (expr.id () != ID_address_of)
4239 {
4340 Forall_operands (it, expr)
@@ -46,7 +43,7 @@ exprt field_sensitivityt::apply(
4643
4744 if (!write && is_ssa_expr (expr))
4845 {
49- return apply (ns, state, to_ssa_expr (expr), write );
46+ return get_fields (ns, state, to_ssa_expr (expr));
5047 }
5148 else if (
5249 !write && expr.id () == ID_member &&
@@ -231,17 +228,14 @@ void field_sensitivityt::field_assignments(
231228 const ssa_exprt &lhs,
232229 const exprt &rhs,
233230 symex_targett &target,
234- bool allow_pointer_unsoundness)
231+ bool allow_pointer_unsoundness) const
235232{
236- const exprt lhs_fs = apply (ns, state, lhs, false );
233+ const exprt lhs_fs = get_fields (ns, state, lhs);
237234
238235 if (lhs != lhs_fs)
239236 {
240- bool run_apply_bak = run_apply;
241- run_apply = false ;
242237 field_assignments_rec (
243238 ns, state, lhs_fs, rhs, target, allow_pointer_unsoundness);
244- run_apply = run_apply_bak;
245239 }
246240}
247241
@@ -261,7 +255,7 @@ void field_sensitivityt::field_assignments_rec(
261255 const exprt &lhs_fs,
262256 const exprt &ssa_rhs,
263257 symex_targett &target,
264- bool allow_pointer_unsoundness)
258+ bool allow_pointer_unsoundness) const
265259{
266260 if (is_ssa_expr (lhs_fs))
267261 {
0 commit comments