Make constructors just methods.

* Eliminate "new" reserved word.
* Allow "this" before a method definition to define a constructor.
* Only create a default constructor for classes that don't define one.
This commit is contained in:
Bob Nystrom
2015-07-10 09:18:22 -07:00
parent 0ddaa2517c
commit 5fb6186d7d
221 changed files with 864 additions and 654 deletions
+3 -3
View File
@@ -2,7 +2,7 @@ class Outer {
method {
IO.print(this) // expect: Outer
new Fn {
Fn.new {
IO.print(this) // expect: Outer
class Inner {
@@ -12,11 +12,11 @@ class Outer {
toString { "Inner" }
}
(new Inner).method
Inner.new().method
}.call()
}
toString { "Outer" }
}
(new Outer).method
Outer.new().method