mirror of
https://github.com/github/codeql.git
synced 2026-04-25 08:45:14 +02:00
Ruby: Use asCallable() to generate epsilon edges
This commit is contained in:
@@ -978,6 +978,12 @@ module API {
|
||||
pred = Impl::MkModuleInstanceUp(mod) and
|
||||
succ = getBackwardEndNode(mod.getOwnInstanceMethod("call"))
|
||||
)
|
||||
or
|
||||
// Step through callable wrappers like `proc` and `lambda` calls.
|
||||
exists(DataFlow::Node node |
|
||||
pred = getBackwardEndNode(node) and
|
||||
succ = getBackwardStartNode(node.asCallable())
|
||||
)
|
||||
}
|
||||
|
||||
pragma[nomagic]
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
failures
|
||||
testFailures
|
||||
| explicit-proc.rb:2:7:2:78 | # $ reachableFromSource=Member[Foo].Method[bar].Argument[0].Parameter[0] | Missing result:reachableFromSource=Member[Foo].Method[bar].Argument[0].Parameter[0] |
|
||||
| explicit-proc.rb:6:7:6:78 | # $ reachableFromSource=Member[Foo].Method[bar].Argument[0].Parameter[0] | Missing result:reachableFromSource=Member[Foo].Method[bar].Argument[0].Parameter[0] |
|
||||
| explicit-proc.rb:10:7:10:78 | # $ reachableFromSource=Member[Foo].Method[bar].Argument[0].Parameter[0] | Missing result:reachableFromSource=Member[Foo].Method[bar].Argument[0].Parameter[0] |
|
||||
|
||||
Reference in New Issue
Block a user