mirror of
https://github.com/wren-lang/wren.git
synced 2026-01-12 14:48:40 +01:00
- Allow this for both argument lists and block arguments.
- Tweak precedence to make "." higher than infix "{}" to avoid a
class body being parsed as the superclass clause's block argument.
- Convert all uses of ".call" to use this. (There was not a single
case in the repo that ran into the getter ambiguity.)
28 lines
438 B
Plaintext
28 lines
438 B
Plaintext
class CallArg {
|
|
static test() {
|
|
this("string") // expect: string
|
|
}
|
|
|
|
static call(arg) { System.print(arg) }
|
|
}
|
|
|
|
class CallBlock {
|
|
static test() {
|
|
this { "block" } // expect: block
|
|
}
|
|
|
|
static call(block) { System.print(block()) }
|
|
}
|
|
|
|
class CallBoth {
|
|
static test() {
|
|
this(1, 2) { 3 } // expect: 1 2 3
|
|
}
|
|
|
|
static call(a, b, c) { System.print("%(a) %(b) %(c())") }
|
|
}
|
|
|
|
CallArg.test()
|
|
CallBlock.test()
|
|
CallBoth.test()
|