Skip to content

Commit 2e4c203

Browse files
authored
Merge pull request #1141 from diffblue/ltl-sva-resultt-e
remove `ltl_sva_to_stringt::resultt::e`
2 parents 5906108 + 2b92edc commit 2e4c203

File tree

2 files changed

+11
-23
lines changed

2 files changed

+11
-23
lines changed

src/temporal-logic/ltl_sva_to_string.cpp

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -35,53 +35,45 @@ ltl_sva_to_stringt::suffix(std::string s, const exprt &expr, modet mode)
3535
{
3636
auto op_rec = rec(to_unary_expr(expr).op(), mode);
3737

38-
auto new_e = to_unary_expr(expr);
39-
new_e.op() = op_rec.e;
40-
4138
if(op_rec.p == precedencet::ATOM || op_rec.p == precedencet::SUFFIX)
42-
return resultt{precedencet::SUFFIX, op_rec.s + s, new_e};
39+
return resultt{precedencet::SUFFIX, op_rec.s + s};
4340
else
44-
return resultt{precedencet::SUFFIX, '(' + op_rec.s + ')' + s, new_e};
41+
return resultt{precedencet::SUFFIX, '(' + op_rec.s + ')' + s};
4542
}
4643

4744
ltl_sva_to_stringt::resultt
4845
ltl_sva_to_stringt::prefix(std::string s, const exprt &expr, modet mode)
4946
{
5047
auto op_rec = rec(to_unary_expr(expr).op(), mode);
5148

52-
auto new_e = to_unary_expr(expr);
53-
new_e.op() = op_rec.e;
54-
5549
if(op_rec.p == precedencet::ATOM || op_rec.p == precedencet::PREFIX)
56-
return resultt{precedencet::PREFIX, s + op_rec.s, new_e};
50+
return resultt{precedencet::PREFIX, s + op_rec.s};
5751
else
58-
return resultt{precedencet::PREFIX, s + '(' + op_rec.s + ')', new_e};
52+
return resultt{precedencet::PREFIX, s + '(' + op_rec.s + ')'};
5953
}
6054

6155
ltl_sva_to_stringt::resultt
6256
ltl_sva_to_stringt::infix(std::string s, const exprt &expr, modet mode)
6357
{
6458
std::string result;
6559
bool first = true;
66-
exprt new_e = expr; // copy
6760

68-
for(auto &op : new_e.operands())
61+
for(auto &op : expr.operands())
6962
{
7063
if(first)
7164
first = false;
7265
else
7366
result += s;
7467

7568
auto op_rec = rec(op, mode);
76-
op = op_rec.e;
7769

7870
if(op_rec.p == precedencet::ATOM)
7971
result += op_rec.s;
8072
else
8173
result += '(' + op_rec.s + ')';
8274
}
8375

84-
return resultt{precedencet::INFIX, result, new_e};
76+
return resultt{precedencet::INFIX, result};
8577
}
8678

8779
ltl_sva_to_stringt::resultt
@@ -110,12 +102,12 @@ ltl_sva_to_stringt::rec(const exprt &expr, modet mode)
110102
else if(expr.is_true())
111103
{
112104
// 1 is preferred, but G1 is parsed as an atom
113-
return resultt{precedencet::ATOM, "true", expr};
105+
return resultt{precedencet::ATOM, "true"};
114106
}
115107
else if(expr.is_false())
116108
{
117109
// 0 is preferred, but G0 is parsed as an atom
118-
return resultt{precedencet::ATOM, "false", expr};
110+
return resultt{precedencet::ATOM, "false"};
119111
}
120112
else if(expr.id() == ID_F)
121113
{
@@ -309,7 +301,7 @@ ltl_sva_to_stringt::rec(const exprt &expr, modet mode)
309301
// weak closure
310302
auto &sequence = to_sva_sequence_property_expr_base(expr).sequence();
311303
auto op_rec = rec(sequence, SVA_SEQUENCE);
312-
return resultt{precedencet::ATOM, '{' + op_rec.s + '}', expr};
304+
return resultt{precedencet::ATOM, '{' + op_rec.s + '}'};
313305
}
314306
else if(expr.id() == ID_sva_or)
315307
{
@@ -551,9 +543,7 @@ ltl_sva_to_stringt::rec(const exprt &expr, modet mode)
551543
// a0, a1, a2, a3, a4, ...
552544
std::string s = "a" + std::to_string(number);
553545

554-
symbol_exprt new_e{s, expr.type()};
555-
556-
return resultt{precedencet::ATOM, s, new_e};
546+
return resultt{precedencet::ATOM, s};
557547
}
558548
else
559549
throw ebmc_errort{} << "cannot convert " << expr.id() << " to Buechi";

src/temporal-logic/ltl_sva_to_string.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,11 @@ class ltl_sva_to_stringt
3434

3535
struct resultt
3636
{
37-
resultt(precedencet _p, std::string _s, exprt _e)
38-
: p(_p), s(std::move(_s)), e(std::move(_e))
37+
resultt(precedencet _p, std::string _s) : p(_p), s(std::move(_s))
3938
{
4039
}
4140
precedencet p;
4241
std::string s;
43-
exprt e;
4442
};
4543

4644
numberingt<exprt, irep_hash> atoms;

0 commit comments

Comments
 (0)