Skip to content

Commit e98ea15

Browse files
committed
Allow returns in default parameter values
1 parent 9090229 commit e98ea15

File tree

3 files changed

+127
-55
lines changed

3 files changed

+127
-55
lines changed

src/prism.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15437,7 +15437,6 @@ parse_return(pm_parser_t *parser, pm_node_t *node) {
1543715437
case PM_CONTEXT_CASE_IN:
1543815438
case PM_CONTEXT_CASE_WHEN:
1543915439
case PM_CONTEXT_DEFAULT_PARAMS:
15440-
case PM_CONTEXT_DEF_PARAMS:
1544115440
case PM_CONTEXT_DEFINED:
1544215441
case PM_CONTEXT_ELSE:
1544315442
case PM_CONTEXT_ELSIF:
@@ -15483,6 +15482,7 @@ parse_return(pm_parser_t *parser, pm_node_t *node) {
1548315482
case PM_CONTEXT_BLOCK_RESCUE:
1548415483
case PM_CONTEXT_DEF_ELSE:
1548515484
case PM_CONTEXT_DEF_ENSURE:
15485+
case PM_CONTEXT_DEF_PARAMS:
1548615486
case PM_CONTEXT_DEF_RESCUE:
1548715487
case PM_CONTEXT_DEF:
1548815488
case PM_CONTEXT_LAMBDA_BRACES:

test/prism/fixtures/methods.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,3 +181,8 @@ end
181181
def foo(bar = (def baz(bar) = bar; 1)) = 2
182182

183183
def (class Foo; end).foo(bar = 1) = 2
184+
185+
module Foo
186+
def clone(opts = nil || (return self))
187+
end
188+
end

test/prism/snapshots/methods.txt

Lines changed: 121 additions & 54 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)