No more default constructors.

Fixes #296.
This commit is contained in:
Bob Nystrom
2015-09-01 08:16:04 -07:00
parent 36f3059e48
commit 2e83f056c1
86 changed files with 248 additions and 133 deletions
+2
View File
@@ -1,4 +1,6 @@
class TestSequence is Sequence {
construct new() {}
iterate(iterator) {
if (iterator == null) return 1
if (iterator == 10) return false
+1
View File
@@ -2,6 +2,7 @@ IO.print([].isEmpty) // expect: true
IO.print([1].isEmpty) // expect: false
class InfiniteSequence is Sequence {
construct new() {}
iterate(iterator) { true }
iteratorValue(iterator) { iterator }
}
+2
View File
@@ -15,6 +15,8 @@ class FibIterator {
}
class Fib is Sequence {
construct new() {}
iterate(iterator) {
if (iterator == null) return FibIterator.new()
iterator.iterate
+1
View File
@@ -0,0 +1 @@
Sequence.new() // expect runtime error: Sequence metaclass does not implement 'new()'.
+2
View File
@@ -1,4 +1,6 @@
class TestSequence is Sequence {
construct new() {}
iterate(iterator) {
if (iterator == null) return 1
if (iterator == 3) return false
+2
View File
@@ -15,6 +15,8 @@ class FibIterator {
}
class Fib is Sequence {
construct new() {}
iterate(iterator) {
if (iterator == null) return FibIterator.new()
iterator.iterate