feat: require parentheses around operator and setter method parameters in Wren

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.
This commit is contained in:
Bob Nystrom
2014-04-09 00:54:37 +00:00
parent 25098cd181
commit fca506fdf1
19 changed files with 40 additions and 35 deletions
+2 -2
View File
@@ -77,9 +77,9 @@ static const char* libSource =
" return result\n"
" }\n"
"\n"
" + that {\n"
" +(other) {\n"
" var result = this[0..-1]\n"
" for (element in that) {\n"
" for (element in other) {\n"
" result.add(element)\n"
" }\n"
" return result\n"