mirror of
https://github.com/github/codeql.git
synced 2025-12-17 17:23:36 +01:00
66 lines
979 B
Ruby
66 lines
979 B
Ruby
def test_basic(x)
|
|
y = x #$ Alert
|
|
y = x + 2
|
|
return y
|
|
end
|
|
|
|
def test_retry
|
|
x = 0
|
|
begin
|
|
if x == 0
|
|
raise "error"
|
|
end
|
|
rescue
|
|
x = 2 # OK - the retry will allow a later read
|
|
retry
|
|
end
|
|
return 42
|
|
end
|
|
|
|
def test_binding
|
|
x = 4 # OK - the binding collects the value of x
|
|
return binding
|
|
end
|
|
|
|
class Sup
|
|
def m(x)
|
|
print(x + 1)
|
|
end
|
|
end
|
|
|
|
class Sub < Sup
|
|
def m(y)
|
|
y = 3 # OK - the call to `super` sees the value of `y``
|
|
super
|
|
end
|
|
end
|
|
|
|
def do_twice
|
|
yield
|
|
yield
|
|
end
|
|
|
|
def get_done_twice x
|
|
do_twice do
|
|
print x
|
|
x += 1 # OK - the block is executed twice
|
|
end
|
|
end
|
|
|
|
def retry_once
|
|
yield
|
|
rescue
|
|
yield
|
|
end
|
|
|
|
def get_retried x
|
|
retry_once do
|
|
print x
|
|
if x < 1
|
|
begin
|
|
x += 1 # OK - the block may be executed again
|
|
raise StandardError
|
|
end
|
|
end
|
|
end
|
|
end |