Enforce syntactic requirement for parentheses in operator method signatures (e.g., `+(other)` instead of `+ other`) and setter definitions (e.g., `bar=(value)` instead of `bar = value`). Update the compiler's `infixSignature`, `mixedSignature`, and `namedSignature` functions to consume explicit `(` and `)` tokens around parameter names. Migrate all built-in core library operator definitions and test fixtures to the new parenthesized syntax.
24 lines
312 B
Plaintext
24 lines
312 B
Plaintext
class Foo {
|
|
getter {
|
|
IO.print("getter")
|
|
}
|
|
|
|
setter=(value) {
|
|
IO.print("setter")
|
|
}
|
|
|
|
method(a) {
|
|
IO.print("method")
|
|
}
|
|
}
|
|
|
|
class Bar is Foo {
|
|
test {
|
|
getter // expect: getter
|
|
setter = "value" // expect: setter
|
|
method("arg") // expect: method
|
|
}
|
|
}
|
|
|
|
(new Bar).test
|