Address review comments

This commit is contained in:
Tom Hvitved
2021-06-18 10:18:47 +02:00
parent ffb2350a54
commit eb86bceb4d
24 changed files with 144 additions and 48 deletions

View File

@@ -2220,7 +2220,9 @@ private module Stage4 {
bindingset[node, cc, config]
private LocalCc getLocalCc(Node node, Cc cc, Configuration config) {
localFlowEntry(node, config) and
result = getLocalCallContext(pragma[only_bind_into](cc), getNodeEnclosingCallable(node))
result =
getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)),
getNodeEnclosingCallable(node))
}
private predicate localStep(
@@ -3255,7 +3257,9 @@ private predicate pathStep(PathNodeMid mid, Node node, CallContext cc, SummaryCt
conf = mid.getConfiguration() and
cc = mid.getCallContext() and
sc = mid.getSummaryCtx() and
localCC = getLocalCallContext(pragma[only_bind_into](cc), getNodeEnclosingCallable(midnode)) and
localCC =
getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)),
getNodeEnclosingCallable(midnode)) and
ap0 = mid.getAp()
|
localFlowBigStep(midnode, node, true, _, conf, localCC) and

View File

@@ -2220,7 +2220,9 @@ private module Stage4 {
bindingset[node, cc, config]
private LocalCc getLocalCc(Node node, Cc cc, Configuration config) {
localFlowEntry(node, config) and
result = getLocalCallContext(pragma[only_bind_into](cc), getNodeEnclosingCallable(node))
result =
getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)),
getNodeEnclosingCallable(node))
}
private predicate localStep(
@@ -3255,7 +3257,9 @@ private predicate pathStep(PathNodeMid mid, Node node, CallContext cc, SummaryCt
conf = mid.getConfiguration() and
cc = mid.getCallContext() and
sc = mid.getSummaryCtx() and
localCC = getLocalCallContext(pragma[only_bind_into](cc), getNodeEnclosingCallable(midnode)) and
localCC =
getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)),
getNodeEnclosingCallable(midnode)) and
ap0 = mid.getAp()
|
localFlowBigStep(midnode, node, true, _, conf, localCC) and

View File

@@ -2220,7 +2220,9 @@ private module Stage4 {
bindingset[node, cc, config]
private LocalCc getLocalCc(Node node, Cc cc, Configuration config) {
localFlowEntry(node, config) and
result = getLocalCallContext(pragma[only_bind_into](cc), getNodeEnclosingCallable(node))
result =
getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)),
getNodeEnclosingCallable(node))
}
private predicate localStep(
@@ -3255,7 +3257,9 @@ private predicate pathStep(PathNodeMid mid, Node node, CallContext cc, SummaryCt
conf = mid.getConfiguration() and
cc = mid.getCallContext() and
sc = mid.getSummaryCtx() and
localCC = getLocalCallContext(pragma[only_bind_into](cc), getNodeEnclosingCallable(midnode)) and
localCC =
getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)),
getNodeEnclosingCallable(midnode)) and
ap0 = mid.getAp()
|
localFlowBigStep(midnode, node, true, _, conf, localCC) and

View File

@@ -2220,7 +2220,9 @@ private module Stage4 {
bindingset[node, cc, config]
private LocalCc getLocalCc(Node node, Cc cc, Configuration config) {
localFlowEntry(node, config) and
result = getLocalCallContext(pragma[only_bind_into](cc), getNodeEnclosingCallable(node))
result =
getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)),
getNodeEnclosingCallable(node))
}
private predicate localStep(
@@ -3255,7 +3257,9 @@ private predicate pathStep(PathNodeMid mid, Node node, CallContext cc, SummaryCt
conf = mid.getConfiguration() and
cc = mid.getCallContext() and
sc = mid.getSummaryCtx() and
localCC = getLocalCallContext(pragma[only_bind_into](cc), getNodeEnclosingCallable(midnode)) and
localCC =
getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)),
getNodeEnclosingCallable(midnode)) and
ap0 = mid.getAp()
|
localFlowBigStep(midnode, node, true, _, conf, localCC) and

View File

@@ -2220,7 +2220,9 @@ private module Stage4 {
bindingset[node, cc, config]
private LocalCc getLocalCc(Node node, Cc cc, Configuration config) {
localFlowEntry(node, config) and
result = getLocalCallContext(pragma[only_bind_into](cc), getNodeEnclosingCallable(node))
result =
getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)),
getNodeEnclosingCallable(node))
}
private predicate localStep(
@@ -3255,7 +3257,9 @@ private predicate pathStep(PathNodeMid mid, Node node, CallContext cc, SummaryCt
conf = mid.getConfiguration() and
cc = mid.getCallContext() and
sc = mid.getSummaryCtx() and
localCC = getLocalCallContext(pragma[only_bind_into](cc), getNodeEnclosingCallable(midnode)) and
localCC =
getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)),
getNodeEnclosingCallable(midnode)) and
ap0 = mid.getAp()
|
localFlowBigStep(midnode, node, true, _, conf, localCC) and

View File

@@ -2220,7 +2220,9 @@ private module Stage4 {
bindingset[node, cc, config]
private LocalCc getLocalCc(Node node, Cc cc, Configuration config) {
localFlowEntry(node, config) and
result = getLocalCallContext(pragma[only_bind_into](cc), getNodeEnclosingCallable(node))
result =
getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)),
getNodeEnclosingCallable(node))
}
private predicate localStep(
@@ -3255,7 +3257,9 @@ private predicate pathStep(PathNodeMid mid, Node node, CallContext cc, SummaryCt
conf = mid.getConfiguration() and
cc = mid.getCallContext() and
sc = mid.getSummaryCtx() and
localCC = getLocalCallContext(pragma[only_bind_into](cc), getNodeEnclosingCallable(midnode)) and
localCC =
getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)),
getNodeEnclosingCallable(midnode)) and
ap0 = mid.getAp()
|
localFlowBigStep(midnode, node, true, _, conf, localCC) and