Files
wren/test/language/constructor/superclass.wren
T

41 lines
681 B
Plaintext
Raw Normal View History

class A {
construct new(arg) {
2015-11-11 07:55:48 -08:00
System.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 {
construct new(arg1, arg2) {
super(arg2)
2015-11-11 07:55:48 -08:00
System.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 {
construct new() {
super("one", "two")
2015-09-15 07:46:09 -07:00
System.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 }
}
2015-07-10 09:18:22 -07:00
var c = C.new()
// expect: new A two
// expect: new B one
// expect: new C
2015-09-15 07:46:09 -07:00
System.print(c is A) // expect: true
System.print(c is B) // expect: true
System.print(c is C) // expect: true
2013-12-18 07:37:41 -08:00
2015-09-15 07:46:09 -07:00
System.print(c.aField) // expect: two
System.print(c.bField) // expect: one
System.print(c.cField) // expect: c