"IO" -> "System".
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.
This commit is contained in:
@@ -1,3 +1,3 @@
|
||||
// A dangling else binds to the right-most if.
|
||||
if (true) if (false) IO.print("bad") else IO.print("good") // expect: good
|
||||
if (false) if (true) IO.print("bad") else IO.print("bad")
|
||||
if (true) if (false) System.print("bad") else System.print("good") // expect: good
|
||||
if (false) if (true) System.print("bad") else System.print("bad")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Evaluate the 'else' expression if the condition is false.
|
||||
if (true) IO.print("good") else IO.print("bad") // expect: good
|
||||
if (false) IO.print("bad") else IO.print("good") // expect: good
|
||||
if (true) System.print("good") else System.print("bad") // expect: good
|
||||
if (false) System.print("bad") else System.print("good") // expect: good
|
||||
|
||||
// Allow block body.
|
||||
if (false) null else { IO.print("block") } // expect: block
|
||||
if (false) null else { System.print("block") } // expect: block
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
// Evaluate the 'then' expression if the condition is true.
|
||||
if (true) IO.print("good") // expect: good
|
||||
if (false) IO.print("bad")
|
||||
if (true) System.print("good") // expect: good
|
||||
if (false) System.print("bad")
|
||||
|
||||
// Allow block body.
|
||||
if (true) { IO.print("block") } // expect: block
|
||||
if (true) { System.print("block") } // expect: block
|
||||
|
||||
// Assignment in if condition.
|
||||
var a = false
|
||||
if (a = true) IO.print(a) // expect: true
|
||||
if (a = true) System.print(a) // expect: true
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
if // expect error
|
||||
(true) IO.print("bad")
|
||||
(true) System.print("bad")
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// False and null are false.
|
||||
if (false) IO.print("bad") else IO.print("false") // expect: false
|
||||
if (null) IO.print("bad") else IO.print("null") // expect: null
|
||||
if (false) System.print("bad") else System.print("false") // expect: false
|
||||
if (null) System.print("bad") else System.print("null") // expect: null
|
||||
|
||||
// Everything else is true.
|
||||
if (true) IO.print(true) // expect: true
|
||||
if (0) IO.print(0) // expect: 0
|
||||
if ("") IO.print("empty") // expect: empty
|
||||
if (true) System.print(true) // expect: true
|
||||
if (0) System.print(0) // expect: 0
|
||||
if ("") System.print("empty") // expect: empty
|
||||
|
||||
Reference in New Issue
Block a user