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:
@@ -1,32 +1,32 @@
|
||||
class Iter {
|
||||
new(value) { _value = value }
|
||||
this new(value) { _value = value }
|
||||
iterate(iterator) { _value }
|
||||
iteratorValue(iterator) { "value" }
|
||||
}
|
||||
|
||||
// False and null are false.
|
||||
for (n in new Iter(false)) {
|
||||
for (n in Iter.new(false)) {
|
||||
IO.print("bad")
|
||||
break
|
||||
}
|
||||
|
||||
for (n in new Iter(null)) {
|
||||
for (n in Iter.new(null)) {
|
||||
IO.print("bad")
|
||||
break
|
||||
}
|
||||
|
||||
// Everything else is true.
|
||||
for (n in new Iter(true)) {
|
||||
for (n in Iter.new(true)) {
|
||||
IO.print("true") // expect: true
|
||||
break
|
||||
}
|
||||
|
||||
for (n in new Iter(0)) {
|
||||
for (n in Iter.new(0)) {
|
||||
IO.print(0) // expect: 0
|
||||
break
|
||||
}
|
||||
|
||||
for (n in new Iter("")) {
|
||||
for (n in Iter.new("")) {
|
||||
IO.print("string") // expect: string
|
||||
break
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user