summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--prism/prism.c1
-rw-r--r--test/prism/errors_test.rb8
2 files changed, 5 insertions, 4 deletions
diff --git a/prism/prism.c b/prism/prism.c
index 5cefb1a86a..398288e641 100644
--- a/prism/prism.c
+++ b/prism/prism.c
@@ -15003,6 +15003,7 @@ parse_expression_prefix(pm_parser_t *parser, pm_binding_power_t binding_power, b
pm_token_t lparen = parser->previous;
pm_node_t *expression = parse_value_expression(parser, PM_BINDING_POWER_STATEMENT, true, PM_ERR_DEF_RECEIVER);
+ accept1(parser, PM_TOKEN_NEWLINE);
expect1(parser, PM_TOKEN_PARENTHESIS_RIGHT, PM_ERR_EXPECT_RPAREN);
pm_token_t rparen = parser->previous;
diff --git a/test/prism/errors_test.rb b/test/prism/errors_test.rb
index 7ce6d17be5..2c981fbd42 100644
--- a/test/prism/errors_test.rb
+++ b/test/prism/errors_test.rb
@@ -335,10 +335,10 @@ module Prism
def test_def_with_multiple_statements_receiver
assert_errors expression("def (\na\nb\n).c; end"), "def (\na\nb\n).c; end", [
- ["expected a matching `)`", 7..7],
- ["expected a `.` or `::` after the receiver in a method definition", 7..7],
- ["expected a method name", 7..7],
- ["cannot parse the expression", 10..10],
+ ["expected a matching `)`", 8..8],
+ ["expected a `.` or `::` after the receiver in a method definition", 8..8],
+ ["expected a delimiter to close the parameters", 9..9],
+ ["cannot parse the expression", 9..9],
["cannot parse the expression", 11..11]
]
end