mirror of
https://github.com/wren-lang/wren.git
synced 2026-01-12 22:58:40 +01:00
This fixes the nasty case where "foo(bar)" is context-sensitive, and generally simplifies the compiler a lot since there is a clear distinction between lexical and dynamic scope. Also: - Remove the special handling of capitalized names since all names are lexical now. - Allow methods to close over local variables in enclosing functions. - Allow implicit definition of all lexical names.
17 lines
228 B
Plaintext
17 lines
228 B
Plaintext
var variable = "module"
|
|
|
|
class Foo {
|
|
construct new() {}
|
|
|
|
method {
|
|
System.print(variable)
|
|
}
|
|
|
|
static classMethod {
|
|
System.print(variable)
|
|
}
|
|
}
|
|
|
|
Foo.new().method // expect: module
|
|
Foo.classMethod // expect: module
|