@@ -29,6 +29,15 @@ private string positionToString(int pos) {
2929module Input implements InputSig< Location , DataFlowImplSpecific:: JavaDataFlow > {
3030 class SummarizedCallableBase = FlowSummary:: SummarizedCallableBase ;
3131
32+ predicate neutralElement (
33+ Input:: SummarizedCallableBase c , string kind , string provenance , boolean isExact
34+ ) {
35+ exists ( string namespace , string type , string name , string signature |
36+ neutralModel ( namespace , type , name , signature , kind , provenance ) and
37+ c .asCallable ( ) = interpretElement ( namespace , type , false , name , signature , "" , isExact )
38+ )
39+ }
40+
3241 ArgumentPosition callbackSelfParameterPosition ( ) { result = - 1 }
3342
3443 ReturnKind getStandardReturnValueKind ( ) { any ( ) }
@@ -332,18 +341,7 @@ module Private {
332341 )
333342 }
334343
335- /**
336- * Holds if a neutral model exists for `c` of kind `kind`
337- * and with provenance `provenance`.
338- */
339- predicate neutralElement (
340- Input:: SummarizedCallableBase c , string kind , string provenance , boolean isExact
341- ) {
342- exists ( string namespace , string type , string name , string signature |
343- neutralModel ( namespace , type , name , signature , kind , provenance ) and
344- c .asCallable ( ) = interpretElement ( namespace , type , false , name , signature , "" , isExact )
345- )
346- }
344+ predicate neutralElement = Input:: neutralElement / 4 ;
347345 }
348346
349347 /** Provides predicates for constructing summary components. */
0 commit comments