@@ -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 }
@@ -535,7 +542,7 @@ module MakeModelGenerator<
535542 input = parameterNodeAsInput ( p ) and
536543 output = getOutput ( returnNodeExt ) and
537544 input != output and
538- result = ModelPrinting :: asLiftedTaintModel ( api , input , output )
545+ result = ModelPrintingSummary :: asLiftedTaintModel ( api , input , output )
539546 )
540547 }
541548
@@ -568,7 +575,7 @@ module MakeModelGenerator<
568575 exists ( captureFlow ( api0 ) ) and api0 .lift ( ) = api .lift ( )
569576 ) and
570577 api .isRelevant ( ) and
571- result = ModelPrinting :: asNeutralSummaryModel ( api )
578+ result = ModelPrintingSummary :: asNeutralSummaryModel ( api )
572579 }
573580
574581 /**
@@ -613,7 +620,7 @@ module MakeModelGenerator<
613620 sourceNode ( source , kind ) and
614621 api = getEnclosingCallable ( sink ) and
615622 not irrelevantSourceSinkApi ( getEnclosingCallable ( source ) , api ) and
616- result = ModelPrinting :: asSourceModel ( api , getOutput ( sink ) , kind )
623+ result = ModelPrintingSourceOrSink :: asSourceModel ( api , getOutput ( sink ) , kind )
617624 )
618625 }
619626
@@ -659,7 +666,7 @@ module MakeModelGenerator<
659666 PropagateToSink:: flow ( src , sink ) and
660667 sinkNode ( sink , kind ) and
661668 api = getEnclosingCallable ( src ) and
662- result = ModelPrinting :: asSinkModel ( api , asInputArgument ( src ) , kind )
669+ result = ModelPrintingSourceOrSink :: asSinkModel ( api , asInputArgument ( src ) , kind )
663670 )
664671 }
665672 }
@@ -699,15 +706,13 @@ module MakeModelGenerator<
699706
700707 private module PropagateContentFlow = ContentDataFlow:: Global< PropagateContentFlowConfig > ;
701708
702- private module ContentModelPrintingInput implements Printing:: ModelPrintingSig {
709+ private module ContentModelPrintingInput implements Printing:: ModelPrintingSummarySig {
703710 class SummaryApi = DataFlowSummaryTargetApi ;
704711
705- class SourceOrSinkApi = SourceOrSinkTargetApi ;
706-
707712 string getProvenance ( ) { result = "dfc-generated" }
708713 }
709714
710- private module ContentModelPrinting = Printing:: ModelPrinting < ContentModelPrintingInput > ;
715+ private module ContentModelPrinting = Printing:: ModelPrintingSummary < ContentModelPrintingInput > ;
711716
712717 private string getContentOutput ( ReturnNodeExt node ) {
713718 result = PrintReturnNodeExt< paramReturnNodeAsContentOutput / 2 > :: getOutput ( node )
@@ -1071,6 +1076,6 @@ module MakeModelGenerator<
10711076 )
10721077 ) and
10731078 api .isRelevant ( ) and
1074- result = Heuristic:: ModelPrinting :: asNeutralSummaryModel ( api )
1079+ result = Heuristic:: ModelPrintingSummary :: asNeutralSummaryModel ( api )
10751080 }
10761081}
0 commit comments