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
+1
View File
@@ -1,4 +1,5 @@
class Foo {
construct new() {}
method { "getter" }
method() { "no args" }
method(a) { a }
+1
View File
@@ -1,4 +1,5 @@
class Foo {
construct new() {}
bar {}
}
+1
View File
@@ -1,4 +1,5 @@
class Foo {
construct new() {}
thisHasAMethodNameThatIsExactly64CharactersLongWhichIsTheMaximum {
return "result"
}
+1
View File
@@ -1,4 +1,5 @@
class Foo {
construct new() {}
method000 { 1 }
method001 { 1 }
method002 { 1 }
+1
View File
@@ -1,4 +1,5 @@
class Foo {
construct new() {}
method(a, b) { "method " + a + " " + b }
[a, b] { "subscript " + a + " " + b }
}
+3 -1
View File
@@ -1,3 +1,5 @@
class Foo {}
class Foo {
construct new() {}
}
Foo.new().someUnknownMethod // expect runtime error: Foo does not implement 'someUnknownMethod'.
@@ -1,3 +1,5 @@
class Foo {}
class Foo {
construct new() {}
}
Foo.new().someUnknownMethod(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11) // expect runtime error: Foo does not implement 'someUnknownMethod(_,_,_,_,_,_,_,_,_,_,_)'.
@@ -1,3 +1,5 @@
class Foo {}
class Foo {
construct new() {}
}
Foo.new().someUnknownMethod(1, 2) // expect runtime error: Foo does not implement 'someUnknownMethod(_,_)'.
@@ -1,3 +1,5 @@
class Foo {}
class Foo {
construct new() {}
}
Foo.new().someUnknownMethod(1) // expect runtime error: Foo does not implement 'someUnknownMethod(_)'.
+2
View File
@@ -1,4 +1,6 @@
class Foo {
construct new() {}
+(other) { "infix + " + other }
-(other) { "infix - " + other }
*(other) { "infix * " + other }
+1
View File
@@ -1,4 +1,5 @@
class Foo {
construct new() {}
bar { "on instance" }
static bar { "on metaclass" }
@@ -1,4 +1,5 @@
class Foo {
construct new() {}
[a] { "1-subscript " + a }
[a, b] { "2-subscript " + a + " " + b }
[a, b, c] { "3-subscript " + a + " " + b + " " + c }