Implicitly define nonlocal names.
If a capitalized name cannot be resolved, a new top-level variable with its name is implicitly declared. If a real definition is not found later, a compile time error is raised. Mutual recursion at the top level works now! Fix #101. Fix #106.
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
class Foo {
|
||||
method {
|
||||
IO.print(Global)
|
||||
}
|
||||
|
||||
static classMethod {
|
||||
IO.print(Global)
|
||||
}
|
||||
}
|
||||
|
||||
var Global = "global"
|
||||
|
||||
(new Foo).method // expect: global
|
||||
Foo.classMethod // expect: global
|
||||
Reference in New Issue
Block a user