Add TOKEN_CONSTRUCT as a new reserved word in the Wren compiler lexer and parser, and update the grammar rule table so that 'construct' triggers a constructor signature instead of 'this'. Modify all built-in class definitions in core.wren, wren_core.c, benchmark files, and test fixtures to use 'construct new(...)' and 'construct named(...)' syntax. Update documentation in classes.markdown and syntax.markdown to reflect the new keyword, and remove the deprecated test files for 'new' and infix class expressions.
12 lines
262 B
Plaintext
12 lines
262 B
Plaintext
// Tests that Object implements new(). The only way to call that is through a
|
|
// super() call in a subclass, so this does that.
|
|
|
|
class Foo {
|
|
construct new() {
|
|
super() // Should not cause a no method error.
|
|
IO.print("ok")
|
|
}
|
|
}
|
|
|
|
Foo.new() // expect: ok
|