@@ -229,6 +229,49 @@ private predicate summaryModel0(
229
229
)
230
230
}
231
231
232
+ /**
233
+ * Holds if the given extension tuple `madId` should pretty-print as `model`.
234
+ *
235
+ * This predicate should only be used in tests.
236
+ */
237
+ predicate interpretModelForTest ( QlBuiltins:: ExtensionId madId , string model ) {
238
+ exists (
239
+ string package , string type , boolean subtypes , string name , string signature , string ext ,
240
+ string output , string kind , string provenance
241
+ |
242
+ Extensions:: sourceModel ( package , type , subtypes , name , signature , ext , output , kind , provenance ,
243
+ madId )
244
+ |
245
+ model =
246
+ "Source: " + package + "; " + type + "; " + subtypes + "; " + name + "; " + signature + "; " +
247
+ ext + "; " + output + "; " + kind + "; " + provenance
248
+ )
249
+ or
250
+ exists (
251
+ string package , string type , boolean subtypes , string name , string signature , string ext ,
252
+ string input , string kind , string provenance
253
+ |
254
+ Extensions:: sinkModel ( package , type , subtypes , name , signature , ext , input , kind , provenance ,
255
+ madId )
256
+ |
257
+ model =
258
+ "Sink: " + package + "; " + type + "; " + subtypes + "; " + name + "; " + signature + "; " +
259
+ ext + "; " + input + "; " + kind + "; " + provenance
260
+ )
261
+ or
262
+ exists (
263
+ string package , string type , boolean subtypes , string name , string signature , string ext ,
264
+ string input , string output , string kind , string provenance
265
+ |
266
+ Extensions:: summaryModel ( package , type , subtypes , name , signature , ext , input , output , kind ,
267
+ provenance , madId )
268
+ |
269
+ model =
270
+ "Summary: " + package + "; " + type + "; " + subtypes + "; " + name + "; " + signature + "; " +
271
+ ext + "; " + input + "; " + output + "; " + kind + "; " + provenance
272
+ )
273
+ }
274
+
232
275
/**
233
276
* Holds if `input` is `input0`, but with all occurrences of `@` replaced
234
277
* by `n` repetitions of `*` (and similarly for `output` and `output0`).
0 commit comments