Fix closures in methods.
A local name inside a method should always resolve to a self send even if there is a local variable with that name outside of the method.
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
{
|
||||
var foo = "variable"
|
||||
|
||||
class Foo {
|
||||
construct new() {}
|
||||
|
||||
foo { "method" }
|
||||
|
||||
method {
|
||||
System.print(foo)
|
||||
}
|
||||
|
||||
static foo { "class method" }
|
||||
|
||||
static classMethod {
|
||||
System.print(foo)
|
||||
}
|
||||
}
|
||||
|
||||
Foo.new().method // expect: method
|
||||
Foo.classMethod // expect: class method
|
||||
}
|
||||
Reference in New Issue
Block a user