@@ -2693,26 +2693,26 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
26932693 ) {
26942694 not inBarrier ( node2 , state ) and
26952695 not outBarrier ( node1 , state ) and
2696- exists ( NodeEx node0 , boolean preservesValue0 , DataFlowType t0 , string label0 , Ap ap |
2697- Input:: localStep ( node0 , state , node2 , state , preservesValue0 , t0 , cc , label0 ) and
2696+ exists ( NodeEx mid , boolean preservesValue2 , DataFlowType t2 , string label2 , Ap ap |
2697+ Input:: localStep ( mid , state , node2 , state , preservesValue2 , t2 , cc , label2 ) and
26982698 revFlow ( node2 , pragma [ only_bind_into ] ( state ) , pragma [ only_bind_into ] ( ap ) ) and
2699- not outBarrier ( node0 , state ) and
2699+ not outBarrier ( mid , state ) and
27002700 ( preservesValue = true or ap instanceof ApNil )
27012701 |
2702- node1 = node0 and
2702+ node1 = mid and
27032703 localFlowEntry ( node1 , pragma [ only_bind_into ] ( state ) , pragma [ only_bind_into ] ( ap ) ) and
2704- preservesValue = preservesValue0 and
2705- label = label0 and
2706- t = t0 and
2704+ preservesValue = preservesValue2 and
2705+ label = label2 and
2706+ t = t2 and
27072707 node1 != node2
27082708 or
27092709 exists ( boolean preservesValue1 , DataFlowType t1 , string label1 |
2710- localFlowStepPlus ( node1 , pragma [ only_bind_into ] ( state ) , node0 , preservesValue1 , t1 ,
2710+ localFlowStepPlus ( node1 , pragma [ only_bind_into ] ( state ) , mid , preservesValue1 , t1 ,
27112711 cc , label1 ) and
2712- not node0 instanceof FlowCheckNode and
2713- preservesValue = preservesValue0 .booleanAnd ( preservesValue1 ) and
2714- label = mergeLabels ( label1 , label0 ) and
2715- if preservesValue0 = true then t = t1 else t = t0
2712+ not mid instanceof FlowCheckNode and
2713+ preservesValue = preservesValue2 .booleanAnd ( preservesValue1 ) and
2714+ label = mergeLabels ( label1 , label2 ) and
2715+ if preservesValue2 = true then t = t1 else t = t2
27162716 )
27172717 )
27182718 }
0 commit comments