@@ -1722,11 +1722,6 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
17221722 if ap instanceof ApNil then emptyAp = true else emptyAp = false
17231723 }
17241724
1725- bindingset [ call, c, p, apa]
1726- private signature predicate callRestrictionSig (
1727- DataFlowCall call , DataFlowCallable c , ParamNodeEx p , ApApprox apa , boolean emptyAp
1728- ) ;
1729-
17301725 private signature predicate flowThroughSig ( ) ;
17311726
17321727 /**
@@ -1737,8 +1732,8 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
17371732 * need to record the argument that flows into the parameter.
17381733 *
17391734 * For flow through, we do need to record the argument, however, we can restrict
1740- * this to arguments that may actually flow through, using `flowThroughSig`,
1741- * which reduces the argument-to-parameter fan-in significantly.
1735+ * this to arguments that may actually flow through, which reduces the
1736+ * argument-to-parameter fan-in significantly.
17421737 */
17431738 private module FwdFlowIn< flowThroughSig / 0 flowThrough> {
17441739 pragma [ nomagic]
@@ -1747,14 +1742,14 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
17471742 ApApprox apa
17481743 ) {
17491744 exists ( boolean allowsFieldFlow |
1750- PrevStage:: callEdgeArgParam ( call , c , arg , p , allowsFieldFlow , apa ) and
1751- if emptyAp = true then apa instanceof PrevStage:: ApNil else any ( )
1745+ PrevStage:: callEdgeArgParam ( call , c , arg , p , allowsFieldFlow , apa )
17521746 |
17531747 if
17541748 PrevStage:: callMayFlowThroughRev ( call ) and
17551749 PrevStage:: parameterMayFlowThrough ( p , apa )
17561750 then
17571751 emptyAp = true and
1752+ apa instanceof PrevStage:: ApNil and
17581753 flowThrough ( )
17591754 or
17601755 emptyAp = false and
@@ -1763,7 +1758,8 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
17631758 else (
17641759 not flowThrough ( ) and
17651760 (
1766- emptyAp = true
1761+ emptyAp = true and
1762+ apa instanceof PrevStage:: ApNil
17671763 or
17681764 emptyAp = false and
17691765 allowsFieldFlow = true
0 commit comments