@@ -370,20 +370,27 @@ module MakeModelGenerator<
370370 * based on heuristic data flow.
371371 */
372372 module Heuristic {
373- private module ModelPrintingInput implements Printing:: ModelPrintingSig {
373+ private module ModelPrintingSummaryInput implements Printing:: ModelPrintingSummarySig {
374374 class SummaryApi = DataFlowSummaryTargetApi ;
375375
376+ string getProvenance ( ) { result = "df-generated" }
377+ }
378+
379+ module ModelPrintingSummary = Printing:: ModelPrintingSummary< ModelPrintingSummaryInput > ;
380+
381+ private module ModelPrintingSourceOrSinkInput implements Printing:: ModelPrintingSourceOrSinkSig {
376382 class SourceOrSinkApi = SourceOrSinkTargetApi ;
377383
378384 string getProvenance ( ) { result = "df-generated" }
379385 }
380386
381- module ModelPrinting = Printing:: ModelPrinting< ModelPrintingInput > ;
382-
383387 private string getOutput ( ReturnNodeExt node ) {
384388 result = PrintReturnNodeExt< paramReturnNodeAsOutput / 2 > :: getOutput ( node )
385389 }
386390
391+ private module ModelPrintingSourceOrSink =
392+ Printing:: ModelPrintingSourceOrSink< ModelPrintingSourceOrSinkInput > ;
393+
387394 /**
388395 * Holds if data can flow from `node1` to `node2` either via a read or a write of an intermediate field `f`.
389396 */
@@ -419,7 +426,7 @@ module MakeModelGenerator<
419426 api = returnNodeEnclosingCallable ( ret ) and
420427 isOwnInstanceAccessNode ( ret )
421428 ) and
422- result = ModelPrinting :: asLiftedValueModel ( api , qualifierString ( ) , "ReturnValue" )
429+ result = ModelPrintingSummary :: asLiftedValueModel ( api , qualifierString ( ) , "ReturnValue" )
423430 }
424431
425432 private int accessPathLimit0 ( ) { result = 2 }
@@ -539,7 +546,7 @@ module MakeModelGenerator<
539546 input = parameterNodeAsInput ( p ) and
540547 output = getOutput ( returnNodeExt ) and
541548 input != output and
542- result = ModelPrinting :: asLiftedTaintModel ( api , input , output )
549+ result = ModelPrintingSummary :: asLiftedTaintModel ( api , input , output )
543550 )
544551 }
545552
@@ -572,7 +579,7 @@ module MakeModelGenerator<
572579 exists ( captureFlow ( api0 ) ) and api0 .lift ( ) = api .lift ( )
573580 ) and
574581 api .isRelevant ( ) and
575- result = ModelPrinting :: asNeutralSummaryModel ( api )
582+ result = ModelPrintingSummary :: asNeutralSummaryModel ( api )
576583 }
577584
578585 /**
@@ -617,7 +624,7 @@ module MakeModelGenerator<
617624 sourceNode ( source , kind ) and
618625 api = getEnclosingCallable ( sink ) and
619626 not irrelevantSourceSinkApi ( getEnclosingCallable ( source ) , api ) and
620- result = ModelPrinting :: asSourceModel ( api , getOutput ( sink ) , kind )
627+ result = ModelPrintingSourceOrSink :: asSourceModel ( api , getOutput ( sink ) , kind )
621628 )
622629 }
623630
@@ -663,7 +670,7 @@ module MakeModelGenerator<
663670 PropagateToSink:: flow ( src , sink ) and
664671 sinkNode ( sink , kind ) and
665672 api = getEnclosingCallable ( src ) and
666- result = ModelPrinting :: asSinkModel ( api , asInputArgument ( src ) , kind )
673+ result = ModelPrintingSourceOrSink :: asSinkModel ( api , asInputArgument ( src ) , kind )
667674 )
668675 }
669676 }
@@ -703,15 +710,13 @@ module MakeModelGenerator<
703710
704711 private module PropagateContentFlow = ContentDataFlow:: Global< PropagateContentFlowConfig > ;
705712
706- private module ContentModelPrintingInput implements Printing:: ModelPrintingSig {
713+ private module ContentModelPrintingInput implements Printing:: ModelPrintingSummarySig {
707714 class SummaryApi = DataFlowSummaryTargetApi ;
708715
709- class SourceOrSinkApi = SourceOrSinkTargetApi ;
710-
711716 string getProvenance ( ) { result = "dfc-generated" }
712717 }
713718
714- private module ContentModelPrinting = Printing:: ModelPrinting < ContentModelPrintingInput > ;
719+ private module ContentModelPrinting = Printing:: ModelPrintingSummary < ContentModelPrintingInput > ;
715720
716721 private string getContentOutput ( ReturnNodeExt node ) {
717722 result = PrintReturnNodeExt< paramReturnNodeAsContentOutput / 2 > :: getOutput ( node )
@@ -1075,6 +1080,6 @@ module MakeModelGenerator<
10751080 )
10761081 ) and
10771082 api .isRelevant ( ) and
1078- result = Heuristic:: ModelPrinting :: asNeutralSummaryModel ( api )
1083+ result = Heuristic:: ModelPrintingSummary :: asNeutralSummaryModel ( api )
10791084 }
10801085}
0 commit comments