File tree 2 files changed +20
-8
lines changed
2 files changed +20
-8
lines changed Original file line number Diff line number Diff line change @@ -244,6 +244,21 @@ class ansi_c_declarationt:public exprt
244
244
assert (!declarators ().empty ());
245
245
declarators ().back ().value ().swap (value);
246
246
}
247
+
248
+ const exprt &spec_assigns () const
249
+ {
250
+ return static_cast <const exprt &>(find (ID_C_spec_assigns));
251
+ }
252
+
253
+ const exprt &spec_requires () const
254
+ {
255
+ return static_cast <const exprt &>(find (ID_C_spec_requires));
256
+ }
257
+
258
+ const exprt &spec_ensures () const
259
+ {
260
+ return static_cast <const exprt &>(find (ID_C_spec_ensures));
261
+ }
247
262
};
248
263
249
264
inline ansi_c_declarationt &to_ansi_c_declaration (exprt &expr)
Original file line number Diff line number Diff line change @@ -645,17 +645,14 @@ void c_typecheck_baset::typecheck_declaration(
645
645
irept contract;
646
646
647
647
{
648
- exprt spec_assigns=
649
- static_cast <const exprt&>(declaration.find (ID_C_spec_assigns));
648
+ exprt spec_assigns = declaration.spec_assigns ();
650
649
contract.add (ID_C_spec_assigns).swap (spec_assigns);
651
650
652
- exprt spec_requires=
653
- static_cast <const exprt&>(declaration.find (ID_C_spec_requires));
654
- contract.add (ID_C_spec_requires).swap (spec_requires);
655
-
656
- exprt spec_ensures=
657
- static_cast <const exprt&>(declaration.find (ID_C_spec_ensures));
651
+ exprt spec_ensures = declaration.spec_ensures ();
658
652
contract.add (ID_C_spec_ensures).swap (spec_ensures);
653
+
654
+ exprt spec_requires = declaration.spec_requires ();
655
+ contract.add (ID_C_spec_requires).swap (spec_requires);
659
656
}
660
657
661
658
// Now do declarators, if any.
You can’t perform that action at this time.
0 commit comments