mirror of
https://github.com/github/codeql.git
synced 2026-04-27 17:55:19 +02:00
JS: Add spread step when bactracking in API graphs
This commit is contained in:
@@ -750,6 +750,18 @@ module API {
|
||||
)
|
||||
)
|
||||
or
|
||||
exists(ObjectExpr obj |
|
||||
obj = trackDefNode(nd, t.continue()).asExpr() and
|
||||
result =
|
||||
obj.getAProperty()
|
||||
.(SpreadProperty)
|
||||
.getInit()
|
||||
.(SpreadElement)
|
||||
.getOperand()
|
||||
.flow()
|
||||
.getALocalSource()
|
||||
)
|
||||
or
|
||||
t = defStep(nd, result)
|
||||
}
|
||||
|
||||
|
||||
1
javascript/ql/test/ApiGraphs/spread/VerifyAssertions.ql
Normal file
1
javascript/ql/test/ApiGraphs/spread/VerifyAssertions.ql
Normal file
@@ -0,0 +1 @@
|
||||
import ApiGraphs.VerifyAssertions
|
||||
6
javascript/ql/test/ApiGraphs/spread/package.json
Normal file
6
javascript/ql/test/ApiGraphs/spread/package.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "spread",
|
||||
"dependencies": {
|
||||
"something": "*"
|
||||
}
|
||||
}
|
||||
11
javascript/ql/test/ApiGraphs/spread/tst.js
Normal file
11
javascript/ql/test/ApiGraphs/spread/tst.js
Normal file
@@ -0,0 +1,11 @@
|
||||
const lib = require('something');
|
||||
|
||||
function f() {
|
||||
return {
|
||||
x: new Object() /* def (member x (parameter 0 (member m1 (member exports (module something))))) */
|
||||
}
|
||||
}
|
||||
|
||||
lib.m1({
|
||||
...f()
|
||||
})
|
||||
Reference in New Issue
Block a user