mirror of
https://github.com/wren-lang/wren.git
synced 2026-01-12 06:38:45 +01:00
Get rid of the separate opt-in IO class and replace it with a core System class. - Remove wren_io.c, wren_io.h, and io.wren. - Remove the flags that disable it. - Remove the overloads for print() with different arity. (It was an experiment, but I don't think it's that useful.) - Remove IO.read(). That will reappear using libuv in the CLI at some point. - Remove IO.time. Doesn't seem to have been used. - Update all of the tests, docs, etc. I'm sorry for all the breakage this causes, but I think "System" is a better name for this class (it makes it natural to add things like "System.gc()") and frees up "IO" for referring to the CLI's IO module.
41 lines
681 B
Plaintext
41 lines
681 B
Plaintext
class A {
|
|
construct new(arg) {
|
|
System.print("new A " + arg)
|
|
_field = arg
|
|
}
|
|
|
|
aField { _field }
|
|
}
|
|
|
|
class B is A {
|
|
construct new(arg1, arg2) {
|
|
super(arg2)
|
|
System.print("new B " + arg1)
|
|
_field = arg1
|
|
}
|
|
|
|
bField { _field }
|
|
}
|
|
|
|
class C is B {
|
|
construct new() {
|
|
super("one", "two")
|
|
System.print("new C")
|
|
_field = "c"
|
|
}
|
|
|
|
cField { _field }
|
|
}
|
|
|
|
var c = C.new()
|
|
// expect: new A two
|
|
// expect: new B one
|
|
// expect: new C
|
|
System.print(c is A) // expect: true
|
|
System.print(c is B) // expect: true
|
|
System.print(c is C) // expect: true
|
|
|
|
System.print(c.aField) // expect: two
|
|
System.print(c.bField) // expect: one
|
|
System.print(c.cField) // expect: c
|