Remove support for implicit self sends and convert everything to '@'.

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.
This commit is contained in:
Bob Nystrom
2015-11-30 22:46:11 -08:00
parent 2e425ae840
commit 9df6aa2f8a
58 changed files with 331 additions and 571 deletions

View File

@ -0,0 +1,5 @@
var variable = "module"
Fn.new {
System.print(variable) // expect: module
}.call()