diff --git a/benchmark/delta_blue.wren b/benchmark/delta_blue.wren index e19e2fcd..028b63bf 100644 --- a/benchmark/delta_blue.wren +++ b/benchmark/delta_blue.wren @@ -55,21 +55,15 @@ class Strength { _name = name } - value { return _value } - name { return _name } + value { _value } + name { _name } - nextWeaker { return ORDERED[_value] } + nextWeaker { ORDERED[_value] } - static stronger(s1, s2) { return s1.value < s2.value } - static weaker(s1, s2) { return s1.value > s2.value } - - static weakest(s1, s2) { - return Strength.weaker(s1, s2) ? s1 : s2 - } - - static strongest(s1, s2) { - return Strength.stronger(s1, s2) ? s1 : s2 - } + static stronger(s1, s2) { s1.value < s2.value } + static weaker(s1, s2) { s1.value > s2.value } + static weakest(s1, s2) { Strength.weaker(s1, s2) ? s1 : s2 } + static strongest(s1, s2) { Strength.stronger(s1, s2) ? s1 : s2 } } // Compile time computed constants. @@ -93,7 +87,7 @@ class Constraint { _strength = strength } - strength { return _strength } + strength { _strength } // Activate this constraint and attempt to satisfy it. addConstraint { @@ -133,7 +127,7 @@ class Constraint { // Normal constraints are not input constraints. An input constraint // is one that depends on external state, such as the mouse, the // keybord, a clock, or some arbitraty piece of imperative code. - isInput { return false } + isInput { false } } // Abstract superclass for constraints having a single possible output variable. @@ -158,14 +152,14 @@ class UnaryConstraint is Constraint { } // Returns true if this constraint is satisfied in the current solution. - isSatisfied { return _satisfied } + isSatisfied { _satisfied } markInputs(mark) { // has no inputs. } // Returns the current output variable. - output { return _myOutput } + output { _myOutput } // Calculate the walkabout strength, the stay flag, and, if it is // 'stay', the value for the current output of this constraint. Assume @@ -181,7 +175,7 @@ class UnaryConstraint is Constraint { _satisfied = false } - inputsKnown(mark) { return true } + inputsKnown(mark) { true } removeFromGraph { if (_myOutput != null) _myOutput.removeConstraint(this) @@ -211,7 +205,7 @@ class EditConstraint is UnaryConstraint { } // Edits indicate that a variable is to be changed by imperative code. - isInput { return true } + isInput { true } execute { // Edit constraints do nothing. @@ -234,9 +228,9 @@ class BinaryConstraint is Constraint { addConstraint } - direction { return _direction } - v1 { return _v1 } - v2 { return _v2 } + direction { _direction } + v1 { _v1 } + v2 { _v2 } // Decides if this constraint can be satisfied and which way it // should flow based on the relative strength of the variables related, @@ -283,7 +277,7 @@ class BinaryConstraint is Constraint { } // Answer true if this constraint is satisfied in the current solution. - isSatisfied { return _direction != NONE } + isSatisfied { _direction != NONE } // Mark the input variable with the given mark. markInputs(mark) { @@ -408,17 +402,17 @@ class Variable { _value = value } - constraints { return _constraints } - determinedBy { return _determinedBy } - determinedBy = value { return _determinedBy = value } - mark { return _mark } - mark = value { return _mark = value } - walkStrength { return _walkStrength } - walkStrength = value { return _walkStrength = value } - stay { return _stay } - stay = value { return _stay = value } - value { return _value } - value = newValue { return _value = newValue } + constraints { _constraints } + determinedBy { _determinedBy } + determinedBy = value { _determinedBy = value } + mark { _mark } + mark = value { _mark = value } + walkStrength { _walkStrength } + walkStrength = value { _walkStrength = value } + stay { _stay } + stay = value { _stay = value } + value { _value } + value = newValue { _value = newValue } // Add the given constraint to the set of all constraints that refer // this variable. @@ -445,7 +439,7 @@ class Plan { _list.add(constraint) } - size { return _list.count } + size { _list.count } execute { for (constraint in _list) { diff --git a/benchmark/method_call.wren b/benchmark/method_call.wren index 8f377e04..614e58fd 100644 --- a/benchmark/method_call.wren +++ b/benchmark/method_call.wren @@ -3,7 +3,7 @@ class Toggle { _state = startState } - value { return _state } + value { _state } activate { _state = !_state return this diff --git a/src/wren_compiler.c b/src/wren_compiler.c index b4cfc124..c8eaad4d 100644 --- a/src/wren_compiler.c +++ b/src/wren_compiler.c @@ -1333,27 +1333,64 @@ static void patchJump(Compiler* compiler, int offset) } // Parses a block body, after the initial "{" has been consumed. -static void finishBlock(Compiler* compiler) +// +// Returns true if it was a statement body, false if it was an expression body. +// (More precisely, returns false if a value was left on the stack. An empty +// block returns true.) +static bool finishBlock(Compiler* compiler) { - // TODO: If no newline, just parse expr. - match(compiler, TOKEN_LINE); - // Empty blocks do nothing. - if (match(compiler, TOKEN_RIGHT_BRACE)) return; + if (match(compiler, TOKEN_RIGHT_BRACE)) { + return true; + } - for (;;) + // If there's no line after the "{", it's a single-expression body. + if (!match(compiler, TOKEN_LINE)) + { + expression(compiler); + consume(compiler, TOKEN_RIGHT_BRACE, "Expect '}' at end of block."); + return false; + } + + // Empty blocks (with just a newline inside) do nothing. + if (match(compiler, TOKEN_RIGHT_BRACE)) { + return true; + } + + // Compile the definition list. + do { definition(compiler); - // If there is no newline, it must be the end of the block on the same line. - if (!match(compiler, TOKEN_LINE)) - { - consume(compiler, TOKEN_RIGHT_BRACE, "Expect '}' after block body."); - break; - } + // If we got into a weird error state, don't get stuck in a loop. + if (peek(compiler) == TOKEN_EOF) return true; - if (match(compiler, TOKEN_RIGHT_BRACE)) break; + consume(compiler, TOKEN_LINE, "Expect newline after statement."); } + while (!match(compiler, TOKEN_RIGHT_BRACE)); + return true; +} + +// Parses a method or function body, after the initial "{" has been consumed. +static void finishBody(Compiler* compiler, bool isConstructor) +{ + bool isStatementBody = finishBlock(compiler); + + if (isConstructor) + { + // If the constructor body evaluates to a value, discard it. + if (!isStatementBody) emit(compiler, CODE_POP); + + // The receiver is always stored in the first local slot. + emitByte(compiler, CODE_LOAD_LOCAL, 0); + } + else if (isStatementBody) + { + // Implicitly return null in statement bodies. + emit(compiler, CODE_NULL); + } + + emit(compiler, CODE_RETURN); } // The VM can only handle a certain number of parameters, so check that we @@ -1445,32 +1482,7 @@ static void methodCall(Compiler* compiler, Code instruction, fnCompiler.numParams = parameterList(&fnCompiler, NULL, NULL, TOKEN_PIPE, TOKEN_PIPE); - if (match(&fnCompiler, TOKEN_LINE)) - { - // Block body. - finishBlock(&fnCompiler); - - // Implicitly return null. - emit(&fnCompiler, CODE_NULL); - emit(&fnCompiler, CODE_RETURN); - } - else if (match(&fnCompiler, TOKEN_RIGHT_BRACE)) - { - // Empty body. - emit(&fnCompiler, CODE_NULL); - emit(&fnCompiler, CODE_RETURN); - } - else - { - // TODO: Are we OK with a newline determining whether or not there's an - // implicit return value? Methods don't work this way. - // Single expression body. - expression(&fnCompiler); - emit(&fnCompiler, CODE_RETURN); - - consume(compiler, TOKEN_RIGHT_BRACE, - "Expect '}' at end of block argument."); - } + finishBody(&fnCompiler, false); // TODO: Use the name of the method the block is being provided to. endCompiler(&fnCompiler, "(fn)", 4); @@ -2122,11 +2134,12 @@ void block(Compiler* compiler) // Curly block. if (match(compiler, TOKEN_LEFT_BRACE)) { - // TODO: If no newline, just parse expr. - match(compiler, TOKEN_LINE); - pushScope(compiler); - finishBlock(compiler); + if (!finishBlock(compiler)) + { + // Block was an expression, so discard it. + emit(compiler, CODE_POP); + } popScope(compiler); return; } @@ -2451,7 +2464,7 @@ void statement(Compiler* compiler) if (match(compiler, TOKEN_RETURN)) { // Compile the return value. - if (peek(compiler) == TOKEN_LINE || peek(compiler) == TOKEN_RIGHT_BRACE) + if (peek(compiler) == TOKEN_LINE) { // Implicitly return null if there is no value. emit(compiler, CODE_NULL); @@ -2492,22 +2505,7 @@ int method(Compiler* compiler, ClassCompiler* classCompiler, bool isConstructor, consume(compiler, TOKEN_LEFT_BRACE, "Expect '{' to begin method body."); - finishBlock(&methodCompiler); - // TODO: Single-expression methods that implicitly return the result. - - // If it's a constructor, return "this". - if (isConstructor) - { - // The receiver is always stored in the first local slot. - emitByte(&methodCompiler, CODE_LOAD_LOCAL, 0); - } - else - { - // Implicitly return null in case there is no explicit return. - emit(&methodCompiler, CODE_NULL); - } - - emit(&methodCompiler, CODE_RETURN); + finishBody(&methodCompiler, isConstructor); endCompiler(&methodCompiler, name, length); return methodSymbol(compiler, name, length); } diff --git a/test/class/name_inside_body.wren b/test/class/name_inside_body.wren index 4f8656ea..ebcbcd8c 100644 --- a/test/class/name_inside_body.wren +++ b/test/class/name_inside_body.wren @@ -7,7 +7,7 @@ class Foo { IO.print(Foo.toString) } - static toString { return "Foo!" } + static toString { "Foo!" } } Foo.sayName // expect: Foo! diff --git a/test/conditional/precedence.wren b/test/conditional/precedence.wren index edb73572..be4889c1 100644 --- a/test/conditional/precedence.wren +++ b/test/conditional/precedence.wren @@ -1,6 +1,6 @@ class Foo { - static bar { return true } - static baz { return 1 } + static bar { true } + static baz { 1 } } // Condition precedence. diff --git a/test/constructor/default.wren b/test/constructor/default.wren index a8b8085f..6a6b3c60 100644 --- a/test/constructor/default.wren +++ b/test/constructor/default.wren @@ -1,5 +1,5 @@ class Foo { - toString { return "Foo" } + toString { "Foo" } } // Classes inherit the argument-less "new" one by default. diff --git a/test/constructor/infix_class_expression.wren b/test/constructor/infix_class_expression.wren index a0d9ef36..4274b58c 100644 --- a/test/constructor/infix_class_expression.wren +++ b/test/constructor/infix_class_expression.wren @@ -1,5 +1,5 @@ class Foo { - + other { return "Foo " + other } + + other { "Foo " + other } } IO.print(new Foo + "value") // expect: Foo value diff --git a/test/constructor/new.wren b/test/constructor/new.wren index 9539ea67..2264c3be 100644 --- a/test/constructor/new.wren +++ b/test/constructor/new.wren @@ -3,7 +3,7 @@ class Foo { new(a) { IO.print(a) } new(a, b) { IO.print(a + b) } - toString { return "Foo" } + toString { "Foo" } } // Can overload by arity. diff --git a/test/constructor/superclass.wren b/test/constructor/superclass.wren index 5f7c2871..a4804a37 100644 --- a/test/constructor/superclass.wren +++ b/test/constructor/superclass.wren @@ -4,7 +4,7 @@ class A { _field = arg } - aField { return _field } + aField { _field } } class B is A { @@ -14,7 +14,7 @@ class B is A { _field = arg1 } - bField { return _field } + bField { _field } } class C is B { @@ -24,7 +24,7 @@ class C is B { _field = "c" } - cField { return _field } + cField { _field } } var c = new C diff --git a/test/function/empty_block.wren b/test/function/empty_body.wren similarity index 100% rename from test/function/empty_block.wren rename to test/function/empty_body.wren diff --git a/test/return/return_null_if_brace.wren b/test/function/newline_body.wren similarity index 55% rename from test/return/return_null_if_brace.wren rename to test/function/newline_body.wren index 419ecaa2..026769aa 100644 --- a/test/return/return_null_if_brace.wren +++ b/test/function/newline_body.wren @@ -1,6 +1,4 @@ var f = new Fn { - if (true) { return } - IO.print("bad") + // Hi. } - IO.print(f.call) // expect: null diff --git a/test/function/newline_in_expression_block.wren b/test/function/newline_in_expression_block.wren new file mode 100644 index 00000000..d8e27f97 --- /dev/null +++ b/test/function/newline_in_expression_block.wren @@ -0,0 +1,5 @@ +new Fn { IO.print("ok") // expect error +}.call // expect error + +// The second error is cascaded here. If it starts failing, just remove that +// expectation. diff --git a/test/function/no_newline_before_close.wren b/test/function/no_newline_before_close.wren new file mode 100644 index 00000000..490ddbfb --- /dev/null +++ b/test/function/no_newline_before_close.wren @@ -0,0 +1,2 @@ +new Fn { + IO.print("ok") }.call // expect error diff --git a/test/function/syntax.wren b/test/function/syntax.wren index 636d593a..384885ce 100644 --- a/test/function/syntax.wren +++ b/test/function/syntax.wren @@ -6,11 +6,7 @@ new Fn { IO.print("ok") // expect: ok }.call -// No trailing newline. -new Fn { - IO.print("ok") }.call // expect: ok - -// Multiple expressions. +// Multiple statements. new Fn { IO.print("1") // expect: 1 IO.print("2") // expect: 2 diff --git a/test/if/truth.wren b/test/if/truth.wren index 86f05ab4..cfb0bdfc 100644 --- a/test/if/truth.wren +++ b/test/if/truth.wren @@ -1,7 +1,7 @@ class Iter { new(value) { _value = value } - iterate(iterator) { return _value } - iteratorValue(iterator) { return "value" } + iterate(iterator) { _value } + iteratorValue(iterator) { "value" } } // False and null are false. diff --git a/test/implicit_receiver/locals_shadow_getter.wren b/test/implicit_receiver/locals_shadow_getter.wren index b4f2870e..353451db 100644 --- a/test/implicit_receiver/locals_shadow_getter.wren +++ b/test/implicit_receiver/locals_shadow_getter.wren @@ -1,5 +1,5 @@ class Foo { - bar { return "getter" } + bar { "getter" } test { IO.print(bar) // expect: getter diff --git a/test/io/write.wren b/test/io/write.wren index d2fb84e7..0be8c737 100644 --- a/test/io/write.wren +++ b/test/io/write.wren @@ -1,5 +1,5 @@ class Foo { - toString { return "Foo.toString" } + toString { "Foo.toString" } } // Calls toString on argument. diff --git a/test/list/to_string.wren b/test/list/to_string.wren index 75cd4cc0..f20d720b 100644 --- a/test/list/to_string.wren +++ b/test/list/to_string.wren @@ -9,7 +9,7 @@ IO.print([1, [2, [3], 4], 5]) // expect: [1, [2, [3], 4], 5] // Calls toString on elements. class Foo { - toString { return "Foo.toString" } + toString { "Foo.toString" } } IO.print([1, new Foo, 2]) // expect: [1, Foo.toString, 2] diff --git a/test/method/arity.wren b/test/method/arity.wren index 41ac7343..bbe55392 100644 --- a/test/method/arity.wren +++ b/test/method/arity.wren @@ -1,21 +1,21 @@ class Foo { - method { return 0 } - method(a) { return a } - method(a, b) { return a + b } - method(a, b, c) { return a + b + c } - method(a, b, c, d) { return a + b + c + d } - method(a, b, c, d, e) { return a + b + c + d + e } - method(a, b, c, d, e, f) { return a + b + c + d + e + f } - method(a, b, c, d, e, f, g) { return a + b + c + d + e + f + g } - method(a, b, c, d, e, f, g, h) { return a + b + c + d + e + f + g + h } - method(a, b, c, d, e, f, g, h, i) { return a + b + c + d + e + f + g + h + i } - method(a, b, c, d, e, f, g, h, i, j) { return a + b + c + d + e + f + g + h + i + j } - method(a, b, c, d, e, f, g, h, i, j, k) { return a + b + c + d + e + f + g + h + i + j + k} - method(a, b, c, d, e, f, g, h, i, j, k, l) { return a + b + c + d + e + f + g + h + i + j + k + l} - method(a, b, c, d, e, f, g, h, i, j, k, l, m) { return a + b + c + d + e + f + g + h + i + j + k + l + m} - method(a, b, c, d, e, f, g, h, i, j, k, l, m, n) { return a + b + c + d + e + f + g + h + i + j + k + l + m + n} - method(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) { return a + b + c + d + e + f + g + h + i + j + k + l + m + n + o} - method(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) { return a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p} + method { 0 } + method(a) { a } + method(a, b) { a + b } + method(a, b, c) { a + b + c } + method(a, b, c, d) { a + b + c + d } + method(a, b, c, d, e) { a + b + c + d + e } + method(a, b, c, d, e, f) { a + b + c + d + e + f } + method(a, b, c, d, e, f, g) { a + b + c + d + e + f + g } + method(a, b, c, d, e, f, g, h) { a + b + c + d + e + f + g + h } + method(a, b, c, d, e, f, g, h, i) { a + b + c + d + e + f + g + h + i } + method(a, b, c, d, e, f, g, h, i, j) { a + b + c + d + e + f + g + h + i + j } + method(a, b, c, d, e, f, g, h, i, j, k) { a + b + c + d + e + f + g + h + i + j + k} + method(a, b, c, d, e, f, g, h, i, j, k, l) { a + b + c + d + e + f + g + h + i + j + k + l} + method(a, b, c, d, e, f, g, h, i, j, k, l, m) { a + b + c + d + e + f + g + h + i + j + k + l + m} + method(a, b, c, d, e, f, g, h, i, j, k, l, m, n) { a + b + c + d + e + f + g + h + i + j + k + l + m + n} + method(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) { a + b + c + d + e + f + g + h + i + j + k + l + m + n + o} + method(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) { a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p} } var foo = new Foo diff --git a/test/method/many_methods.wren b/test/method/many_methods.wren index d0586c50..f3e29cfe 100644 --- a/test/method/many_methods.wren +++ b/test/method/many_methods.wren @@ -1,1013 +1,1013 @@ class Foo { - method000 { return 1 } - method001 { return 1 } - method002 { return 1 } - method003 { return 1 } - method004 { return 1 } - method005 { return 1 } - method006 { return 1 } - method007 { return 1 } - method008 { return 1 } - method009 { return 1 } - method010 { return 1 } - method011 { return 1 } - method012 { return 1 } - method013 { return 1 } - method014 { return 1 } - method015 { return 1 } - method016 { return 1 } - method017 { return 1 } - method018 { return 1 } - method019 { return 1 } - method020 { return 1 } - method021 { return 1 } - method022 { return 1 } - method023 { return 1 } - method024 { return 1 } - method025 { return 1 } - method026 { return 1 } - method027 { return 1 } - method028 { return 1 } - method029 { return 1 } - method030 { return 1 } - method031 { return 1 } - method032 { return 1 } - method033 { return 1 } - method034 { return 1 } - method035 { return 1 } - method036 { return 1 } - method037 { return 1 } - method038 { return 1 } - method039 { return 1 } - method040 { return 1 } - method041 { return 1 } - method042 { return 1 } - method043 { return 1 } - method044 { return 1 } - method045 { return 1 } - method046 { return 1 } - method047 { return 1 } - method048 { return 1 } - method049 { return 1 } - method050 { return 1 } - method051 { return 1 } - method052 { return 1 } - method053 { return 1 } - method054 { return 1 } - method055 { return 1 } - method056 { return 1 } - method057 { return 1 } - method058 { return 1 } - method059 { return 1 } - method060 { return 1 } - method061 { return 1 } - method062 { return 1 } - method063 { return 1 } - method064 { return 1 } - method065 { return 1 } - method066 { return 1 } - method067 { return 1 } - method068 { return 1 } - method069 { return 1 } - method070 { return 1 } - method071 { return 1 } - method072 { return 1 } - method073 { return 1 } - method074 { return 1 } - method075 { return 1 } - method076 { return 1 } - method077 { return 1 } - method078 { return 1 } - method079 { return 1 } - method080 { return 1 } - method081 { return 1 } - method082 { return 1 } - method083 { return 1 } - method084 { return 1 } - method085 { return 1 } - method086 { return 1 } - method087 { return 1 } - method088 { return 1 } - method089 { return 1 } - method090 { return 1 } - method091 { return 1 } - method092 { return 1 } - method093 { return 1 } - method094 { return 1 } - method095 { return 1 } - method096 { return 1 } - method097 { return 1 } - method098 { return 1 } - method099 { return 1 } + method000 { 1 } + method001 { 1 } + method002 { 1 } + method003 { 1 } + method004 { 1 } + method005 { 1 } + method006 { 1 } + method007 { 1 } + method008 { 1 } + method009 { 1 } + method010 { 1 } + method011 { 1 } + method012 { 1 } + method013 { 1 } + method014 { 1 } + method015 { 1 } + method016 { 1 } + method017 { 1 } + method018 { 1 } + method019 { 1 } + method020 { 1 } + method021 { 1 } + method022 { 1 } + method023 { 1 } + method024 { 1 } + method025 { 1 } + method026 { 1 } + method027 { 1 } + method028 { 1 } + method029 { 1 } + method030 { 1 } + method031 { 1 } + method032 { 1 } + method033 { 1 } + method034 { 1 } + method035 { 1 } + method036 { 1 } + method037 { 1 } + method038 { 1 } + method039 { 1 } + method040 { 1 } + method041 { 1 } + method042 { 1 } + method043 { 1 } + method044 { 1 } + method045 { 1 } + method046 { 1 } + method047 { 1 } + method048 { 1 } + method049 { 1 } + method050 { 1 } + method051 { 1 } + method052 { 1 } + method053 { 1 } + method054 { 1 } + method055 { 1 } + method056 { 1 } + method057 { 1 } + method058 { 1 } + method059 { 1 } + method060 { 1 } + method061 { 1 } + method062 { 1 } + method063 { 1 } + method064 { 1 } + method065 { 1 } + method066 { 1 } + method067 { 1 } + method068 { 1 } + method069 { 1 } + method070 { 1 } + method071 { 1 } + method072 { 1 } + method073 { 1 } + method074 { 1 } + method075 { 1 } + method076 { 1 } + method077 { 1 } + method078 { 1 } + method079 { 1 } + method080 { 1 } + method081 { 1 } + method082 { 1 } + method083 { 1 } + method084 { 1 } + method085 { 1 } + method086 { 1 } + method087 { 1 } + method088 { 1 } + method089 { 1 } + method090 { 1 } + method091 { 1 } + method092 { 1 } + method093 { 1 } + method094 { 1 } + method095 { 1 } + method096 { 1 } + method097 { 1 } + method098 { 1 } + method099 { 1 } - method100 { return 1 } - method101 { return 1 } - method102 { return 1 } - method103 { return 1 } - method104 { return 1 } - method105 { return 1 } - method106 { return 1 } - method107 { return 1 } - method108 { return 1 } - method109 { return 1 } - method110 { return 1 } - method111 { return 1 } - method112 { return 1 } - method113 { return 1 } - method114 { return 1 } - method115 { return 1 } - method116 { return 1 } - method117 { return 1 } - method118 { return 1 } - method119 { return 1 } - method120 { return 1 } - method121 { return 1 } - method122 { return 1 } - method123 { return 1 } - method124 { return 1 } - method125 { return 1 } - method126 { return 1 } - method127 { return 1 } - method128 { return 1 } - method129 { return 1 } - method130 { return 1 } - method131 { return 1 } - method132 { return 1 } - method133 { return 1 } - method134 { return 1 } - method135 { return 1 } - method136 { return 1 } - method137 { return 1 } - method138 { return 1 } - method139 { return 1 } - method140 { return 1 } - method141 { return 1 } - method142 { return 1 } - method143 { return 1 } - method144 { return 1 } - method145 { return 1 } - method146 { return 1 } - method147 { return 1 } - method148 { return 1 } - method149 { return 1 } - method150 { return 1 } - method151 { return 1 } - method152 { return 1 } - method153 { return 1 } - method154 { return 1 } - method155 { return 1 } - method156 { return 1 } - method157 { return 1 } - method158 { return 1 } - method159 { return 1 } - method160 { return 1 } - method161 { return 1 } - method162 { return 1 } - method163 { return 1 } - method164 { return 1 } - method165 { return 1 } - method166 { return 1 } - method167 { return 1 } - method168 { return 1 } - method169 { return 1 } - method170 { return 1 } - method171 { return 1 } - method172 { return 1 } - method173 { return 1 } - method174 { return 1 } - method175 { return 1 } - method176 { return 1 } - method177 { return 1 } - method178 { return 1 } - method179 { return 1 } - method180 { return 1 } - method181 { return 1 } - method182 { return 1 } - method183 { return 1 } - method184 { return 1 } - method185 { return 1 } - method186 { return 1 } - method187 { return 1 } - method188 { return 1 } - method189 { return 1 } - method190 { return 1 } - method191 { return 1 } - method192 { return 1 } - method193 { return 1 } - method194 { return 1 } - method195 { return 1 } - method196 { return 1 } - method197 { return 1 } - method198 { return 1 } - method199 { return 1 } + method100 { 1 } + method101 { 1 } + method102 { 1 } + method103 { 1 } + method104 { 1 } + method105 { 1 } + method106 { 1 } + method107 { 1 } + method108 { 1 } + method109 { 1 } + method110 { 1 } + method111 { 1 } + method112 { 1 } + method113 { 1 } + method114 { 1 } + method115 { 1 } + method116 { 1 } + method117 { 1 } + method118 { 1 } + method119 { 1 } + method120 { 1 } + method121 { 1 } + method122 { 1 } + method123 { 1 } + method124 { 1 } + method125 { 1 } + method126 { 1 } + method127 { 1 } + method128 { 1 } + method129 { 1 } + method130 { 1 } + method131 { 1 } + method132 { 1 } + method133 { 1 } + method134 { 1 } + method135 { 1 } + method136 { 1 } + method137 { 1 } + method138 { 1 } + method139 { 1 } + method140 { 1 } + method141 { 1 } + method142 { 1 } + method143 { 1 } + method144 { 1 } + method145 { 1 } + method146 { 1 } + method147 { 1 } + method148 { 1 } + method149 { 1 } + method150 { 1 } + method151 { 1 } + method152 { 1 } + method153 { 1 } + method154 { 1 } + method155 { 1 } + method156 { 1 } + method157 { 1 } + method158 { 1 } + method159 { 1 } + method160 { 1 } + method161 { 1 } + method162 { 1 } + method163 { 1 } + method164 { 1 } + method165 { 1 } + method166 { 1 } + method167 { 1 } + method168 { 1 } + method169 { 1 } + method170 { 1 } + method171 { 1 } + method172 { 1 } + method173 { 1 } + method174 { 1 } + method175 { 1 } + method176 { 1 } + method177 { 1 } + method178 { 1 } + method179 { 1 } + method180 { 1 } + method181 { 1 } + method182 { 1 } + method183 { 1 } + method184 { 1 } + method185 { 1 } + method186 { 1 } + method187 { 1 } + method188 { 1 } + method189 { 1 } + method190 { 1 } + method191 { 1 } + method192 { 1 } + method193 { 1 } + method194 { 1 } + method195 { 1 } + method196 { 1 } + method197 { 1 } + method198 { 1 } + method199 { 1 } - method200 { return 1 } - method201 { return 1 } - method202 { return 1 } - method203 { return 1 } - method204 { return 1 } - method205 { return 1 } - method206 { return 1 } - method207 { return 1 } - method208 { return 1 } - method209 { return 1 } - method210 { return 1 } - method211 { return 1 } - method212 { return 1 } - method213 { return 1 } - method214 { return 1 } - method215 { return 1 } - method216 { return 1 } - method217 { return 1 } - method218 { return 1 } - method219 { return 1 } - method220 { return 1 } - method221 { return 1 } - method222 { return 1 } - method223 { return 1 } - method224 { return 1 } - method225 { return 1 } - method226 { return 1 } - method227 { return 1 } - method228 { return 1 } - method229 { return 1 } - method230 { return 1 } - method231 { return 1 } - method232 { return 1 } - method233 { return 1 } - method234 { return 1 } - method235 { return 1 } - method236 { return 1 } - method237 { return 1 } - method238 { return 1 } - method239 { return 1 } - method240 { return 1 } - method241 { return 1 } - method242 { return 1 } - method243 { return 1 } - method244 { return 1 } - method245 { return 1 } - method246 { return 1 } - method247 { return 1 } - method248 { return 1 } - method249 { return 1 } - method250 { return 1 } - method251 { return 1 } - method252 { return 1 } - method253 { return 1 } - method254 { return 1 } - method255 { return 1 } - method256 { return 1 } - method257 { return 1 } - method258 { return 1 } - method259 { return 1 } - method260 { return 1 } - method261 { return 1 } - method262 { return 1 } - method263 { return 1 } - method264 { return 1 } - method265 { return 1 } - method266 { return 1 } - method267 { return 1 } - method268 { return 1 } - method269 { return 1 } - method270 { return 1 } - method271 { return 1 } - method272 { return 1 } - method273 { return 1 } - method274 { return 1 } - method275 { return 1 } - method276 { return 1 } - method277 { return 1 } - method278 { return 1 } - method279 { return 1 } - method280 { return 1 } - method281 { return 1 } - method282 { return 1 } - method283 { return 1 } - method284 { return 1 } - method285 { return 1 } - method286 { return 1 } - method287 { return 1 } - method288 { return 1 } - method289 { return 1 } - method290 { return 1 } - method291 { return 1 } - method292 { return 1 } - method293 { return 1 } - method294 { return 1 } - method295 { return 1 } - method296 { return 1 } - method297 { return 1 } - method298 { return 1 } - method299 { return 1 } + method200 { 1 } + method201 { 1 } + method202 { 1 } + method203 { 1 } + method204 { 1 } + method205 { 1 } + method206 { 1 } + method207 { 1 } + method208 { 1 } + method209 { 1 } + method210 { 1 } + method211 { 1 } + method212 { 1 } + method213 { 1 } + method214 { 1 } + method215 { 1 } + method216 { 1 } + method217 { 1 } + method218 { 1 } + method219 { 1 } + method220 { 1 } + method221 { 1 } + method222 { 1 } + method223 { 1 } + method224 { 1 } + method225 { 1 } + method226 { 1 } + method227 { 1 } + method228 { 1 } + method229 { 1 } + method230 { 1 } + method231 { 1 } + method232 { 1 } + method233 { 1 } + method234 { 1 } + method235 { 1 } + method236 { 1 } + method237 { 1 } + method238 { 1 } + method239 { 1 } + method240 { 1 } + method241 { 1 } + method242 { 1 } + method243 { 1 } + method244 { 1 } + method245 { 1 } + method246 { 1 } + method247 { 1 } + method248 { 1 } + method249 { 1 } + method250 { 1 } + method251 { 1 } + method252 { 1 } + method253 { 1 } + method254 { 1 } + method255 { 1 } + method256 { 1 } + method257 { 1 } + method258 { 1 } + method259 { 1 } + method260 { 1 } + method261 { 1 } + method262 { 1 } + method263 { 1 } + method264 { 1 } + method265 { 1 } + method266 { 1 } + method267 { 1 } + method268 { 1 } + method269 { 1 } + method270 { 1 } + method271 { 1 } + method272 { 1 } + method273 { 1 } + method274 { 1 } + method275 { 1 } + method276 { 1 } + method277 { 1 } + method278 { 1 } + method279 { 1 } + method280 { 1 } + method281 { 1 } + method282 { 1 } + method283 { 1 } + method284 { 1 } + method285 { 1 } + method286 { 1 } + method287 { 1 } + method288 { 1 } + method289 { 1 } + method290 { 1 } + method291 { 1 } + method292 { 1 } + method293 { 1 } + method294 { 1 } + method295 { 1 } + method296 { 1 } + method297 { 1 } + method298 { 1 } + method299 { 1 } - method300 { return 1 } - method301 { return 1 } - method302 { return 1 } - method303 { return 1 } - method304 { return 1 } - method305 { return 1 } - method306 { return 1 } - method307 { return 1 } - method308 { return 1 } - method309 { return 1 } - method310 { return 1 } - method311 { return 1 } - method312 { return 1 } - method313 { return 1 } - method314 { return 1 } - method315 { return 1 } - method316 { return 1 } - method317 { return 1 } - method318 { return 1 } - method319 { return 1 } - method320 { return 1 } - method321 { return 1 } - method322 { return 1 } - method323 { return 1 } - method324 { return 1 } - method325 { return 1 } - method326 { return 1 } - method327 { return 1 } - method328 { return 1 } - method329 { return 1 } - method330 { return 1 } - method331 { return 1 } - method332 { return 1 } - method333 { return 1 } - method334 { return 1 } - method335 { return 1 } - method336 { return 1 } - method337 { return 1 } - method338 { return 1 } - method339 { return 1 } - method340 { return 1 } - method341 { return 1 } - method342 { return 1 } - method343 { return 1 } - method344 { return 1 } - method345 { return 1 } - method346 { return 1 } - method347 { return 1 } - method348 { return 1 } - method349 { return 1 } - method350 { return 1 } - method351 { return 1 } - method352 { return 1 } - method353 { return 1 } - method354 { return 1 } - method355 { return 1 } - method356 { return 1 } - method357 { return 1 } - method358 { return 1 } - method359 { return 1 } - method360 { return 1 } - method361 { return 1 } - method362 { return 1 } - method363 { return 1 } - method364 { return 1 } - method365 { return 1 } - method366 { return 1 } - method367 { return 1 } - method368 { return 1 } - method369 { return 1 } - method370 { return 1 } - method371 { return 1 } - method372 { return 1 } - method373 { return 1 } - method374 { return 1 } - method375 { return 1 } - method376 { return 1 } - method377 { return 1 } - method378 { return 1 } - method379 { return 1 } - method380 { return 1 } - method381 { return 1 } - method382 { return 1 } - method383 { return 1 } - method384 { return 1 } - method385 { return 1 } - method386 { return 1 } - method387 { return 1 } - method388 { return 1 } - method389 { return 1 } - method390 { return 1 } - method391 { return 1 } - method392 { return 1 } - method393 { return 1 } - method394 { return 1 } - method395 { return 1 } - method396 { return 1 } - method397 { return 1 } - method398 { return 1 } - method399 { return 1 } + method300 { 1 } + method301 { 1 } + method302 { 1 } + method303 { 1 } + method304 { 1 } + method305 { 1 } + method306 { 1 } + method307 { 1 } + method308 { 1 } + method309 { 1 } + method310 { 1 } + method311 { 1 } + method312 { 1 } + method313 { 1 } + method314 { 1 } + method315 { 1 } + method316 { 1 } + method317 { 1 } + method318 { 1 } + method319 { 1 } + method320 { 1 } + method321 { 1 } + method322 { 1 } + method323 { 1 } + method324 { 1 } + method325 { 1 } + method326 { 1 } + method327 { 1 } + method328 { 1 } + method329 { 1 } + method330 { 1 } + method331 { 1 } + method332 { 1 } + method333 { 1 } + method334 { 1 } + method335 { 1 } + method336 { 1 } + method337 { 1 } + method338 { 1 } + method339 { 1 } + method340 { 1 } + method341 { 1 } + method342 { 1 } + method343 { 1 } + method344 { 1 } + method345 { 1 } + method346 { 1 } + method347 { 1 } + method348 { 1 } + method349 { 1 } + method350 { 1 } + method351 { 1 } + method352 { 1 } + method353 { 1 } + method354 { 1 } + method355 { 1 } + method356 { 1 } + method357 { 1 } + method358 { 1 } + method359 { 1 } + method360 { 1 } + method361 { 1 } + method362 { 1 } + method363 { 1 } + method364 { 1 } + method365 { 1 } + method366 { 1 } + method367 { 1 } + method368 { 1 } + method369 { 1 } + method370 { 1 } + method371 { 1 } + method372 { 1 } + method373 { 1 } + method374 { 1 } + method375 { 1 } + method376 { 1 } + method377 { 1 } + method378 { 1 } + method379 { 1 } + method380 { 1 } + method381 { 1 } + method382 { 1 } + method383 { 1 } + method384 { 1 } + method385 { 1 } + method386 { 1 } + method387 { 1 } + method388 { 1 } + method389 { 1 } + method390 { 1 } + method391 { 1 } + method392 { 1 } + method393 { 1 } + method394 { 1 } + method395 { 1 } + method396 { 1 } + method397 { 1 } + method398 { 1 } + method399 { 1 } - method400 { return 1 } - method401 { return 1 } - method402 { return 1 } - method403 { return 1 } - method404 { return 1 } - method405 { return 1 } - method406 { return 1 } - method407 { return 1 } - method408 { return 1 } - method409 { return 1 } - method410 { return 1 } - method411 { return 1 } - method412 { return 1 } - method413 { return 1 } - method414 { return 1 } - method415 { return 1 } - method416 { return 1 } - method417 { return 1 } - method418 { return 1 } - method419 { return 1 } - method420 { return 1 } - method421 { return 1 } - method422 { return 1 } - method423 { return 1 } - method424 { return 1 } - method425 { return 1 } - method426 { return 1 } - method427 { return 1 } - method428 { return 1 } - method429 { return 1 } - method430 { return 1 } - method431 { return 1 } - method432 { return 1 } - method433 { return 1 } - method434 { return 1 } - method435 { return 1 } - method436 { return 1 } - method437 { return 1 } - method438 { return 1 } - method439 { return 1 } - method440 { return 1 } - method441 { return 1 } - method442 { return 1 } - method443 { return 1 } - method444 { return 1 } - method445 { return 1 } - method446 { return 1 } - method447 { return 1 } - method448 { return 1 } - method449 { return 1 } - method450 { return 1 } - method451 { return 1 } - method452 { return 1 } - method453 { return 1 } - method454 { return 1 } - method455 { return 1 } - method456 { return 1 } - method457 { return 1 } - method458 { return 1 } - method459 { return 1 } - method460 { return 1 } - method461 { return 1 } - method462 { return 1 } - method463 { return 1 } - method464 { return 1 } - method465 { return 1 } - method466 { return 1 } - method467 { return 1 } - method468 { return 1 } - method469 { return 1 } - method470 { return 1 } - method471 { return 1 } - method472 { return 1 } - method473 { return 1 } - method474 { return 1 } - method475 { return 1 } - method476 { return 1 } - method477 { return 1 } - method478 { return 1 } - method479 { return 1 } - method480 { return 1 } - method481 { return 1 } - method482 { return 1 } - method483 { return 1 } - method484 { return 1 } - method485 { return 1 } - method486 { return 1 } - method487 { return 1 } - method488 { return 1 } - method489 { return 1 } - method490 { return 1 } - method491 { return 1 } - method492 { return 1 } - method493 { return 1 } - method494 { return 1 } - method495 { return 1 } - method496 { return 1 } - method497 { return 1 } - method498 { return 1 } - method499 { return 1 } + method400 { 1 } + method401 { 1 } + method402 { 1 } + method403 { 1 } + method404 { 1 } + method405 { 1 } + method406 { 1 } + method407 { 1 } + method408 { 1 } + method409 { 1 } + method410 { 1 } + method411 { 1 } + method412 { 1 } + method413 { 1 } + method414 { 1 } + method415 { 1 } + method416 { 1 } + method417 { 1 } + method418 { 1 } + method419 { 1 } + method420 { 1 } + method421 { 1 } + method422 { 1 } + method423 { 1 } + method424 { 1 } + method425 { 1 } + method426 { 1 } + method427 { 1 } + method428 { 1 } + method429 { 1 } + method430 { 1 } + method431 { 1 } + method432 { 1 } + method433 { 1 } + method434 { 1 } + method435 { 1 } + method436 { 1 } + method437 { 1 } + method438 { 1 } + method439 { 1 } + method440 { 1 } + method441 { 1 } + method442 { 1 } + method443 { 1 } + method444 { 1 } + method445 { 1 } + method446 { 1 } + method447 { 1 } + method448 { 1 } + method449 { 1 } + method450 { 1 } + method451 { 1 } + method452 { 1 } + method453 { 1 } + method454 { 1 } + method455 { 1 } + method456 { 1 } + method457 { 1 } + method458 { 1 } + method459 { 1 } + method460 { 1 } + method461 { 1 } + method462 { 1 } + method463 { 1 } + method464 { 1 } + method465 { 1 } + method466 { 1 } + method467 { 1 } + method468 { 1 } + method469 { 1 } + method470 { 1 } + method471 { 1 } + method472 { 1 } + method473 { 1 } + method474 { 1 } + method475 { 1 } + method476 { 1 } + method477 { 1 } + method478 { 1 } + method479 { 1 } + method480 { 1 } + method481 { 1 } + method482 { 1 } + method483 { 1 } + method484 { 1 } + method485 { 1 } + method486 { 1 } + method487 { 1 } + method488 { 1 } + method489 { 1 } + method490 { 1 } + method491 { 1 } + method492 { 1 } + method493 { 1 } + method494 { 1 } + method495 { 1 } + method496 { 1 } + method497 { 1 } + method498 { 1 } + method499 { 1 } - method500 { return 1 } - method501 { return 1 } - method502 { return 1 } - method503 { return 1 } - method504 { return 1 } - method505 { return 1 } - method506 { return 1 } - method507 { return 1 } - method508 { return 1 } - method509 { return 1 } - method510 { return 1 } - method511 { return 1 } - method512 { return 1 } - method513 { return 1 } - method514 { return 1 } - method515 { return 1 } - method516 { return 1 } - method517 { return 1 } - method518 { return 1 } - method519 { return 1 } - method520 { return 1 } - method521 { return 1 } - method522 { return 1 } - method523 { return 1 } - method524 { return 1 } - method525 { return 1 } - method526 { return 1 } - method527 { return 1 } - method528 { return 1 } - method529 { return 1 } - method530 { return 1 } - method531 { return 1 } - method532 { return 1 } - method533 { return 1 } - method534 { return 1 } - method535 { return 1 } - method536 { return 1 } - method537 { return 1 } - method538 { return 1 } - method539 { return 1 } - method540 { return 1 } - method541 { return 1 } - method542 { return 1 } - method543 { return 1 } - method544 { return 1 } - method545 { return 1 } - method546 { return 1 } - method547 { return 1 } - method548 { return 1 } - method549 { return 1 } - method550 { return 1 } - method551 { return 1 } - method552 { return 1 } - method553 { return 1 } - method554 { return 1 } - method555 { return 1 } - method556 { return 1 } - method557 { return 1 } - method558 { return 1 } - method559 { return 1 } - method560 { return 1 } - method561 { return 1 } - method562 { return 1 } - method563 { return 1 } - method564 { return 1 } - method565 { return 1 } - method566 { return 1 } - method567 { return 1 } - method568 { return 1 } - method569 { return 1 } - method570 { return 1 } - method571 { return 1 } - method572 { return 1 } - method573 { return 1 } - method574 { return 1 } - method575 { return 1 } - method576 { return 1 } - method577 { return 1 } - method578 { return 1 } - method579 { return 1 } - method580 { return 1 } - method581 { return 1 } - method582 { return 1 } - method583 { return 1 } - method584 { return 1 } - method585 { return 1 } - method586 { return 1 } - method587 { return 1 } - method588 { return 1 } - method589 { return 1 } - method590 { return 1 } - method591 { return 1 } - method592 { return 1 } - method593 { return 1 } - method594 { return 1 } - method595 { return 1 } - method596 { return 1 } - method597 { return 1 } - method598 { return 1 } - method599 { return 1 } + method500 { 1 } + method501 { 1 } + method502 { 1 } + method503 { 1 } + method504 { 1 } + method505 { 1 } + method506 { 1 } + method507 { 1 } + method508 { 1 } + method509 { 1 } + method510 { 1 } + method511 { 1 } + method512 { 1 } + method513 { 1 } + method514 { 1 } + method515 { 1 } + method516 { 1 } + method517 { 1 } + method518 { 1 } + method519 { 1 } + method520 { 1 } + method521 { 1 } + method522 { 1 } + method523 { 1 } + method524 { 1 } + method525 { 1 } + method526 { 1 } + method527 { 1 } + method528 { 1 } + method529 { 1 } + method530 { 1 } + method531 { 1 } + method532 { 1 } + method533 { 1 } + method534 { 1 } + method535 { 1 } + method536 { 1 } + method537 { 1 } + method538 { 1 } + method539 { 1 } + method540 { 1 } + method541 { 1 } + method542 { 1 } + method543 { 1 } + method544 { 1 } + method545 { 1 } + method546 { 1 } + method547 { 1 } + method548 { 1 } + method549 { 1 } + method550 { 1 } + method551 { 1 } + method552 { 1 } + method553 { 1 } + method554 { 1 } + method555 { 1 } + method556 { 1 } + method557 { 1 } + method558 { 1 } + method559 { 1 } + method560 { 1 } + method561 { 1 } + method562 { 1 } + method563 { 1 } + method564 { 1 } + method565 { 1 } + method566 { 1 } + method567 { 1 } + method568 { 1 } + method569 { 1 } + method570 { 1 } + method571 { 1 } + method572 { 1 } + method573 { 1 } + method574 { 1 } + method575 { 1 } + method576 { 1 } + method577 { 1 } + method578 { 1 } + method579 { 1 } + method580 { 1 } + method581 { 1 } + method582 { 1 } + method583 { 1 } + method584 { 1 } + method585 { 1 } + method586 { 1 } + method587 { 1 } + method588 { 1 } + method589 { 1 } + method590 { 1 } + method591 { 1 } + method592 { 1 } + method593 { 1 } + method594 { 1 } + method595 { 1 } + method596 { 1 } + method597 { 1 } + method598 { 1 } + method599 { 1 } - method600 { return 1 } - method601 { return 1 } - method602 { return 1 } - method603 { return 1 } - method604 { return 1 } - method605 { return 1 } - method606 { return 1 } - method607 { return 1 } - method608 { return 1 } - method609 { return 1 } - method610 { return 1 } - method611 { return 1 } - method612 { return 1 } - method613 { return 1 } - method614 { return 1 } - method615 { return 1 } - method616 { return 1 } - method617 { return 1 } - method618 { return 1 } - method619 { return 1 } - method620 { return 1 } - method621 { return 1 } - method622 { return 1 } - method623 { return 1 } - method624 { return 1 } - method625 { return 1 } - method626 { return 1 } - method627 { return 1 } - method628 { return 1 } - method629 { return 1 } - method630 { return 1 } - method631 { return 1 } - method632 { return 1 } - method633 { return 1 } - method634 { return 1 } - method635 { return 1 } - method636 { return 1 } - method637 { return 1 } - method638 { return 1 } - method639 { return 1 } - method640 { return 1 } - method641 { return 1 } - method642 { return 1 } - method643 { return 1 } - method644 { return 1 } - method645 { return 1 } - method646 { return 1 } - method647 { return 1 } - method648 { return 1 } - method649 { return 1 } - method650 { return 1 } - method651 { return 1 } - method652 { return 1 } - method653 { return 1 } - method654 { return 1 } - method655 { return 1 } - method656 { return 1 } - method657 { return 1 } - method658 { return 1 } - method659 { return 1 } - method660 { return 1 } - method661 { return 1 } - method662 { return 1 } - method663 { return 1 } - method664 { return 1 } - method665 { return 1 } - method666 { return 1 } - method667 { return 1 } - method668 { return 1 } - method669 { return 1 } - method670 { return 1 } - method671 { return 1 } - method672 { return 1 } - method673 { return 1 } - method674 { return 1 } - method675 { return 1 } - method676 { return 1 } - method677 { return 1 } - method678 { return 1 } - method679 { return 1 } - method680 { return 1 } - method681 { return 1 } - method682 { return 1 } - method683 { return 1 } - method684 { return 1 } - method685 { return 1 } - method686 { return 1 } - method687 { return 1 } - method688 { return 1 } - method689 { return 1 } - method690 { return 1 } - method691 { return 1 } - method692 { return 1 } - method693 { return 1 } - method694 { return 1 } - method695 { return 1 } - method696 { return 1 } - method697 { return 1 } - method698 { return 1 } - method699 { return 1 } + method600 { 1 } + method601 { 1 } + method602 { 1 } + method603 { 1 } + method604 { 1 } + method605 { 1 } + method606 { 1 } + method607 { 1 } + method608 { 1 } + method609 { 1 } + method610 { 1 } + method611 { 1 } + method612 { 1 } + method613 { 1 } + method614 { 1 } + method615 { 1 } + method616 { 1 } + method617 { 1 } + method618 { 1 } + method619 { 1 } + method620 { 1 } + method621 { 1 } + method622 { 1 } + method623 { 1 } + method624 { 1 } + method625 { 1 } + method626 { 1 } + method627 { 1 } + method628 { 1 } + method629 { 1 } + method630 { 1 } + method631 { 1 } + method632 { 1 } + method633 { 1 } + method634 { 1 } + method635 { 1 } + method636 { 1 } + method637 { 1 } + method638 { 1 } + method639 { 1 } + method640 { 1 } + method641 { 1 } + method642 { 1 } + method643 { 1 } + method644 { 1 } + method645 { 1 } + method646 { 1 } + method647 { 1 } + method648 { 1 } + method649 { 1 } + method650 { 1 } + method651 { 1 } + method652 { 1 } + method653 { 1 } + method654 { 1 } + method655 { 1 } + method656 { 1 } + method657 { 1 } + method658 { 1 } + method659 { 1 } + method660 { 1 } + method661 { 1 } + method662 { 1 } + method663 { 1 } + method664 { 1 } + method665 { 1 } + method666 { 1 } + method667 { 1 } + method668 { 1 } + method669 { 1 } + method670 { 1 } + method671 { 1 } + method672 { 1 } + method673 { 1 } + method674 { 1 } + method675 { 1 } + method676 { 1 } + method677 { 1 } + method678 { 1 } + method679 { 1 } + method680 { 1 } + method681 { 1 } + method682 { 1 } + method683 { 1 } + method684 { 1 } + method685 { 1 } + method686 { 1 } + method687 { 1 } + method688 { 1 } + method689 { 1 } + method690 { 1 } + method691 { 1 } + method692 { 1 } + method693 { 1 } + method694 { 1 } + method695 { 1 } + method696 { 1 } + method697 { 1 } + method698 { 1 } + method699 { 1 } - method700 { return 1 } - method701 { return 1 } - method702 { return 1 } - method703 { return 1 } - method704 { return 1 } - method705 { return 1 } - method706 { return 1 } - method707 { return 1 } - method708 { return 1 } - method709 { return 1 } - method710 { return 1 } - method711 { return 1 } - method712 { return 1 } - method713 { return 1 } - method714 { return 1 } - method715 { return 1 } - method716 { return 1 } - method717 { return 1 } - method718 { return 1 } - method719 { return 1 } - method720 { return 1 } - method721 { return 1 } - method722 { return 1 } - method723 { return 1 } - method724 { return 1 } - method725 { return 1 } - method726 { return 1 } - method727 { return 1 } - method728 { return 1 } - method729 { return 1 } - method730 { return 1 } - method731 { return 1 } - method732 { return 1 } - method733 { return 1 } - method734 { return 1 } - method735 { return 1 } - method736 { return 1 } - method737 { return 1 } - method738 { return 1 } - method739 { return 1 } - method740 { return 1 } - method741 { return 1 } - method742 { return 1 } - method743 { return 1 } - method744 { return 1 } - method745 { return 1 } - method746 { return 1 } - method747 { return 1 } - method748 { return 1 } - method749 { return 1 } - method750 { return 1 } - method751 { return 1 } - method752 { return 1 } - method753 { return 1 } - method754 { return 1 } - method755 { return 1 } - method756 { return 1 } - method757 { return 1 } - method758 { return 1 } - method759 { return 1 } - method760 { return 1 } - method761 { return 1 } - method762 { return 1 } - method763 { return 1 } - method764 { return 1 } - method765 { return 1 } - method766 { return 1 } - method767 { return 1 } - method768 { return 1 } - method769 { return 1 } - method770 { return 1 } - method771 { return 1 } - method772 { return 1 } - method773 { return 1 } - method774 { return 1 } - method775 { return 1 } - method776 { return 1 } - method777 { return 1 } - method778 { return 1 } - method779 { return 1 } - method780 { return 1 } - method781 { return 1 } - method782 { return 1 } - method783 { return 1 } - method784 { return 1 } - method785 { return 1 } - method786 { return 1 } - method787 { return 1 } - method788 { return 1 } - method789 { return 1 } - method790 { return 1 } - method791 { return 1 } - method792 { return 1 } - method793 { return 1 } - method794 { return 1 } - method795 { return 1 } - method796 { return 1 } - method797 { return 1 } - method798 { return 1 } - method799 { return 1 } + method700 { 1 } + method701 { 1 } + method702 { 1 } + method703 { 1 } + method704 { 1 } + method705 { 1 } + method706 { 1 } + method707 { 1 } + method708 { 1 } + method709 { 1 } + method710 { 1 } + method711 { 1 } + method712 { 1 } + method713 { 1 } + method714 { 1 } + method715 { 1 } + method716 { 1 } + method717 { 1 } + method718 { 1 } + method719 { 1 } + method720 { 1 } + method721 { 1 } + method722 { 1 } + method723 { 1 } + method724 { 1 } + method725 { 1 } + method726 { 1 } + method727 { 1 } + method728 { 1 } + method729 { 1 } + method730 { 1 } + method731 { 1 } + method732 { 1 } + method733 { 1 } + method734 { 1 } + method735 { 1 } + method736 { 1 } + method737 { 1 } + method738 { 1 } + method739 { 1 } + method740 { 1 } + method741 { 1 } + method742 { 1 } + method743 { 1 } + method744 { 1 } + method745 { 1 } + method746 { 1 } + method747 { 1 } + method748 { 1 } + method749 { 1 } + method750 { 1 } + method751 { 1 } + method752 { 1 } + method753 { 1 } + method754 { 1 } + method755 { 1 } + method756 { 1 } + method757 { 1 } + method758 { 1 } + method759 { 1 } + method760 { 1 } + method761 { 1 } + method762 { 1 } + method763 { 1 } + method764 { 1 } + method765 { 1 } + method766 { 1 } + method767 { 1 } + method768 { 1 } + method769 { 1 } + method770 { 1 } + method771 { 1 } + method772 { 1 } + method773 { 1 } + method774 { 1 } + method775 { 1 } + method776 { 1 } + method777 { 1 } + method778 { 1 } + method779 { 1 } + method780 { 1 } + method781 { 1 } + method782 { 1 } + method783 { 1 } + method784 { 1 } + method785 { 1 } + method786 { 1 } + method787 { 1 } + method788 { 1 } + method789 { 1 } + method790 { 1 } + method791 { 1 } + method792 { 1 } + method793 { 1 } + method794 { 1 } + method795 { 1 } + method796 { 1 } + method797 { 1 } + method798 { 1 } + method799 { 1 } - method800 { return 1 } - method801 { return 1 } - method802 { return 1 } - method803 { return 1 } - method804 { return 1 } - method805 { return 1 } - method806 { return 1 } - method807 { return 1 } - method808 { return 1 } - method809 { return 1 } - method810 { return 1 } - method811 { return 1 } - method812 { return 1 } - method813 { return 1 } - method814 { return 1 } - method815 { return 1 } - method816 { return 1 } - method817 { return 1 } - method818 { return 1 } - method819 { return 1 } - method820 { return 1 } - method821 { return 1 } - method822 { return 1 } - method823 { return 1 } - method824 { return 1 } - method825 { return 1 } - method826 { return 1 } - method827 { return 1 } - method828 { return 1 } - method829 { return 1 } - method830 { return 1 } - method831 { return 1 } - method832 { return 1 } - method833 { return 1 } - method834 { return 1 } - method835 { return 1 } - method836 { return 1 } - method837 { return 1 } - method838 { return 1 } - method839 { return 1 } - method840 { return 1 } - method841 { return 1 } - method842 { return 1 } - method843 { return 1 } - method844 { return 1 } - method845 { return 1 } - method846 { return 1 } - method847 { return 1 } - method848 { return 1 } - method849 { return 1 } - method850 { return 1 } - method851 { return 1 } - method852 { return 1 } - method853 { return 1 } - method854 { return 1 } - method855 { return 1 } - method856 { return 1 } - method857 { return 1 } - method858 { return 1 } - method859 { return 1 } - method860 { return 1 } - method861 { return 1 } - method862 { return 1 } - method863 { return 1 } - method864 { return 1 } - method865 { return 1 } - method866 { return 1 } - method867 { return 1 } - method868 { return 1 } - method869 { return 1 } - method870 { return 1 } - method871 { return 1 } - method872 { return 1 } - method873 { return 1 } - method874 { return 1 } - method875 { return 1 } - method876 { return 1 } - method877 { return 1 } - method878 { return 1 } - method879 { return 1 } - method880 { return 1 } - method881 { return 1 } - method882 { return 1 } - method883 { return 1 } - method884 { return 1 } - method885 { return 1 } - method886 { return 1 } - method887 { return 1 } - method888 { return 1 } - method889 { return 1 } - method890 { return 1 } - method891 { return 1 } - method892 { return 1 } - method893 { return 1 } - method894 { return 1 } - method895 { return 1 } - method896 { return 1 } - method897 { return 1 } - method898 { return 1 } - method899 { return 1 } + method800 { 1 } + method801 { 1 } + method802 { 1 } + method803 { 1 } + method804 { 1 } + method805 { 1 } + method806 { 1 } + method807 { 1 } + method808 { 1 } + method809 { 1 } + method810 { 1 } + method811 { 1 } + method812 { 1 } + method813 { 1 } + method814 { 1 } + method815 { 1 } + method816 { 1 } + method817 { 1 } + method818 { 1 } + method819 { 1 } + method820 { 1 } + method821 { 1 } + method822 { 1 } + method823 { 1 } + method824 { 1 } + method825 { 1 } + method826 { 1 } + method827 { 1 } + method828 { 1 } + method829 { 1 } + method830 { 1 } + method831 { 1 } + method832 { 1 } + method833 { 1 } + method834 { 1 } + method835 { 1 } + method836 { 1 } + method837 { 1 } + method838 { 1 } + method839 { 1 } + method840 { 1 } + method841 { 1 } + method842 { 1 } + method843 { 1 } + method844 { 1 } + method845 { 1 } + method846 { 1 } + method847 { 1 } + method848 { 1 } + method849 { 1 } + method850 { 1 } + method851 { 1 } + method852 { 1 } + method853 { 1 } + method854 { 1 } + method855 { 1 } + method856 { 1 } + method857 { 1 } + method858 { 1 } + method859 { 1 } + method860 { 1 } + method861 { 1 } + method862 { 1 } + method863 { 1 } + method864 { 1 } + method865 { 1 } + method866 { 1 } + method867 { 1 } + method868 { 1 } + method869 { 1 } + method870 { 1 } + method871 { 1 } + method872 { 1 } + method873 { 1 } + method874 { 1 } + method875 { 1 } + method876 { 1 } + method877 { 1 } + method878 { 1 } + method879 { 1 } + method880 { 1 } + method881 { 1 } + method882 { 1 } + method883 { 1 } + method884 { 1 } + method885 { 1 } + method886 { 1 } + method887 { 1 } + method888 { 1 } + method889 { 1 } + method890 { 1 } + method891 { 1 } + method892 { 1 } + method893 { 1 } + method894 { 1 } + method895 { 1 } + method896 { 1 } + method897 { 1 } + method898 { 1 } + method899 { 1 } - method900 { return 1 } - method901 { return 1 } - method902 { return 1 } - method903 { return 1 } - method904 { return 1 } - method905 { return 1 } - method906 { return 1 } - method907 { return 1 } - method908 { return 1 } - method909 { return 1 } - method910 { return 1 } - method911 { return 1 } - method912 { return 1 } - method913 { return 1 } - method914 { return 1 } - method915 { return 1 } - method916 { return 1 } - method917 { return 1 } - method918 { return 1 } - method919 { return 1 } - method920 { return 1 } - method921 { return 1 } - method922 { return 1 } - method923 { return 1 } - method924 { return 1 } - method925 { return 1 } - method926 { return 1 } - method927 { return 1 } - method928 { return 1 } - method929 { return 1 } - method930 { return 1 } - method931 { return 1 } - method932 { return 1 } - method933 { return 1 } - method934 { return 1 } - method935 { return 1 } - method936 { return 1 } - method937 { return 1 } - method938 { return 1 } - method939 { return 1 } - method940 { return 1 } - method941 { return 1 } - method942 { return 1 } - method943 { return 1 } - method944 { return 1 } - method945 { return 1 } - method946 { return 1 } - method947 { return 1 } - method948 { return 1 } - method949 { return 1 } - method950 { return 1 } - method951 { return 1 } - method952 { return 1 } - method953 { return 1 } - method954 { return 1 } - method955 { return 1 } - method956 { return 1 } - method957 { return 1 } - method958 { return 1 } - method959 { return 1 } - method960 { return 1 } - method961 { return 1 } - method962 { return 1 } - method963 { return 1 } - method964 { return 1 } - method965 { return 1 } - method966 { return 1 } - method967 { return 1 } - method968 { return 1 } - method969 { return 1 } - method970 { return 1 } - method971 { return 1 } - method972 { return 1 } - method973 { return 1 } - method974 { return 1 } - method975 { return 1 } - method976 { return 1 } - method977 { return 1 } - method978 { return 1 } - method979 { return 1 } - method980 { return 1 } - method981 { return 1 } - method982 { return 1 } - method983 { return 1 } - method984 { return 1 } - method985 { return 1 } - method986 { return 1 } - method987 { return 1 } - method988 { return 1 } - method989 { return 1 } - method990 { return 1 } - method991 { return 1 } - method992 { return 1 } - method993 { return 1 } - method994 { return 1 } - method995 { return 1 } - method996 { return 1 } - method997 { return 1 } - method998 { return 1 } - method999 { return 1 } + method900 { 1 } + method901 { 1 } + method902 { 1 } + method903 { 1 } + method904 { 1 } + method905 { 1 } + method906 { 1 } + method907 { 1 } + method908 { 1 } + method909 { 1 } + method910 { 1 } + method911 { 1 } + method912 { 1 } + method913 { 1 } + method914 { 1 } + method915 { 1 } + method916 { 1 } + method917 { 1 } + method918 { 1 } + method919 { 1 } + method920 { 1 } + method921 { 1 } + method922 { 1 } + method923 { 1 } + method924 { 1 } + method925 { 1 } + method926 { 1 } + method927 { 1 } + method928 { 1 } + method929 { 1 } + method930 { 1 } + method931 { 1 } + method932 { 1 } + method933 { 1 } + method934 { 1 } + method935 { 1 } + method936 { 1 } + method937 { 1 } + method938 { 1 } + method939 { 1 } + method940 { 1 } + method941 { 1 } + method942 { 1 } + method943 { 1 } + method944 { 1 } + method945 { 1 } + method946 { 1 } + method947 { 1 } + method948 { 1 } + method949 { 1 } + method950 { 1 } + method951 { 1 } + method952 { 1 } + method953 { 1 } + method954 { 1 } + method955 { 1 } + method956 { 1 } + method957 { 1 } + method958 { 1 } + method959 { 1 } + method960 { 1 } + method961 { 1 } + method962 { 1 } + method963 { 1 } + method964 { 1 } + method965 { 1 } + method966 { 1 } + method967 { 1 } + method968 { 1 } + method969 { 1 } + method970 { 1 } + method971 { 1 } + method972 { 1 } + method973 { 1 } + method974 { 1 } + method975 { 1 } + method976 { 1 } + method977 { 1 } + method978 { 1 } + method979 { 1 } + method980 { 1 } + method981 { 1 } + method982 { 1 } + method983 { 1 } + method984 { 1 } + method985 { 1 } + method986 { 1 } + method987 { 1 } + method988 { 1 } + method989 { 1 } + method990 { 1 } + method991 { 1 } + method992 { 1 } + method993 { 1 } + method994 { 1 } + method995 { 1 } + method996 { 1 } + method997 { 1 } + method998 { 1 } + method999 { 1 } } var foo = new Foo diff --git a/test/method/operators.wren b/test/method/operators.wren index d7df4710..c070b455 100644 --- a/test/method/operators.wren +++ b/test/method/operators.wren @@ -1,20 +1,20 @@ class Foo { - + other { return "infix + " + other } - - other { return "infix - " + other } - * other { return "infix * " + other } - / other { return "infix / " + other } - % other { return "infix % " + other } - < other { return "infix < " + other } - > other { return "infix > " + other } - <= other { return "infix <= " + other } - >= other { return "infix >= " + other } - == other { return "infix == " + other } - != other { return "infix != " + other } - & other { return "infix & " + other } - | other { return "infix | " + other } + + other { "infix + " + other } + - other { "infix - " + other } + * other { "infix * " + other } + / other { "infix / " + other } + % other { "infix % " + other } + < other { "infix < " + other } + > other { "infix > " + other } + <= other { "infix <= " + other } + >= other { "infix >= " + other } + == other { "infix == " + other } + != other { "infix != " + other } + & other { "infix & " + other } + | other { "infix | " + other } - ! { return "prefix !" } - - { return "prefix -" } + ! { "prefix !" } + - { "prefix -" } } var foo = new Foo diff --git a/test/method/static.wren b/test/method/static.wren index 660825c0..948b197f 100644 --- a/test/method/static.wren +++ b/test/method/static.wren @@ -1,9 +1,9 @@ class Foo { - bar { return "on instance" } - static bar { return "on metaclass" } + bar { "on instance" } + static bar { "on metaclass" } - bar(arg) { return "on instance " + arg } - static bar(arg) { return "on metaclass " + arg } + bar(arg) { "on instance " + arg } + static bar(arg) { "on metaclass " + arg } } IO.print((new Foo).bar) // expect: on instance diff --git a/test/setter/associativity.wren b/test/setter/associativity.wren index efc1d7ab..3df35eff 100644 --- a/test/setter/associativity.wren +++ b/test/setter/associativity.wren @@ -1,6 +1,6 @@ class Foo { new(value) { _value = value } - toString { return _value } + toString { _value } bar = value { _value = value return value diff --git a/test/setter/grouping.wren b/test/setter/grouping.wren index 4b6bb2c0..f3c5625c 100644 --- a/test/setter/grouping.wren +++ b/test/setter/grouping.wren @@ -1,5 +1,5 @@ class Foo { - bar = value { return value } + bar = value { value } } var foo = new Foo diff --git a/test/setter/infix_operator.wren b/test/setter/infix_operator.wren index 0c68f948..aebbd0a6 100644 --- a/test/setter/infix_operator.wren +++ b/test/setter/infix_operator.wren @@ -1,5 +1,5 @@ class Foo { - bar = value { return value } + bar = value { value } } var foo = new Foo diff --git a/test/setter/is.wren b/test/setter/is.wren index 96d17246..812da466 100644 --- a/test/setter/is.wren +++ b/test/setter/is.wren @@ -1,5 +1,5 @@ class Foo { - bar = value { return value } + bar = value { value } } var foo = new Foo diff --git a/test/setter/prefix_operator.wren b/test/setter/prefix_operator.wren index 5b6cf698..09e48fad 100644 --- a/test/setter/prefix_operator.wren +++ b/test/setter/prefix_operator.wren @@ -1,5 +1,5 @@ class Foo { - bar = value { return value } + bar = value { value } } var foo = new Foo diff --git a/test/setter/result.wren b/test/setter/result.wren index e7351fea..e8db2fa6 100644 --- a/test/setter/result.wren +++ b/test/setter/result.wren @@ -1,5 +1,5 @@ class Foo { - bar = value { return "result" } + bar = value { "result" } } var foo = new Foo diff --git a/test/super/closure.wren b/test/super/closure.wren index 3a033960..4e9f0040 100644 --- a/test/super/closure.wren +++ b/test/super/closure.wren @@ -1,13 +1,10 @@ class Base { - toString { return "Base" } + toString { "Base" } } class Derived is Base { - getClosure { - return new Fn { super.toString } - } - - toString { return "Derived" } + getClosure { new Fn { super.toString } } + toString { "Derived" } } var closure = (new Derived).getClosure diff --git a/test/this/closure.wren b/test/this/closure.wren index 9ca32f14..ef69842d 100644 --- a/test/this/closure.wren +++ b/test/this/closure.wren @@ -1,9 +1,6 @@ class Foo { - getClosure { - return new Fn { toString } - } - - toString { return "Foo" } + getClosure { new Fn { toString } } + toString { "Foo" } } var closure = (new Foo).getClosure diff --git a/test/this/nested_class.wren b/test/this/nested_class.wren index c26f6c95..d6d31761 100644 --- a/test/this/nested_class.wren +++ b/test/this/nested_class.wren @@ -9,14 +9,14 @@ class Outer { method { IO.print(this) // expect: Inner } - toString { return "Inner" } + toString { "Inner" } } (new Inner).method }.call } - toString { return "Outer" } + toString { "Outer" } } (new Outer).method diff --git a/test/this/nested_closure.wren b/test/this/nested_closure.wren index c94585e2..742981bb 100644 --- a/test/this/nested_closure.wren +++ b/test/this/nested_closure.wren @@ -1,15 +1,6 @@ class Foo { - getClosure { - return new Fn { - return new Fn { - return new Fn { - return toString - } - } - } - } - - toString { return "Foo" } + getClosure { new Fn { new Fn { new Fn { toString } } } } + toString { "Foo" } } var closure = (new Foo).getClosure diff --git a/test/this/this_in_method.wren b/test/this/this_in_method.wren index 53339ff2..8f27f806 100644 --- a/test/this/this_in_method.wren +++ b/test/this/this_in_method.wren @@ -1,6 +1,6 @@ class Foo { - bar { return this } - baz { return "baz" } + bar { this } + baz { "baz" } } IO.print((new Foo).bar.baz) // expect: baz diff --git a/test/this/this_in_static_method.wren b/test/this/this_in_static_method.wren index 4ef74397..9d07b71a 100644 --- a/test/this/this_in_static_method.wren +++ b/test/this/this_in_static_method.wren @@ -4,7 +4,7 @@ class Foo { IO.print(this.bar) // expect: bar } - static bar { return "bar" } + static bar { "bar" } } Foo.test