@@ -943,13 +943,8 @@ private module Stage2 {
943
943
bindingset [ call, c, outercc]
944
944
private CcCall getCallContextCall ( DataFlowCall call , DataFlowCallable c , Cc outercc ) { any ( ) }
945
945
946
- bindingset [ call, c]
947
- private CcNoCall getCallContextReturn ( DataFlowCallable c , DataFlowCall call ) { any ( ) }
948
-
949
- bindingset [ innercc, inner, call]
950
- private predicate checkCallContextReturn ( Cc innercc , DataFlowCallable inner , DataFlowCall call ) {
951
- any ( )
952
- }
946
+ bindingset [ call, c, innercc]
947
+ private CcNoCall getCallContextReturn ( DataFlowCallable c , DataFlowCall call , Cc innercc ) { any ( ) }
953
948
954
949
bindingset [ node, cc, config]
955
950
private LocalCc getLocalCc ( NodeEx node , Cc cc , Configuration config ) { any ( ) }
@@ -1122,8 +1117,7 @@ private module Stage2 {
1122
1117
fwdFlow ( ret , innercc , argAp , ap , config ) and
1123
1118
flowOutOfCall ( call , ret , out , allowsFieldFlow , config ) and
1124
1119
inner = ret .getEnclosingCallable ( ) and
1125
- checkCallContextReturn ( innercc , inner , call ) and
1126
- ccOut = getCallContextReturn ( inner , call )
1120
+ ccOut = getCallContextReturn ( inner , call , innercc )
1127
1121
|
1128
1122
ap instanceof ApNil or allowsFieldFlow = true
1129
1123
)
@@ -1615,13 +1609,8 @@ private module Stage3 {
1615
1609
bindingset [ call, c, outercc]
1616
1610
private CcCall getCallContextCall ( DataFlowCall call , DataFlowCallable c , Cc outercc ) { any ( ) }
1617
1611
1618
- bindingset [ call, c]
1619
- private CcNoCall getCallContextReturn ( DataFlowCallable c , DataFlowCall call ) { any ( ) }
1620
-
1621
- bindingset [ innercc, inner, call]
1622
- private predicate checkCallContextReturn ( Cc innercc , DataFlowCallable inner , DataFlowCall call ) {
1623
- any ( )
1624
- }
1612
+ bindingset [ call, c, innercc]
1613
+ private CcNoCall getCallContextReturn ( DataFlowCallable c , DataFlowCall call , Cc innercc ) { any ( ) }
1625
1614
1626
1615
bindingset [ node, cc, config]
1627
1616
private LocalCc getLocalCc ( NodeEx node , Cc cc , Configuration config ) { any ( ) }
@@ -1816,8 +1805,7 @@ private module Stage3 {
1816
1805
fwdFlow ( ret , innercc , argAp , ap , config ) and
1817
1806
flowOutOfCall ( call , ret , out , allowsFieldFlow , config ) and
1818
1807
inner = ret .getEnclosingCallable ( ) and
1819
- checkCallContextReturn ( innercc , inner , call ) and
1820
- ccOut = getCallContextReturn ( inner , call )
1808
+ ccOut = getCallContextReturn ( inner , call , innercc )
1821
1809
|
1822
1810
ap instanceof ApNil or allowsFieldFlow = true
1823
1811
)
@@ -2364,20 +2352,16 @@ private module Stage4 {
2364
2352
2365
2353
bindingset [ call, c, outercc]
2366
2354
private CcCall getCallContextCall ( DataFlowCall call , DataFlowCallable c , Cc outercc ) {
2367
- c = resolveCall ( call , outercc ) and
2355
+ checkCallContextCall ( outercc , call , c ) and
2368
2356
if recordDataFlowCallSite ( call , c ) then result = TSpecificCall ( call ) else result = TSomeCall ( )
2369
2357
}
2370
2358
2371
- bindingset [ call, c]
2372
- private CcNoCall getCallContextReturn ( DataFlowCallable c , DataFlowCall call ) {
2359
+ bindingset [ call, c, innercc]
2360
+ private CcNoCall getCallContextReturn ( DataFlowCallable c , DataFlowCall call , Cc innercc ) {
2361
+ checkCallContextReturn ( innercc , c , call ) and
2373
2362
if reducedViableImplInReturn ( c , call ) then result = TReturn ( c , call ) else result = ccNone ( )
2374
2363
}
2375
2364
2376
- bindingset [ innercc, inner, call]
2377
- private predicate checkCallContextReturn ( Cc innercc , DataFlowCallable inner , DataFlowCall call ) {
2378
- resolveReturn ( innercc , inner , call )
2379
- }
2380
-
2381
2365
bindingset [ node, cc, config]
2382
2366
private LocalCc getLocalCc ( NodeEx node , Cc cc , Configuration config ) {
2383
2367
localFlowEntry ( node , config ) and
@@ -2579,8 +2563,7 @@ private module Stage4 {
2579
2563
fwdFlow ( ret , innercc , argAp , ap , config ) and
2580
2564
flowOutOfCall ( call , ret , out , allowsFieldFlow , config ) and
2581
2565
inner = ret .getEnclosingCallable ( ) and
2582
- checkCallContextReturn ( innercc , inner , call ) and
2583
- ccOut = getCallContextReturn ( inner , call )
2566
+ ccOut = getCallContextReturn ( inner , call , innercc )
2584
2567
|
2585
2568
ap instanceof ApNil or allowsFieldFlow = true
2586
2569
)
0 commit comments