You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/analyses/mCP.ml
+41-39Lines changed: 41 additions & 39 deletions
Original file line number
Diff line number
Diff line change
@@ -264,46 +264,48 @@ struct
264
264
265
265
(* Explicitly polymorphic type required here for recursive GADT call in ask. *)
266
266
and query': type a. querycache:Obj.t QueryHash.t -> QuerySet.t -> (D.t, G.t, C.t, V.t) ctx -> a Queries.t -> a Queries.result =fun~querycacheaskedctxq ->
267
-
letmoduleResult = (val Queries.Result.lattice q) in
268
-
ifQuerySet.mem (Any q) asked then
269
-
Result.top ()(* query cycle *)
270
-
elseifQueryHash.mem querycache (Any q) then
271
-
Obj.obj (QueryHash.find querycache (Any q))
272
-
else
273
-
let asked' =QuerySet.add (Any q) asked in
274
-
let sides =ref[]in
275
-
let ctx'' = outer_ctx "query"~sides ctx in
276
-
letf~qa (n,(module S:MCPSpec),d) =
277
-
letctx' : (S.D.t, S.G.t, S.C.t, S.V.t) ctx = inner_ctx "query" ctx'' n d in
278
-
(* sideg is discouraged in query, because they would bypass sides grouping in other transfer functions.
279
-
See https://github.com/goblint/analyzer/pull/214. *)
0 commit comments