@@ -131,6 +131,7 @@ type _ t =
131131 | MustProtectedVars : mustprotectedvars -> VS .t t
132132 | MustProtectingLocks : mustprotectinglocks -> LockDomain.MustLockset .t t
133133 | Invariant : invariant_context -> Invariant .t t
134+ | InvariantTransition : invariant_context -> Invariant .t t
134135 | InvariantGlobal : Obj .t -> Invariant .t t (* * Argument must be of corresponding [Spec.V.t]. *)
135136 | WarnGlobal : Obj .t -> Unit .t t (* * Argument must be of corresponding [Spec.V.t]. *)
136137 | IterSysVars : VarQuery .t * Obj .t VarQuery .f -> Unit .t t (* * [iter_vars] for [Constraints.FromSpec]. [Obj.t] represents [Spec.V.t]. *)
@@ -206,6 +207,7 @@ struct
206207 | MustProtectedVars _ -> (module VS )
207208 | MustProtectingLocks _ -> (module LockDomain. MustLockset )
208209 | Invariant _ -> (module Invariant )
210+ | InvariantTransition _ -> (module Invariant )
209211 | InvariantGlobal _ -> (module Invariant )
210212 | WarnGlobal _ -> (module Unit )
211213 | IterSysVars _ -> (module Unit )
@@ -280,6 +282,7 @@ struct
280282 | MustProtectedVars _ -> VS. top ()
281283 | MustProtectingLocks _ -> LockDomain.MustLockset. top ()
282284 | Invariant _ -> Invariant. top ()
285+ | InvariantTransition _ -> Invariant. top ()
283286 | InvariantGlobal _ -> Invariant. top ()
284287 | WarnGlobal _ -> Unit. top ()
285288 | IterSysVars _ -> Unit. top ()
@@ -366,6 +369,7 @@ struct
366369 | Any (MustProtectingLocks _ ) -> 61
367370 | Any (GhostVarAvailable _ ) -> 62
368371 | Any InvariantGlobalNodes -> 63
372+ | Any (InvariantTransition _ ) -> 64
369373
370374 let rec compare a b =
371375 let r = Stdlib. compare (order a) (order b) in
@@ -413,6 +417,7 @@ struct
413417 | Any (EvalJumpBuf e1 ), Any (EvalJumpBuf e2 ) -> CilType.Exp. compare e1 e2
414418 | Any (WarnGlobal vi1 ), Any (WarnGlobal vi2 ) -> Stdlib. compare (Hashtbl. hash vi1) (Hashtbl. hash vi2)
415419 | Any (Invariant i1 ), Any (Invariant i2 ) -> compare_invariant_context i1 i2
420+ | Any (InvariantTransition i1 ), Any (InvariantTransition i2 ) -> compare_invariant_context i1 i2
416421 | Any (InvariantGlobal vi1 ), Any (InvariantGlobal vi2 ) -> Stdlib. compare (Hashtbl. hash vi1) (Hashtbl. hash vi2)
417422 | Any (YamlEntryGlobal (vi1 , task1 )), Any (YamlEntryGlobal (vi2 , task2 )) -> Stdlib. compare (Hashtbl. hash vi1) (Hashtbl. hash vi2) (* TODO: compare task *)
418423 | Any (IterSysVars (vq1 , vf1 )), Any (IterSysVars (vq2 , vf2 )) -> VarQuery. compare vq1 vq2 (* not comparing fs *)
@@ -461,6 +466,7 @@ struct
461466 | Any (EvalJumpBuf e ) -> CilType.Exp. hash e
462467 | Any (WarnGlobal vi ) -> Hashtbl. hash vi
463468 | Any (Invariant i ) -> hash_invariant_context i
469+ | Any (InvariantTransition i ) -> hash_invariant_context i
464470 | Any (MutexType m ) -> Mval.Unit. hash m
465471 | Any (InvariantGlobal vi ) -> Hashtbl. hash vi
466472 | Any (YamlEntryGlobal (vi , task )) -> Hashtbl. hash vi (* TODO: hash task *)
@@ -522,6 +528,7 @@ struct
522528 | Any (MustProtectedVars m ) -> Pretty. dprintf " MustProtectedVars _"
523529 | Any (MustProtectingLocks g ) -> Pretty. dprintf " MustProtectingLocks _"
524530 | Any (Invariant i ) -> Pretty. dprintf " Invariant _"
531+ | Any (InvariantTransition i ) -> Pretty. dprintf " InvariantTransition _"
525532 | Any (WarnGlobal vi ) -> Pretty. dprintf " WarnGlobal _"
526533 | Any (IterSysVars _ ) -> Pretty. dprintf " IterSysVars _"
527534 | Any (InvariantGlobal i ) -> Pretty. dprintf " InvariantGlobal _"
0 commit comments