Files
wren/test/constructor/superclass.wren
T

41 lines
609 B
Plaintext
Raw Normal View History

class A {
new(arg) {
2014-04-09 07:48:35 -07:00
IO.print("new A ", arg)
2013-12-18 07:37:41 -08:00
_field = arg
}
2013-12-18 07:37:41 -08:00
2014-04-03 07:48:19 -07:00
aField { _field }
}
class B is A {
new(arg1, arg2) {
super(arg2)
2014-04-09 07:48:35 -07:00
IO.print("new B ", arg1)
2013-12-18 07:37:41 -08:00
_field = arg1
}
2013-12-18 07:37:41 -08:00
2014-04-03 07:48:19 -07:00
bField { _field }
}
class C is B {
new {
super("one", "two")
2014-01-05 12:27:12 -08:00
IO.print("new C")
2013-12-18 07:37:41 -08:00
_field = "c"
}
2013-12-18 07:37:41 -08:00
2014-04-03 07:48:19 -07:00
cField { _field }
}
var c = new C
// expect: new A two
// expect: new B one
// expect: new C
2014-01-05 12:27:12 -08:00
IO.print(c is A) // expect: true
IO.print(c is B) // expect: true
IO.print(c is C) // expect: true
2013-12-18 07:37:41 -08:00
2014-01-05 12:27:12 -08:00
IO.print(c.aField) // expect: two
IO.print(c.bField) // expect: one
IO.print(c.cField) // expect: c