@@ -1058,40 +1058,22 @@ private predicate interpretSummary(
10581058
10591059// adapter class for converting Mad summaries to `SummarizedCallable`s
10601060private class SummarizedCallableAdapter extends SummarizedCallable {
1061- SummarizedCallableAdapter ( ) { interpretSummary ( this , _, _, _, _, _) }
1061+ string input_ ;
1062+ string output_ ;
1063+ string kind ;
1064+ Provenance p_ ;
1065+ string model_ ;
10621066
1063- private predicate relevantSummaryElementManual (
1064- string input , string output , string kind , string model
1065- ) {
1066- exists ( Provenance provenance |
1067- interpretSummary ( this , input , output , kind , provenance , model ) and
1068- provenance .isManual ( )
1069- )
1070- }
1071-
1072- private predicate relevantSummaryElementGenerated (
1073- string input , string output , string kind , string model
1074- ) {
1075- exists ( Provenance provenance |
1076- interpretSummary ( this , input , output , kind , provenance , model ) and
1077- provenance .isGenerated ( )
1078- )
1079- }
1067+ SummarizedCallableAdapter ( ) { interpretSummary ( this , input_ , output_ , kind , p_ , model_ ) }
10801068
10811069 override predicate propagatesFlow (
1082- string input , string output , boolean preservesValue , string model
1070+ string input , string output , boolean preservesValue , Provenance p , boolean isExact , string model
10831071 ) {
1084- exists ( string kind |
1085- this .relevantSummaryElementManual ( input , output , kind , model )
1086- or
1087- not this .relevantSummaryElementManual ( _, _, _, _) and
1088- this .relevantSummaryElementGenerated ( input , output , kind , model )
1089- |
1090- if kind = "value" then preservesValue = true else preservesValue = false
1091- )
1092- }
1093-
1094- override predicate hasProvenance ( Provenance provenance ) {
1095- interpretSummary ( this , _, _, _, provenance , _)
1072+ input = input_ and
1073+ output = output_ and
1074+ ( if kind = "value" then preservesValue = true else preservesValue = false ) and
1075+ p = p_ and
1076+ isExact = true and
1077+ model = model_
10961078 }
10971079}
0 commit comments