@@ -1145,40 +1145,22 @@ private predicate interpretSummary(
11451145
11461146// adapter class for converting Mad summaries to `SummarizedCallable`s
11471147private class SummarizedCallableAdapter extends SummarizedCallable {
1148- SummarizedCallableAdapter ( ) { interpretSummary ( this , _, _, _, _, _) }
1148+ string input_ ;
1149+ string output_ ;
1150+ string kind ;
1151+ Provenance p_ ;
1152+ string model_ ;
11491153
1150- private predicate relevantSummaryElementManual (
1151- string input , string output , string kind , string model
1152- ) {
1153- exists ( Provenance provenance |
1154- interpretSummary ( this , input , output , kind , provenance , model ) and
1155- provenance .isManual ( )
1156- )
1157- }
1158-
1159- private predicate relevantSummaryElementGenerated (
1160- string input , string output , string kind , string model
1161- ) {
1162- exists ( Provenance provenance |
1163- interpretSummary ( this , input , output , kind , provenance , model ) and
1164- provenance .isGenerated ( )
1165- )
1166- }
1154+ SummarizedCallableAdapter ( ) { interpretSummary ( this , input_ , output_ , kind , p_ , model_ ) }
11671155
11681156 override predicate propagatesFlow (
1169- string input , string output , boolean preservesValue , string model
1157+ string input , string output , boolean preservesValue , Provenance p , boolean isExact , string model
11701158 ) {
1171- exists ( string kind |
1172- this .relevantSummaryElementManual ( input , output , kind , model )
1173- or
1174- not this .relevantSummaryElementManual ( _, _, _, _) and
1175- this .relevantSummaryElementGenerated ( input , output , kind , model )
1176- |
1177- if kind = "value" then preservesValue = true else preservesValue = false
1178- )
1179- }
1180-
1181- override predicate hasProvenance ( Provenance provenance ) {
1182- interpretSummary ( this , _, _, _, provenance , _)
1159+ input = input_ and
1160+ output = output_ and
1161+ ( if kind = "value" then preservesValue = true else preservesValue = false ) and
1162+ p = p_ and
1163+ isExact = true and
1164+ model = model_
11831165 }
11841166}
0 commit comments