Unify body handling.
Blocks, functions, and methods now have the same code for handling their bodies. This means that single-line methods work like single-line functions: they return the result of their expression.
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
var f = new Fn {
|
||||
// Hi.
|
||||
}
|
||||
IO.print(f.call) // expect: null
|
||||
@@ -0,0 +1,5 @@
|
||||
new Fn { IO.print("ok") // expect error
|
||||
}.call // expect error
|
||||
|
||||
// The second error is cascaded here. If it starts failing, just remove that
|
||||
// expectation.
|
||||
@@ -0,0 +1,2 @@
|
||||
new Fn {
|
||||
IO.print("ok") }.call // expect error
|
||||
@@ -6,11 +6,7 @@ new Fn {
|
||||
IO.print("ok") // expect: ok
|
||||
}.call
|
||||
|
||||
// No trailing newline.
|
||||
new Fn {
|
||||
IO.print("ok") }.call // expect: ok
|
||||
|
||||
// Multiple expressions.
|
||||
// Multiple statements.
|
||||
new Fn {
|
||||
IO.print("1") // expect: 1
|
||||
IO.print("2") // expect: 2
|
||||
|
||||
Reference in New Issue
Block a user