Skip to content

Commit 957881c

Browse files
author
Daniel Kroening
committed
format now prints type expressions and the values of named sub-ireps
1 parent 41d7a45 commit 957881c

File tree

1 file changed

+21
-11
lines changed

1 file changed

+21
-11
lines changed

src/util/format_expr.cpp

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,8 @@ std::ostream &format_rec(
165165
<< to_member_expr(expr).get_component_name();
166166
else if(id == ID_symbol)
167167
return os << to_symbol_expr(expr).get_identifier();
168+
else if(id == ID_type)
169+
return format_rec(os, expr.type());
168170
else if(id == ID_forall || id == ID_exists)
169171
return os << id << ' ' << format(to_quantifier_expr(expr).symbol()) << " : "
170172
<< format(to_quantifier_expr(expr).symbol().type()) << " . "
@@ -199,22 +201,30 @@ std::ostream &format_rec(
199201
}
200202
else
201203
{
202-
if(!expr.has_operands())
203-
return os << id;
204+
os << id;
204205

205-
os << id << '(';
206-
bool first = true;
206+
for(const auto &s : expr.get_named_sub())
207+
if(s.first!=ID_type)
208+
os << ' ' << s.first << "=\"" << s.second.id() << '"';
207209

208-
for(const auto &op : expr.operands())
210+
if(expr.has_operands())
209211
{
210-
if(first)
211-
first = false;
212-
else
213-
os << ", ";
212+
os << id << '(';
213+
bool first = true;
214214

215-
os << format(op);
215+
for(const auto &op : expr.operands())
216+
{
217+
if(first)
218+
first = false;
219+
else
220+
os << ", ";
221+
222+
os << format(op);
223+
}
224+
225+
os << ')';
216226
}
217227

218-
return os << ')';
228+
return os;
219229
}
220230
}

0 commit comments

Comments
 (0)