@@ -61,9 +61,22 @@ class smv_parse_treet
6161 {
6262 }
6363
64+ itemt (
65+ item_typet __item_type,
66+ irep_idt __name,
67+ exprt __expr,
68+ source_locationt __location)
69+ : item_type(__item_type),
70+ name(__name),
71+ expr(std::move(__expr)),
72+ location(std::move(__location))
73+ {
74+ }
75+
6476 friend std::string to_string (item_typet i);
6577
6678 item_typet item_type;
79+ std::optional<irep_idt> name;
6780 exprt expr;
6881 source_locationt location;
6982
@@ -163,18 +176,6 @@ class smv_parse_treet
163176 itemt::INVAR, std::move (expr), source_locationt::nil ());
164177 }
165178
166- void add_ctlspec (exprt expr)
167- {
168- items.emplace_back (
169- itemt::CTLSPEC, std::move (expr), source_locationt::nil ());
170- }
171-
172- void add_ltlspec (exprt expr)
173- {
174- items.emplace_back (
175- itemt::LTLSPEC, std::move (expr), source_locationt::nil ());
176- }
177-
178179 void add_define (exprt lhs, exprt rhs)
179180 {
180181 items.emplace_back (
@@ -210,11 +211,22 @@ class smv_parse_treet
210211 items.emplace_back (itemt::CTLSPEC, std::move (expr), std::move (location));
211212 }
212213
214+ void add_ctlspec (irep_idt name, exprt expr, source_locationt location)
215+ {
216+ items.emplace_back (
217+ itemt::CTLSPEC, name, std::move (expr), std::move (location));
218+ }
219+
213220 void add_ltlspec (exprt expr, source_locationt location)
214221 {
215222 items.emplace_back (itemt::LTLSPEC, std::move (expr), location);
216223 }
217224
225+ void add_ltlspec (irep_idt name, exprt expr, source_locationt location)
226+ {
227+ items.emplace_back (itemt::LTLSPEC, name, std::move (expr), location);
228+ }
229+
218230 void add_define (exprt expr, source_locationt location)
219231 {
220232 items.emplace_back (itemt::DEFINE, std::move (expr), std::move (location));
0 commit comments