Skip to content

Commit 2036bad

Browse files
author
Daniel Kroening
committed
separate format_rec for codet
1 parent df358f6 commit 2036bad

File tree

2 files changed

+23
-17
lines changed

2 files changed

+23
-17
lines changed

src/util/format_expr.cpp

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -302,24 +302,27 @@ std::ostream &format_rec(std::ostream &os, const exprt &expr)
302302
return os << format(if_expr.cond()) << '?' << format(if_expr.true_case())
303303
<< ':' << format(if_expr.false_case());
304304
}
305-
else if(id == ID_code)
306-
{
307-
const auto &code = to_code(expr);
308-
const irep_idt &statement = code.get_statement();
305+
else
306+
return fallback_format_rec(os, expr);
307+
}
309308

310-
if(statement == ID_assign)
311-
return os << format(to_code_assign(code).lhs()) << " = "
312-
<< format(to_code_assign(code).rhs()) << ';';
313-
else if(statement == ID_block)
314-
{
315-
os << '{';
316-
for(const auto &s : to_code_block(code).statements())
317-
os << ' ' << format(s);
318-
return os << " }";
319-
}
320-
else
321-
return fallback_format_rec(os, expr);
309+
// The below generates a string in a generic syntax
310+
// that is inspired by C/C++/Java, and is meant for debugging
311+
// purposes.
312+
std::ostream &format_rec(std::ostream &os, const codet &code)
313+
{
314+
const irep_idt &statement = code.get_statement();
315+
316+
if(statement == ID_assign)
317+
return os << format(to_code_assign(code).lhs()) << " = "
318+
<< format(to_code_assign(code).rhs()) << ';';
319+
else if(statement == ID_block)
320+
{
321+
os << '{';
322+
for(const auto &s : to_code_block(code).statements())
323+
os << ' ' << format(s);
324+
return os << " }";
322325
}
323326
else
324-
return fallback_format_rec(os, expr);
327+
return os << statement;
325328
}

src/util/format_expr.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,11 @@ Author: Daniel Kroening, [email protected]
1212
#include "expr.h"
1313
#include "format.h"
1414

15+
class codet;
16+
1517
//! Formats an expression in a generic syntax
1618
//! that is inspired by C/C++/Java, and is meant for debugging
1719
std::ostream &format_rec(std::ostream &, const exprt &);
20+
std::ostream &format_rec(std::ostream &, const codet &);
1821

1922
#endif // CPROVER_UTIL_FORMAT_EXPR_H

0 commit comments

Comments
 (0)