@@ -861,35 +861,6 @@ static inline sva_and_exprt &to_sva_and_expr(exprt &expr)
861
861
return static_cast <sva_and_exprt &>(expr);
862
862
}
863
863
864
- class sva_sequence_concatenation_exprt : public binary_exprt
865
- {
866
- public:
867
- explicit sva_sequence_concatenation_exprt (exprt op0, exprt op1)
868
- : binary_exprt(
869
- std::move (op0),
870
- ID_sva_sequence_concatenation,
871
- std::move(op1),
872
- verilog_sva_sequence_typet{})
873
- {
874
- }
875
- };
876
-
877
- static inline const sva_sequence_concatenation_exprt &
878
- to_sva_sequence_concatenation_expr (const exprt &expr)
879
- {
880
- PRECONDITION (expr.id () == ID_sva_sequence_concatenation);
881
- sva_sequence_concatenation_exprt::check (expr, validation_modet::INVARIANT);
882
- return static_cast <const sva_sequence_concatenation_exprt &>(expr);
883
- }
884
-
885
- static inline sva_sequence_concatenation_exprt &
886
- to_sva_sequence_concatenation_expr (exprt &expr)
887
- {
888
- PRECONDITION (expr.id () == ID_sva_sequence_concatenation);
889
- sva_sequence_concatenation_exprt::check (expr, validation_modet::INVARIANT);
890
- return static_cast <sva_sequence_concatenation_exprt &>(expr);
891
- }
892
-
893
864
class sva_iff_exprt : public binary_predicate_exprt
894
865
{
895
866
public:
@@ -1084,6 +1055,48 @@ static inline sva_cycle_delay_exprt &to_sva_cycle_delay_expr(exprt &expr)
1084
1055
return static_cast <sva_cycle_delay_exprt &>(expr);
1085
1056
}
1086
1057
1058
+ class sva_sequence_concatenation_exprt : public binary_exprt
1059
+ {
1060
+ public:
1061
+ // The lhs is a sequence, the rhs is a sva_cycle_delay expression
1062
+ explicit sva_sequence_concatenation_exprt (
1063
+ exprt __lhs,
1064
+ sva_cycle_delay_exprt __rhs)
1065
+ : binary_exprt(
1066
+ std::move (__lhs),
1067
+ ID_sva_sequence_concatenation,
1068
+ std::move(__rhs),
1069
+ verilog_sva_sequence_typet{})
1070
+ {
1071
+ }
1072
+
1073
+ const sva_cycle_delay_exprt &rhs () const
1074
+ {
1075
+ return static_cast <const sva_cycle_delay_exprt &>(binary_exprt::rhs ());
1076
+ }
1077
+
1078
+ sva_cycle_delay_exprt &rhs ()
1079
+ {
1080
+ return static_cast <sva_cycle_delay_exprt &>(binary_exprt::rhs ());
1081
+ }
1082
+ };
1083
+
1084
+ static inline const sva_sequence_concatenation_exprt &
1085
+ to_sva_sequence_concatenation_expr (const exprt &expr)
1086
+ {
1087
+ PRECONDITION (expr.id () == ID_sva_sequence_concatenation);
1088
+ sva_sequence_concatenation_exprt::check (expr, validation_modet::INVARIANT);
1089
+ return static_cast <const sva_sequence_concatenation_exprt &>(expr);
1090
+ }
1091
+
1092
+ static inline sva_sequence_concatenation_exprt &
1093
+ to_sva_sequence_concatenation_expr (exprt &expr)
1094
+ {
1095
+ PRECONDITION (expr.id () == ID_sva_sequence_concatenation);
1096
+ sva_sequence_concatenation_exprt::check (expr, validation_modet::INVARIANT);
1097
+ return static_cast <sva_sequence_concatenation_exprt &>(expr);
1098
+ }
1099
+
1087
1100
class sva_cycle_delay_plus_exprt : public unary_exprt
1088
1101
{
1089
1102
public:
0 commit comments