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.
13 lines
224 B
Plaintext
13 lines
224 B
Plaintext
class Foo {
|
|
construct new() {}
|
|
static bar { Bar.new() }
|
|
}
|
|
|
|
class Bar {
|
|
construct new() {}
|
|
static foo { Foo.new() }
|
|
}
|
|
|
|
System.print(Foo.bar) // expect: instance of Bar
|
|
System.print(Bar.foo) // expect: instance of Foo
|