Skip to content

Commit 4e7b055

Browse files
Cleanup invariants in remove_vector
1 parent 80fd7b5 commit 4e7b055

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

src/goto-programs/remove_vector.cpp

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -82,13 +82,13 @@ static void remove_vector(exprt &expr)
8282
expr.id()==ID_mod || expr.id()==ID_bitxor ||
8383
expr.id()==ID_bitand || expr.id()==ID_bitor)
8484
{
85+
auto const &binary_expr = to_binary_expr(expr);
8586
remove_vector(expr.type());
8687
array_typet array_type=to_array_type(expr.type());
8788

8889
mp_integer dimension;
8990
to_integer(array_type.size(), dimension);
9091

91-
assert(expr.operands().size()==2);
9292
const typet subtype=array_type.subtype();
9393
// do component-wise:
9494
// x+y -> vector(x[0]+y[0],x[1]+y[1],...)
@@ -99,22 +99,23 @@ static void remove_vector(exprt &expr)
9999
{
100100
exprt index=from_integer(i, array_type.size().type());
101101

102-
array_expr.operands()[i]=
103-
binary_exprt(index_exprt(expr.op0(), index, subtype), expr.id(),
104-
index_exprt(expr.op1(), index, subtype));
102+
array_expr.operands()[i] = binary_exprt(
103+
index_exprt(binary_expr.op0(), index, subtype),
104+
binary_expr.id(),
105+
index_exprt(binary_expr.op1(), index, subtype));
105106
}
106107

107108
expr=array_expr;
108109
}
109110
else if(expr.id()==ID_unary_minus || expr.id()==ID_bitnot)
110111
{
112+
auto const &unary_expr = to_unary_expr(expr);
111113
remove_vector(expr.type());
112114
array_typet array_type=to_array_type(expr.type());
113115

114116
mp_integer dimension;
115117
to_integer(array_type.size(), dimension);
116118

117-
assert(expr.operands().size()==1);
118119
const typet subtype=array_type.subtype();
119120
// do component-wise:
120121
// -x -> vector(-x[0],-x[1],...)
@@ -125,8 +126,8 @@ static void remove_vector(exprt &expr)
125126
{
126127
exprt index=from_integer(i, array_type.size().type());
127128

128-
array_expr.operands()[i]=
129-
unary_exprt(expr.id(), index_exprt(expr.op0(), index, subtype));
129+
array_expr.operands()[i] = unary_exprt(
130+
unary_expr.id(), index_exprt(unary_expr.op0(), index, subtype));
130131
}
131132

132133
expr=array_expr;

0 commit comments

Comments
 (0)