@@ -31,9 +31,9 @@ exprt ltl_sva_to_stringt::atom(const std::string &string) const
3131}
3232
3333ltl_sva_to_stringt::resultt
34- ltl_sva_to_stringt::suffix (std::string s, const exprt &expr, modet mode)
34+ ltl_sva_to_stringt::suffix (std::string s, const unary_exprt &expr, modet mode)
3535{
36- auto op_rec = rec (to_unary_expr ( expr) .op (), mode);
36+ auto op_rec = rec (expr.op (), mode);
3737
3838 if (op_rec.p == precedencet::ATOM || op_rec.p == precedencet::SUFFIX)
3939 return resultt{precedencet::SUFFIX, op_rec.s + s};
@@ -42,9 +42,9 @@ ltl_sva_to_stringt::suffix(std::string s, const exprt &expr, modet mode)
4242}
4343
4444ltl_sva_to_stringt::resultt
45- ltl_sva_to_stringt::prefix (std::string s, const exprt &expr, modet mode)
45+ ltl_sva_to_stringt::prefix (std::string s, const unary_exprt &expr, modet mode)
4646{
47- auto op_rec = rec (to_unary_expr ( expr) .op (), mode);
47+ auto op_rec = rec (expr.op (), mode);
4848
4949 if (op_rec.p == precedencet::ATOM || op_rec.p == precedencet::PREFIX)
5050 return resultt{precedencet::PREFIX, s + op_rec.s };
@@ -97,7 +97,7 @@ ltl_sva_to_stringt::rec(const exprt &expr, modet mode)
9797 }
9898 else if (expr.id () == ID_not)
9999 {
100- return prefix (" !" , expr, mode);
100+ return prefix (" !" , to_not_expr ( expr) , mode);
101101 }
102102 else if (expr.is_true ())
103103 {
@@ -112,17 +112,17 @@ ltl_sva_to_stringt::rec(const exprt &expr, modet mode)
112112 else if (expr.id () == ID_F)
113113 {
114114 PRECONDITION (mode == PROPERTY);
115- return prefix (" F" , expr, mode);
115+ return prefix (" F" , to_F_expr ( expr) , mode);
116116 }
117117 else if (expr.id () == ID_G)
118118 {
119119 PRECONDITION (mode == PROPERTY);
120- return prefix (" G" , expr, mode);
120+ return prefix (" G" , to_G_expr ( expr) , mode);
121121 }
122122 else if (expr.id () == ID_X)
123123 {
124124 PRECONDITION (mode == PROPERTY);
125- return prefix (" X" , expr, mode);
125+ return prefix (" X" , to_X_expr ( expr) , mode);
126126 }
127127 else if (expr.id () == ID_U)
128128 {
@@ -147,7 +147,7 @@ ltl_sva_to_stringt::rec(const exprt &expr, modet mode)
147147 else if (expr.id () == ID_sva_always)
148148 {
149149 PRECONDITION (mode == PROPERTY);
150- return prefix (" G" , expr, mode);
150+ return prefix (" G" , to_sva_always_expr ( expr) , mode);
151151 }
152152 else if (expr.id () == ID_sva_ranged_always)
153153 {
@@ -186,7 +186,7 @@ ltl_sva_to_stringt::rec(const exprt &expr, modet mode)
186186 else if (expr.id () == ID_sva_s_eventually)
187187 {
188188 PRECONDITION (mode == PROPERTY);
189- return prefix (" F" , expr, mode);
189+ return prefix (" F" , to_sva_s_eventually_expr ( expr) , mode);
190190 }
191191 else if (
192192 expr.id () == ID_sva_ranged_s_eventually || expr.id () == ID_sva_eventually)
@@ -212,12 +212,12 @@ ltl_sva_to_stringt::rec(const exprt &expr, modet mode)
212212 else if (expr.id () == ID_sva_s_nexttime)
213213 {
214214 PRECONDITION (mode == PROPERTY);
215- return prefix (" X" , expr, mode);
215+ return prefix (" X" , to_sva_s_nexttime_expr ( expr) , mode);
216216 }
217217 else if (expr.id () == ID_sva_nexttime)
218218 {
219219 PRECONDITION (mode == PROPERTY);
220- return prefix (" X" , expr, mode);
220+ return prefix (" X" , to_sva_nexttime_expr ( expr) , mode);
221221 }
222222 else if (expr.id () == ID_sva_overlapped_implication)
223223 {
@@ -422,12 +422,12 @@ ltl_sva_to_stringt::rec(const exprt &expr, modet mode)
422422 else if (expr.id () == ID_sva_cycle_delay_star) // ##[*] something
423423 {
424424 PRECONDITION (mode == SVA_SEQUENCE);
425- return suffix (" [*]" , expr, mode);
425+ return suffix (" [*]" , to_sva_cycle_delay_star_expr ( expr) , mode);
426426 }
427427 else if (expr.id () == ID_sva_cycle_delay_plus) // ##[+] something
428428 {
429429 PRECONDITION (mode == SVA_SEQUENCE);
430- return suffix (" [+]" , expr, mode);
430+ return suffix (" [+]" , to_sva_cycle_delay_plus_expr ( expr) , mode);
431431 }
432432 else if (expr.id () == ID_if)
433433 {
@@ -477,7 +477,10 @@ ltl_sva_to_stringt::rec(const exprt &expr, modet mode)
477477 else if (expr.id () == ID_sva_sequence_repetition_plus) // something[+]
478478 {
479479 PRECONDITION (mode == SVA_SEQUENCE);
480- return suffix (" [+]" , expr, mode);
480+ auto new_expr = unary_exprt{
481+ ID_sva_sequence_repetition_plus,
482+ to_sva_sequence_repetition_plus_expr (expr).op ()};
483+ return suffix (" [+]" , new_expr, mode);
481484 }
482485 else if (expr.id () == ID_sva_sequence_goto_repetition) // something[->n]
483486 {
0 commit comments