Skip to content

Commit 0de27bb

Browse files
committed
Data flow: Add ArgumentNode test
1 parent e26cf7c commit 0de27bb

File tree

5 files changed

+52
-13
lines changed

5 files changed

+52
-13
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
ret
2+
| local_dataflow.rb:6:3:6:14 | ... = ... |
3+
| local_dataflow.rb:32:14:32:21 | "method" |
4+
| local_dataflow.rb:36:6:36:13 | return |
5+
| local_dataflow.rb:38:3:38:13 | "reachable" |
6+
| local_dataflow.rb:43:6:43:13 | return |
7+
| local_dataflow.rb:45:3:45:10 | return |
8+
| local_dataflow.rb:50:3:50:13 | next |
9+
| local_dataflow.rb:51:3:51:15 | break |
10+
| local_dataflow.rb:52:3:52:10 | "normal" |
11+
| local_dataflow.rb:57:9:57:9 | x |
12+
arg
13+
| local_dataflow.rb:3:8:3:10 | self | local_dataflow.rb:3:8:3:10 | call to p | -1 |
14+
| local_dataflow.rb:3:10:3:10 | a | local_dataflow.rb:3:8:3:10 | call to p | 0 |
15+
| local_dataflow.rb:6:8:6:8 | a | local_dataflow.rb:6:10:6:11 | ... + ... | -1 |
16+
| local_dataflow.rb:6:13:6:13 | b | local_dataflow.rb:6:10:6:11 | ... + ... | 0 |
17+
| local_dataflow.rb:9:9:9:15 | Array | local_dataflow.rb:9:9:9:15 | call to [] | -1 |
18+
| local_dataflow.rb:9:10:9:10 | 1 | local_dataflow.rb:9:9:9:15 | call to [] | 0 |
19+
| local_dataflow.rb:9:12:9:12 | 2 | local_dataflow.rb:9:9:9:15 | call to [] | 1 |
20+
| local_dataflow.rb:9:14:9:14 | 3 | local_dataflow.rb:9:9:9:15 | call to [] | 2 |
21+
| local_dataflow.rb:11:1:11:2 | self | local_dataflow.rb:11:1:11:2 | call to do | -1 |
22+
| local_dataflow.rb:12:3:12:5 | self | local_dataflow.rb:12:3:12:5 | call to p | -1 |
23+
| local_dataflow.rb:12:5:12:5 | x | local_dataflow.rb:12:3:12:5 | call to p | 0 |
24+
| local_dataflow.rb:20:6:20:6 | x | local_dataflow.rb:20:6:20:10 | ... > ... | -1 |
25+
| local_dataflow.rb:20:10:20:10 | 1 | local_dataflow.rb:20:6:20:10 | ... > ... | 0 |
26+
| local_dataflow.rb:35:6:35:6 | x | local_dataflow.rb:35:6:35:11 | ... == ... | -1 |
27+
| local_dataflow.rb:35:11:35:11 | 4 | local_dataflow.rb:35:6:35:11 | ... == ... | 0 |
28+
| local_dataflow.rb:42:6:42:6 | x | local_dataflow.rb:42:6:42:11 | ... == ... | -1 |
29+
| local_dataflow.rb:42:11:42:11 | 4 | local_dataflow.rb:42:6:42:11 | ... == ... | 0 |
30+
| local_dataflow.rb:49:1:53:3 | self | local_dataflow.rb:49:1:53:3 | call to m | -1 |
31+
| local_dataflow.rb:49:3:53:3 | do ... end | local_dataflow.rb:49:1:53:3 | call to m | -2 |
32+
| local_dataflow.rb:50:18:50:18 | x | local_dataflow.rb:50:18:50:22 | ... < ... | -1 |
33+
| local_dataflow.rb:50:22:50:22 | 4 | local_dataflow.rb:50:18:50:22 | ... < ... | 0 |
34+
| local_dataflow.rb:51:20:51:20 | x | local_dataflow.rb:51:20:51:24 | ... < ... | -1 |
35+
| local_dataflow.rb:51:24:51:24 | 9 | local_dataflow.rb:51:20:51:24 | ... < ... | 0 |
36+
| local_dataflow.rb:55:1:55:14 | self | local_dataflow.rb:55:1:55:14 | call to foo | -1 |
37+
| local_dataflow.rb:55:5:55:13 | Array | local_dataflow.rb:55:5:55:13 | call to [] | -1 |
38+
| local_dataflow.rb:55:6:55:6 | 1 | local_dataflow.rb:55:5:55:13 | call to [] | 0 |
39+
| local_dataflow.rb:55:9:55:9 | 2 | local_dataflow.rb:55:5:55:13 | call to [] | 1 |
40+
| local_dataflow.rb:55:12:55:12 | 3 | local_dataflow.rb:55:5:55:13 | call to [] | 2 |
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import ruby
2+
import codeql.ruby.dataflow.internal.DataFlowPrivate
3+
import codeql.ruby.dataflow.internal.DataFlowDispatch
4+
5+
query predicate ret(ReturningNode node) { any() }
6+
7+
query predicate arg(ArgumentNode n, DataFlowCall call, int pos) { n.argumentOf(call, pos) }

ruby/ql/test/library-tests/dataflow/local/ReturnNodes.expected

Lines changed: 0 additions & 9 deletions
This file was deleted.

ruby/ql/test/library-tests/dataflow/local/ReturnNodes.ql

Lines changed: 0 additions & 4 deletions
This file was deleted.

ruby/ql/test/library-tests/dataflow/local/local_dataflow.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,8 @@ def m x
5151
break "break" if x < 9
5252
"normal"
5353
end
54+
55+
foo([1, 2, 3])
56+
57+
def foo x
58+
end

0 commit comments

Comments
 (0)