@@ -376,12 +376,30 @@ module ModelValidation {
376
376
)
377
377
}
378
378
379
+ private string getInvalidPackageGroup ( ) {
380
+ exists ( string pred , string group , string package |
381
+ FlowExtensions:: sourceModel ( package , _, _, _, _, _, _, _, _, _) and pred = "source"
382
+ or
383
+ FlowExtensions:: sinkModel ( package , _, _, _, _, _, _, _, _, _) and pred = "sink"
384
+ or
385
+ FlowExtensions:: summaryModel ( package , _, _, _, _, _, _, _, _, _, _) and
386
+ pred = "summary"
387
+ or
388
+ FlowExtensions:: neutralModel ( package , _, _, _, _, _) and
389
+ pred = "neutral"
390
+ |
391
+ package = groupPrefix ( ) + group and
392
+ not FlowExtensions:: packageGrouping ( group , _) and
393
+ result = "Dubious package group \"" + package + "\" in " + pred + " model."
394
+ )
395
+ }
396
+
379
397
/** Holds if some row in a MaD flow model appears to contain typos. */
380
398
query predicate invalidModelRow ( string msg ) {
381
399
msg =
382
400
[
383
401
getInvalidModelSignature ( ) , getInvalidModelInput ( ) , getInvalidModelOutput ( ) ,
384
- KindVal:: getInvalidModelKind ( )
402
+ KindVal:: getInvalidModelKind ( ) , getInvalidPackageGroup ( )
385
403
]
386
404
}
387
405
}
0 commit comments