File tree Expand file tree Collapse file tree 3 files changed +62
-0
lines changed
ruby/ql/test/query-tests/variables/UninitializedLocal Expand file tree Collapse file tree 3 files changed +62
-0
lines changed Original file line number Diff line number Diff line change
1
+ | UninitializedLocal.rb:12:3:12:3 | m | Local variable $@ may be used before it is initialized. | UninitializedLocal.rb:8:7:8:7 | m | m |
2
+ | UninitializedLocal.rb:17:16:17:16 | a | Local variable $@ may be used before it is initialized. | UninitializedLocal.rb:17:7:17:7 | a | a |
3
+ | UninitializedLocal.rb:30:3:30:3 | b | Local variable $@ may be used before it is initialized. | UninitializedLocal.rb:27:7:27:7 | b | b |
4
+ | UninitializedLocal.rb:31:3:31:3 | b | Local variable $@ may be used before it is initialized. | UninitializedLocal.rb:27:7:27:7 | b | b |
5
+ | UninitializedLocal.rb:32:3:32:3 | b | Local variable $@ may be used before it is initialized. | UninitializedLocal.rb:27:7:27:7 | b | b |
6
+ | UninitializedLocal.rb:32:8:32:8 | b | Local variable $@ may be used before it is initialized. | UninitializedLocal.rb:27:7:27:7 | b | b |
7
+ | UninitializedLocal.rb:33:3:33:3 | b | Local variable $@ may be used before it is initialized. | UninitializedLocal.rb:27:7:27:7 | b | b |
8
+ | UninitializedLocal.rb:33:14:33:14 | b | Local variable $@ may be used before it is initialized. | UninitializedLocal.rb:27:7:27:7 | b | b |
9
+ | UninitializedLocal.rb:33:20:33:20 | b | Local variable $@ may be used before it is initialized. | UninitializedLocal.rb:27:7:27:7 | b | b |
10
+ | UninitializedLocal.rb:34:3:34:3 | b | Local variable $@ may be used before it is initialized. | UninitializedLocal.rb:27:7:27:7 | b | b |
11
+ | UninitializedLocal.rb:34:15:34:15 | b | Local variable $@ may be used before it is initialized. | UninitializedLocal.rb:27:7:27:7 | b | b |
12
+ | UninitializedLocal.rb:34:21:34:21 | b | Local variable $@ may be used before it is initialized. | UninitializedLocal.rb:27:7:27:7 | b | b |
13
+ | UninitializedLocal.rb:44:13:44:13 | a | Local variable $@ may be used before it is initialized. | UninitializedLocal.rb:40:11:40:11 | a | a |
14
+ | UninitializedLocal.rb:45:3:45:3 | a | Local variable $@ may be used before it is initialized. | UninitializedLocal.rb:40:11:40:11 | a | a |
Original file line number Diff line number Diff line change
1
+ query: queries/variables/UninitializedLocal.ql
2
+ postprocess: utils/test/InlineExpectationsTestQuery.ql
Original file line number Diff line number Diff line change
1
+ def m
2
+ puts "m"
3
+ end
4
+
5
+ def foo
6
+ m # calls m above
7
+ if false
8
+ m = 0
9
+ m # reads local variable m
10
+ else
11
+ end
12
+ m #$ Alert
13
+ m2 # undefined local variable or method 'm2' for main (NameError)
14
+ end
15
+
16
+ def test_guards
17
+ if ( a = 3 && a ) #$ Alert
18
+ a
19
+ end
20
+ if ( a = 3 ) && a # OK - a is assigned in the previous conjunct
21
+ a
22
+ end
23
+ if !( a = 3 ) or a # OK - a is assigned in the previous conjunct
24
+ a
25
+ end
26
+ if false
27
+ b = 0
28
+ end
29
+ b . nil?
30
+ b || 0 #$ SPURIOUS: Alert
31
+ b &.m #$ SPURIOUS: Alert
32
+ b if b #$ SPURIOUS: Alert
33
+ b . close if b && !b . closed #$ SPURIOUS: Alert
34
+ b . blowup if b || !b . blownup #$ Alert
35
+ end
36
+
37
+ def test_loop
38
+ begin
39
+ if false
40
+ a = 0
41
+ else
42
+ set_a
43
+ end
44
+ end until a #$ SPURIOUS: Alert
45
+ a #$ SPURIOUS: Alert
46
+ end
You can’t perform that action at this time.
0 commit comments