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,5 +1,5 @@
class Toggle {
new(startState) {
this new(startState) {
_state = startState
}
@@ -11,7 +11,7 @@ class Toggle {
}
class NthToggle is Toggle {
new(startState, maxCounter) {
this new(startState, maxCounter) {
super(startState)
_countMax = maxCounter
_count = 0
@@ -31,7 +31,7 @@ class NthToggle is Toggle {
var start = IO.clock
var n = 100000
var val = true
var toggle = new Toggle(val)
var toggle = Toggle.new(val)
for (i in 0...n) {
val = toggle.activate.value
@@ -49,7 +49,7 @@ for (i in 0...n) {
IO.print(toggle.value)
val = true
var ntoggle = new NthToggle(val, 3)
var ntoggle = NthToggle.new(val, 3)
for (i in 0...n) {
val = ntoggle.activate.value