mirror of
https://github.com/wren-lang/wren.git
synced 2026-01-16 20:28:04 +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.
7 lines
190 B
Plaintext
7 lines
190 B
Plaintext
{
|
|
var a = a + 1
|
|
System.print(a)
|
|
}
|
|
// Error on last line because it assumes the "a" in the initializer is a module
|
|
// level variable about to be shadowed by the new local.
|
|
// expect error |