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
+4 -4
View File
@@ -1,6 +1,6 @@
IO.print(Num is Class) // expect: true
IO.print(true is Bool) // expect: true
IO.print(new Fn { 1 } is Fn) // expect: true
IO.print(Fn.new { 1 } is Fn) // expect: true
IO.print(123 is Num) // expect: true
IO.print(null is Null) // expect: true
IO.print("s" is String) // expect: true
@@ -8,7 +8,7 @@ IO.print("s" is String) // expect: true
IO.print(Num is Bool) // expect: false
IO.print(null is Class) // expect: false
IO.print(true is Fn) // expect: false
IO.print(new Fn { 1 } is Num) // expect: false
IO.print(Fn.new { 1 } is Num) // expect: false
IO.print("s" is Null) // expect: false
IO.print(123 is String) // expect: false
@@ -16,7 +16,7 @@ IO.print(123 is String) // expect: false
IO.print(Num is Object) // expect: true
IO.print(null is Object) // expect: true
IO.print(true is Object) // expect: true
IO.print(new Fn { 1 } is Object) // expect: true
IO.print(Fn.new { 1 } is Object) // expect: true
IO.print("s" is Object) // expect: true
IO.print(123 is Object) // expect: true
@@ -24,7 +24,7 @@ IO.print(123 is Object) // expect: true
IO.print(Num is Class) // expect: true
IO.print(null is Class) // expect: false
IO.print(true is Class) // expect: false
IO.print(new Fn { 1 } is Class) // expect: false
IO.print(Fn.new { 1 } is Class) // expect: false
IO.print("s" is Class) // expect: false
IO.print(123 is Class) // expect: false