@@ -2558,10 +2558,6 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
2558
2558
bindingset [ call, ctx]
2559
2559
predicate noPrunedViableImplInCallContext ( DataFlowCall call , CallContext ctx ) ;
2560
2560
2561
- predicate recordDataFlowCallSiteDispatch ( DataFlowCall call , DataFlowCallable callable ) ;
2562
-
2563
- predicate recordDataFlowCallSiteUnreachable ( DataFlowCall call , DataFlowCallable callable ) ;
2564
-
2565
2561
predicate reducedViableImplInReturn ( DataFlowCallable c , DataFlowCall call ) ;
2566
2562
2567
2563
DataFlowCall prunedViableImplInCallContextReverse (
@@ -2592,38 +2588,6 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
2592
2588
Input:: noPrunedViableImplInCallContext ( call , ctx )
2593
2589
}
2594
2590
2595
- module NoLocalCallContext {
2596
- class LocalCc = Unit ;
2597
-
2598
- bindingset [ c, cc]
2599
- LocalCc getLocalCc ( DataFlowCallable c , Cc cc ) { any ( ) }
2600
-
2601
- bindingset [ call, c]
2602
- CcCall getCallContextCall ( DataFlowCall call , DataFlowCallable c ) {
2603
- if Input:: recordDataFlowCallSiteDispatch ( call , c )
2604
- then result = TSpecificCall ( call )
2605
- else result = TSomeCall ( )
2606
- }
2607
- }
2608
-
2609
- module LocalCallContext {
2610
- class LocalCc = LocalCallContext ;
2611
-
2612
- bindingset [ c, cc]
2613
- LocalCc getLocalCc ( DataFlowCallable c , Cc cc ) {
2614
- result = getLocalCallContext ( pragma [ only_bind_into ] ( pragma [ only_bind_out ] ( cc ) ) , c )
2615
- }
2616
-
2617
- bindingset [ call, c]
2618
- CcCall getCallContextCall ( DataFlowCall call , DataFlowCallable c ) {
2619
- if
2620
- Input:: recordDataFlowCallSiteDispatch ( call , c ) or
2621
- Input:: recordDataFlowCallSiteUnreachable ( call , c )
2622
- then result = TSpecificCall ( call )
2623
- else result = TSomeCall ( )
2624
- }
2625
- }
2626
-
2627
2591
DataFlowCall viableImplCallContextReducedReverse ( DataFlowCallable c , CcNoCall ctx ) {
2628
2592
result = Input:: prunedViableImplInCallContextReverse ( c , ctx )
2629
2593
}
@@ -4323,6 +4287,7 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
4323
4287
}
4324
4288
4325
4289
import CallContextSensitivity< CallContextSensitivityInput >
4290
+ import LocalCallContext
4326
4291
}
4327
4292
4328
4293
pragma [ nomagic]
@@ -4421,11 +4386,8 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
4421
4386
// never any reason to enter a callable except to find a summary. See also
4422
4387
// the comment in `PathNodeMid::isAtSink`.
4423
4388
not Config:: getAFeature ( ) instanceof FeatureEqualSourceSinkCallContext
4424
- )
4425
- |
4426
- if PrunedCallContextSensitivityStage5:: recordDataFlowCallSite ( call , callable )
4427
- then innercc = TSpecificCall ( call )
4428
- else innercc = TSomeCall ( )
4389
+ ) and
4390
+ innercc = PrunedCallContextSensitivityStage5:: getCallContextCall ( call , callable )
4429
4391
)
4430
4392
}
4431
4393
@@ -5454,11 +5416,9 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
5454
5416
sc1 = TSummaryCtx1Param ( p ) and
5455
5417
sc2 = TSummaryCtx2Some ( state ) and
5456
5418
sc3 = TSummaryCtx3Some ( t ) and
5457
- sc4 = TSummaryCtx4Some ( ap )
5458
- |
5459
- if CachedCallContextSensitivity:: recordDataFlowCallSite ( call , callable )
5460
- then innercc = TSpecificCall ( call )
5461
- else innercc = TSomeCall ( )
5419
+ sc4 = TSummaryCtx4Some ( ap ) and
5420
+ innercc =
5421
+ CachedCallContextSensitivity:: LocalCallContext:: getCallContextCall ( call , callable )
5462
5422
)
5463
5423
}
5464
5424
0 commit comments