@@ -33,7 +33,7 @@ exprt field_sensitivityt::apply(
3333 *it = apply (ns, state, std::move (*it), write);
3434 }
3535
36- if (expr. id () == ID_symbol && expr. get_bool (ID_C_SSA_symbol ) && !write)
36+ if (is_ssa_expr ( expr) && !write)
3737 {
3838 return get_fields (ns, state, to_ssa_expr (expr));
3939 }
@@ -59,8 +59,7 @@ exprt field_sensitivityt::apply(
5959 member_exprt &member = to_member_expr (expr);
6060
6161 if (
62- member.struct_op ().id () == ID_symbol &&
63- member.struct_op ().get_bool (ID_C_SSA_symbol) &&
62+ is_ssa_expr (member.struct_op ()) &&
6463 (member.struct_op ().type ().id () == ID_struct ||
6564 member.struct_op ().type ().id () == ID_struct_tag))
6665 {
@@ -88,9 +87,7 @@ exprt field_sensitivityt::apply(
8887 simplify (index.index (), ns);
8988
9089 if (
91- index.array ().id () == ID_symbol &&
92- index.array ().get_bool (ID_C_SSA_symbol) &&
93- index.array ().type ().id () == ID_array &&
90+ is_ssa_expr (index.array ()) && index.array ().type ().id () == ID_array &&
9491 index.index ().id () == ID_constant)
9592 {
9693 // place the entire index expression, not just the array operand, in an
@@ -252,7 +249,7 @@ void field_sensitivityt::field_assignments_rec(
252249{
253250 if (lhs == lhs_fs)
254251 return ;
255- else if (lhs_fs. id () == ID_symbol && lhs_fs. get_bool (ID_C_SSA_symbol ))
252+ else if (is_ssa_expr ( lhs_fs))
256253 {
257254 exprt ssa_rhs = state.rename (lhs, ns).get ();
258255 simplify (ssa_rhs, ns);
0 commit comments