Data flow: Synthesize parameter return nodes

This commit is contained in:
Tom Hvitved
2024-05-02 10:06:58 +02:00
parent 358c7410c8
commit 454687d583
9 changed files with 198 additions and 113 deletions

View File

@@ -236,10 +236,10 @@ module SourceSinkInterpretationInput implements
/** Provides additional source specification logic. */
bindingset[c]
predicate interpretInput(string c, InterpretNode mid, InterpretNode node) {
exists(int pos, ReturnNodeExt ret |
exists(int pos, ReturnNode ret |
parseReturn(c, pos) and
ret = node.asNode() and
ret.getKind().(ValueReturnKind).getKind() = getReturnKind(pos) and
ret.getKind() = getReturnKind(pos) and
mid.asCallable() = getNodeEnclosingCallable(ret)
)
or