feat: migrate all function literals from fn syntax to new Fn block syntax
Replace all occurrences of the old `fn` function literal syntax with the new `new Fn {|params| body}` block syntax across benchmark, test, and source files. Update the Wren compiler to handle the pipe operator as a block argument delimiter by removing `TOKEN_PIPE` from the newline-swallowing token list and adding explicit newline matching in `infixOp`. Adjust test expectations in `conditional/precedence.wren` to remove `fn`-based expressions and update `test/assignment/local.wren` to use the new syntax.
This commit is contained in:
@@ -1,3 +1,3 @@
|
||||
IO.print(fn {
|
||||
IO.print(new Fn {
|
||||
if (false) "no" else return "ok"
|
||||
}.call) // expect: ok
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
IO.print(fn {
|
||||
IO.print(new Fn {
|
||||
if (true) return "ok"
|
||||
}.call) // expect: ok
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
IO.print(fn {
|
||||
IO.print(new Fn {
|
||||
while (true) return "ok"
|
||||
}.call) // expect: ok
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
var f = fn {
|
||||
var f = new Fn {
|
||||
return "ok"
|
||||
IO.print("bad")
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
var f = fn {
|
||||
var f = new Fn {
|
||||
if (true) { return }
|
||||
IO.print("bad")
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
var f = fn {
|
||||
var f = new Fn {
|
||||
return
|
||||
IO.print("bad")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user