Skip to content

Commit 43ce26e

Browse files
committed
Ruby: re-add Eval.rb
1 parent 02b09ca commit 43ce26e

File tree

3 files changed

+28
-0
lines changed

3 files changed

+28
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Uses of eval and send
2+
3+
eval("raise \"error\"", binding, "file", 1)
4+
send("raise", "error")
5+
6+
a = []
7+
a.send("push", "1")
8+
9+
class Foo
10+
def eval(x)
11+
x + 1
12+
end
13+
14+
def send(*args)
15+
2
16+
end
17+
18+
def run
19+
eval("exit 1")
20+
end
21+
end
22+
23+
Foo.new.send("exit", 1)
24+
Foo.module_eval("def bar; 1; end", "other_file.rb", 2)

ruby/ql/test/library-tests/frameworks/core/Kernel.expected

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,10 @@ kernelSpawnCallExecutions
3838
| Kernel.rb:68:1:68:61 | call to spawn |
3939
| Kernel.rb:69:1:69:71 | call to spawn |
4040
sendCallCodeExecutions
41+
| Eval.rb:4:1:4:22 | call to send | Eval.rb:4:6:4:12 | "raise" |
42+
| Eval.rb:7:1:7:19 | call to send | Eval.rb:7:8:7:13 | "push" |
4143
| Kernel.rb:2:1:2:22 | call to send | Kernel.rb:2:6:2:12 | "raise" |
4244
| Kernel.rb:5:1:5:19 | call to send | Kernel.rb:5:8:5:13 | "push" |
4345
evalCallCodeExecutions
46+
| Eval.rb:3:1:3:43 | call to eval | Eval.rb:3:6:3:22 | "raise \\"error\\"" |
4447
| Kernel.rb:1:1:1:43 | call to eval | Kernel.rb:1:6:1:22 | "raise \\"error\\"" |

ruby/ql/test/library-tests/frameworks/core/Module.expected

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
classEvalCallCodeExecutions
22
| Module.rb:29:1:29:47 | call to class_eval | Module.rb:29:16:29:32 | "def foo; 1; end" |
33
moduleEvalCallCodeExecutions
4+
| Eval.rb:24:1:24:54 | call to module_eval | Eval.rb:24:17:24:33 | "def bar; 1; end" |
45
| Module.rb:30:1:30:54 | call to module_eval | Module.rb:30:17:30:33 | "def bar; 1; end" |
56
moduleConstGetCallCodeExecutions
67
| Module.rb:1:1:1:24 | call to const_get | Module.rb:1:18:1:23 | "Math" |

0 commit comments

Comments
 (0)