@@ -1204,14 +1204,6 @@ module Impl<FullStateConfigSig Config> {
12041204 filter ( node , state , t , ap )
12051205 }
12061206
1207- pragma [ inline]
1208- additional predicate fwdFlow (
1209- NodeEx node , FlowState state , Cc cc , ParamNodeOption summaryCtx , TypOption argT ,
1210- ApOption argAp , Typ t , Ap ap
1211- ) {
1212- fwdFlow ( node , state , cc , summaryCtx , argT , argAp , t , ap , _)
1213- }
1214-
12151207 pragma [ assume_small_delta]
12161208 pragma [ nomagic]
12171209 private predicate fwdFlow0 (
@@ -1359,7 +1351,7 @@ module Impl<FullStateConfigSig Config> {
13591351 ParamNodeOption summaryCtx , TypOption argT , ApOption argAp
13601352 ) {
13611353 exists ( ApHeadContent apc |
1362- fwdFlow ( node1 , state , cc , summaryCtx , argT , argAp , t , ap ) and
1354+ fwdFlow ( node1 , state , cc , summaryCtx , argT , argAp , t , ap , _ ) and
13631355 apc = getHeadContent ( ap ) and
13641356 readStepCand0 ( node1 , apc , c , node2 )
13651357 )
@@ -1520,14 +1512,14 @@ module Impl<FullStateConfigSig Config> {
15201512 NodeEx node , FlowState state , ReturnCtx returnCtx , ApOption returnAp , Ap ap
15211513 ) {
15221514 revFlow0 ( node , state , returnCtx , returnAp , ap ) and
1523- fwdFlow ( node , state , _, _, _, _, _, ap )
1515+ fwdFlow ( node , state , _, _, _, _, _, ap , _ )
15241516 }
15251517
15261518 pragma [ nomagic]
15271519 private predicate revFlow0 (
15281520 NodeEx node , FlowState state , ReturnCtx returnCtx , ApOption returnAp , Ap ap
15291521 ) {
1530- fwdFlow ( node , state , _, _, _, _, _, ap ) and
1522+ fwdFlow ( node , state , _, _, _, _, _, ap , _ ) and
15311523 sinkNode ( node , state ) and
15321524 (
15331525 if hasSinkCallCtx ( )
@@ -1780,13 +1772,13 @@ module Impl<FullStateConfigSig Config> {
17801772 boolean fwd , int nodes , int fields , int conscand , int states , int tuples
17811773 ) {
17821774 fwd = true and
1783- nodes = count ( NodeEx node | fwdFlow ( node , _, _, _, _, _, _, _) ) and
1775+ nodes = count ( NodeEx node | fwdFlow ( node , _, _, _, _, _, _, _, _ ) ) and
17841776 fields = count ( Content f0 | fwdConsCand ( f0 , _, _) ) and
17851777 conscand = count ( Content f0 , Typ t , Ap ap | fwdConsCand ( f0 , t , ap ) ) and
1786- states = count ( FlowState state | fwdFlow ( _, state , _, _, _, _, _, _) ) and
1778+ states = count ( FlowState state | fwdFlow ( _, state , _, _, _, _, _, _, _ ) ) and
17871779 tuples =
17881780 count ( NodeEx n , FlowState state , Cc cc , ParamNodeOption summaryCtx , TypOption argT ,
1789- ApOption argAp , Typ t , Ap ap | fwdFlow ( n , state , cc , summaryCtx , argT , argAp , t , ap ) )
1781+ ApOption argAp , Typ t , Ap ap | fwdFlow ( n , state , cc , summaryCtx , argT , argAp , t , ap , _ ) )
17901782 or
17911783 fwd = false and
17921784 nodes = count ( NodeEx node | revFlow ( node , _, _, _, _) ) and
@@ -2197,8 +2189,8 @@ module Impl<FullStateConfigSig Config> {
21972189 import BooleanCallContext
21982190
21992191 predicate localStep (
2200- NodeEx node1 , FlowState state1 , NodeEx node2 , FlowState state2 , boolean preservesValue ,
2201- DataFlowType t , LocalCc lcc
2192+ NodeEx node1 , FlowState state1 , NodeEx node2 , FlowState state2 , boolean preservesValue , Typ t ,
2193+ LocalCc lcc
22022194 ) {
22032195 localFlowBigStep ( node1 , state1 , node2 , state2 , preservesValue , t , _) and
22042196 exists ( lcc )
@@ -2274,8 +2266,8 @@ module Impl<FullStateConfigSig Config> {
22742266
22752267 pragma [ nomagic]
22762268 predicate localStep (
2277- NodeEx node1 , FlowState state1 , NodeEx node2 , FlowState state2 , boolean preservesValue ,
2278- DataFlowType t , LocalCc lcc
2269+ NodeEx node1 , FlowState state1 , NodeEx node2 , FlowState state2 , boolean preservesValue , Typ t ,
2270+ LocalCc lcc
22792271 ) {
22802272 localFlowBigStep ( node1 , state1 , node2 , state2 , preservesValue , t , _) and
22812273 PrevStage:: revFlow ( node1 , pragma [ only_bind_into ] ( state1 ) , _) and
@@ -2365,7 +2357,7 @@ module Impl<FullStateConfigSig Config> {
23652357 exists ( AccessPathFront apf |
23662358 Stage4:: revFlow ( node , state , TReturnCtxMaybeFlowThrough ( _) , _, apf ) and
23672359 Stage4:: fwdFlow ( node , state , any ( Stage4:: CcCall ccc ) , _, _, TAccessPathFrontSome ( argApf ) , _,
2368- apf )
2360+ apf , _ )
23692361 )
23702362 }
23712363
@@ -2579,8 +2571,8 @@ module Impl<FullStateConfigSig Config> {
25792571 import LocalCallContext
25802572
25812573 predicate localStep (
2582- NodeEx node1 , FlowState state1 , NodeEx node2 , FlowState state2 , boolean preservesValue ,
2583- DataFlowType t , LocalCc lcc
2574+ NodeEx node1 , FlowState state1 , NodeEx node2 , FlowState state2 , boolean preservesValue , Typ t ,
2575+ LocalCc lcc
25842576 ) {
25852577 localFlowBigStep ( node1 , state1 , node2 , state2 , preservesValue , t , lcc ) and
25862578 PrevStage:: revFlow ( node1 , pragma [ only_bind_into ] ( state1 ) , _) and
@@ -2632,7 +2624,7 @@ module Impl<FullStateConfigSig Config> {
26322624 Stage5:: parameterMayFlowThrough ( p , _) and
26332625 Stage5:: revFlow ( n , state , TReturnCtxMaybeFlowThrough ( _) , _, apa0 ) and
26342626 Stage5:: fwdFlow ( n , state , any ( CallContextCall ccc ) , TParamNodeSome ( p .asNode ( ) ) , _,
2635- TAccessPathApproxSome ( apa ) , _, apa0 )
2627+ TAccessPathApproxSome ( apa ) , _, apa0 , _ )
26362628 )
26372629 }
26382630
@@ -2649,7 +2641,7 @@ module Impl<FullStateConfigSig Config> {
26492641 TSummaryCtxSome ( ParamNodeEx p , FlowState state , DataFlowType t , AccessPath ap ) {
26502642 exists ( AccessPathApprox apa | ap .getApprox ( ) = apa |
26512643 Stage5:: parameterMayFlowThrough ( p , apa ) and
2652- Stage5:: fwdFlow ( p , state , _, _, _, _, t , apa ) and
2644+ Stage5:: fwdFlow ( p , state , _, _, _, _, t , apa , _ ) and
26532645 Stage5:: revFlow ( p , state , _)
26542646 )
26552647 }
0 commit comments