mirror of
https://github.com/wren-lang/wren.git
synced 2026-01-12 06:38:45 +01:00
In the process, I had to change the grammar. There is now a strong separation between statements and expressions. The code was just wrong before when it popped locals at the end of a block scope because there could be temporaries on the stack if the block was in expression position. This fixes that. Still need to implement closing over `this`.
14 lines
460 B
Plaintext
14 lines
460 B
Plaintext
class Foo {
|
|
bar { return "on instance" }
|
|
static bar { return "on metaclass" }
|
|
|
|
bar(arg) { return "on instance " + arg }
|
|
static bar(arg) { return "on metaclass " + arg }
|
|
}
|
|
|
|
io.write("on metaclass " + "arg") // expect: on metaclass arg
|
|
io.write(Foo.new.bar) // expect: on instance
|
|
io.write(Foo.bar) // expect: on metaclass
|
|
io.write(Foo.new.bar("arg")) // expect: on instance arg
|
|
io.write(Foo.bar("arg")) // expect: on metaclass arg
|