refactor: convert IO from singleton instance to static class with metaclass native methods

Replace the global `io` singleton object with a static `IO` class, moving the `write` native from the instance to the metaclass. Update all benchmark, example, and test files to use `IO.write()` instead of `io.write()`.
This commit is contained in:
Bob Nystrom
2013-12-22 03:25:09 +00:00
parent 1a77a43fa0
commit 8bb1a94a25
119 changed files with 532 additions and 536 deletions
+1 -1
View File
@@ -1,2 +1,2 @@
var a = a == null
io.write(a) // expect: true
IO.write(a) // expect: true
+1 -1
View File
@@ -1,5 +1,5 @@
// skip: Variables should not be in scope in their initializer.
{
var a = a + 1 // expect error
io.write(a)
IO.write(a)
}
+4 -4
View File
@@ -1,13 +1,13 @@
class Foo {
bar {
var a = "a"
io.write(a) // expect: a
IO.write(a) // expect: a
var b = a + " b"
io.write(b) // expect: a b
IO.write(b) // expect: a b
var c = a + " c"
io.write(c) // expect: a c
IO.write(c) // expect: a c
var d = b + " d"
io.write(d) // expect: a b d
IO.write(d) // expect: a b d
}
}
+1 -1
View File
@@ -1,6 +1,6 @@
{
var a = "outer"
{
io.write(a) // expect: outer
IO.write(a) // expect: outer
}
}
+1 -1
View File
@@ -255,5 +255,5 @@
var a253 = a252
var a254 = a253
var a255 = a254
io.write(a255) // expect: value
IO.write(a255) // expect: value
}
@@ -259,7 +259,7 @@
var a253 = a252
var a254 = a253
var a255 = a254
io.write(a255) // expect: value a
IO.write(a255) // expect: value a
}
{
@@ -519,6 +519,6 @@
var b253 = b252
var b254 = b253
var b255 = b254
io.write(b255) // expect: value b
IO.write(b255) // expect: value b
}
}
+2 -2
View File
@@ -3,11 +3,11 @@ var a = "out"
if (true) {
var a = "in"
}
io.write(a) // expect: out
IO.write(a) // expect: out
// Create a local scope for the 'else' expression.
var b = "out"
if (false) "dummy" else {
var b = "in"
}
io.write(b) // expect: out
IO.write(b) // expect: out
@@ -1,9 +1,9 @@
{
var a = "first"
io.write(a) // expect: first
IO.write(a) // expect: first
}
{
var a = "second"
io.write(a) // expect: second
IO.write(a) // expect: second
}
+1 -1
View File
@@ -4,4 +4,4 @@ var i = 0
while ((i = i + 1) <= 1) {
var a = "inner"
}
io.write(a) // expect: outer
IO.write(a) // expect: outer
+2 -2
View File
@@ -1,8 +1,8 @@
{
var a = "outer"
{
io.write(a) // expect: outer
IO.write(a) // expect: outer
var a = "inner"
io.write(a) // expect: inner
IO.write(a) // expect: inner
}
}
+2 -2
View File
@@ -1,6 +1,6 @@
var a = "global"
{
var a = "shadow"
io.write(a) // expect: shadow
IO.write(a) // expect: shadow
}
io.write(a) // expect: global
IO.write(a) // expect: global
+1 -1
View File
@@ -3,6 +3,6 @@
var a = "outer"
{
var a = a + " inner"
io.write(a) // expect: outer inner
IO.write(a) // expect: outer inner
}
}
+2 -2
View File
@@ -2,7 +2,7 @@
var a = "local"
{
var a = "shadow"
io.write(a) // expect: shadow
IO.write(a) // expect: shadow
}
io.write(a) // expect: local
IO.write(a) // expect: local
}
+1 -1
View File
@@ -1 +1 @@
io.write(notDefined) // expect error
IO.write(notDefined) // expect error
+1 -1
View File
@@ -1,3 +1,3 @@
fn {
io.write(notDefined) // expect error
IO.write(notDefined) // expect error
}.call