Add Fiber.try().

This commit is contained in:
Bob Nystrom
2014-10-15 06:36:42 -07:00
parent 24967ed4eb
commit f6cbb6ad75
13 changed files with 162 additions and 37 deletions
+7
View File
@@ -0,0 +1,7 @@
var fiber = new Fiber {
"s".unknown
}
IO.print(fiber.error) // expect: null
IO.print(fiber.try) // expect: String does not implement method 'unknown'.
IO.print(fiber.error) // expect: String does not implement method 'unknown'.
+6
View File
@@ -0,0 +1,6 @@
var fiber = new Fiber {
"s".unknown
}
fiber.try
IO.print(fiber.isDone) // expect: true
+10
View File
@@ -0,0 +1,10 @@
var fiber = new Fiber {
IO.print("before")
true.unknownMethod
IO.print("after")
}
IO.print(fiber.try)
// expect: before
// expect: Bool does not implement method 'unknownMethod'.
IO.print("after try") // expect: after try
+7
View File
@@ -0,0 +1,7 @@
var fiber
fiber = new Fiber {
fiber.try // expect runtime error: Fiber has already been called.
}
fiber.call
+12
View File
@@ -0,0 +1,12 @@
var a
var b
a = new Fiber {
b.try // expect runtime error: Fiber has already been called.
}
b = new Fiber {
a.call
}
b.call
+6
View File
@@ -0,0 +1,6 @@
var fiber = new Fiber {
IO.print("try")
}
fiber.try // expect: try
fiber.try // expect runtime error: Cannot try a finished fiber.
+8
View File
@@ -0,0 +1,8 @@
var fiber = new Fiber {
IO.print("fiber")
}
IO.print("before") // expect: before
IO.print(fiber.try) // expect: fiber
// expect: null
IO.print("after") // expect: after