From 836059f5d810b385c292ccccce6b492daaa23a8f Mon Sep 17 00:00:00 2001 From: yui-knk Date: Sun, 7 Jul 2024 14:19:26 +0900 Subject: [PATCH] Implement RetryNode --- lib/ast_to_prism/parser.rb | 5 ++++- spec/basic_spec.rb | 13 +++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/ast_to_prism/parser.rb b/lib/ast_to_prism/parser.rb index ec20877..2d124e3 100644 --- a/lib/ast_to_prism/parser.rb +++ b/lib/ast_to_prism/parser.rb @@ -817,7 +817,10 @@ def convert_node(node, block: nil) location(node) # location ) when :RETRY - not_supported(node) + Prism::RetryNode.new( + source, # source + location(node) # location + ) when :BEGIN # example: begin; 1; end diff --git a/spec/basic_spec.rb b/spec/basic_spec.rb index a97ed8e..97a3229 100644 --- a/spec/basic_spec.rb +++ b/spec/basic_spec.rb @@ -1479,6 +1479,19 @@ def m end end + describe "retry" do + it "tests" do + pending "BeginNode locations are not supported" + + test_code(<<~CODE) + begin + rescue + retry + end + CODE + end + end + describe "begin, rescue, else, ensure" do # begin it "tests" do