@@ -1832,7 +1832,9 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
1832
1832
cons = traceCons ( c , tail )
1833
1833
or
1834
1834
exists ( ApTrace cons0 |
1835
- fwdFlowConsCand ( t2 , cons0 , c , t1 , tail ) and
1835
+ // fwdFlowConsCand(t2, cons0, c, t1, tail) and
1836
+ fwdFlowStore ( _, t1 , tail , _, c , t2 , _, _, _, _, _) and
1837
+ cons0 = traceCons ( c , tail ) and
1836
1838
fwdFlowApRepr ( cons , cons0 )
1837
1839
)
1838
1840
}
@@ -3363,7 +3365,7 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
3363
3365
bindingset [ p, state, t, ap, stored]
3364
3366
pragma [ inline_late]
3365
3367
private SummaryCtxSome mkSummaryCtxSome (
3366
- ParamNodeEx p , FlowState state , Typ t , Ap ap , TypOption stored
3368
+ ParamNodeEx p , FlowState state , Typ t , ApTrace ap , TypOption stored
3367
3369
) {
3368
3370
result = TSummaryCtxSome ( p , state , t , ap , stored )
3369
3371
}
@@ -4051,6 +4053,7 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
4051
4053
4052
4054
class ApNil = ApproxAccessPathFrontNil ;
4053
4055
4056
+ // class ApTrace = Ap;
4054
4057
class ApTrace = ApproxAccessPathFrontTrace ;
4055
4058
4056
4059
class ApTraceNil = ApNil ;
@@ -4060,6 +4063,7 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
4060
4063
Typ getTyp ( DataFlowType t ) { any ( ) }
4061
4064
4062
4065
// Ap apCons(Content c, Ap tail) { result.getAHead() = c and exists(tail) }
4066
+ // ApTrace traceCons(Content c, ApTrace tail) { result.getAHead() = c and exists(tail) }
4063
4067
bindingset [ c, tail]
4064
4068
ApTrace traceCons ( Content c , ApTrace tail ) { result .isApproxConsOf ( c ) and exists ( tail ) }
4065
4069
@@ -4069,6 +4073,9 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
4069
4073
result .isApproxTailOf ( c )
4070
4074
}
4071
4075
4076
+ // ApTrace traceTail(Content c, ApTrace cons) {
4077
+ // cons = apCons(c, result) and not result instanceof ApNil
4078
+ // }
4072
4079
bindingset [ c, tail]
4073
4080
Ap apCons ( Content c , Ap tail ) { result .isApproxConsOf ( c ) and exists ( tail ) }
4074
4081
@@ -4084,6 +4091,7 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
4084
4091
pragma [ noinline]
4085
4092
ApHeadContent getTailHeadContent ( ApTrace ap ) { ap .isTailOf ( result ) }
4086
4093
4094
+ // ApHeadContent getTailHeadContent(ApTrace ap) { none() }
4087
4095
predicate projectToHeadContent = getContentApproxCached / 1 ;
4088
4096
4089
4097
private module CallContextSensitivityInput implements CallContextSensitivityInputSig {
0 commit comments