@@ -376,12 +376,30 @@ module ModelValidation {
376376 )
377377 }
378378
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+
379397 /** Holds if some row in a MaD flow model appears to contain typos. */
380398 query predicate invalidModelRow ( string msg ) {
381399 msg =
382400 [
383401 getInvalidModelSignature ( ) , getInvalidModelInput ( ) , getInvalidModelOutput ( ) ,
384- KindVal:: getInvalidModelKind ( )
402+ KindVal:: getInvalidModelKind ( ) , getInvalidPackageGroup ( )
385403 ]
386404 }
387405}
0 commit comments