diff --git a/lib/rdoc/parser/prism_ruby.rb b/lib/rdoc/parser/prism_ruby.rb index 877b6045b2..b0d446748a 100644 --- a/lib/rdoc/parser/prism_ruby.rb +++ b/lib/rdoc/parser/prism_ruby.rb @@ -765,7 +765,6 @@ def visit_call_node(node) when :private_class_method _visit_call_public_private_class_method(node, :private) { super } else - node.arguments&.accept(self) super end else diff --git a/test/rdoc/parser/prism_ruby_test.rb b/test/rdoc/parser/prism_ruby_test.rb index 26be342ecb..fe21533191 100644 --- a/test/rdoc/parser/prism_ruby_test.rb +++ b/test/rdoc/parser/prism_ruby_test.rb @@ -1864,6 +1864,19 @@ class Foo < IO assert_equal 'bar', klass.method_list.first.name end + def test_scan_deep_nested + util_parser <<~RUBY + class A + a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a private def f; end + a{a{a{a{a{a{a{a{a{a{a{a{a{a{a{a{a{a{a{a{a{a{a{a{a{a{a{a{a{a{a{a{X = 1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} + end + RUBY + klass = @store.find_class_named 'A' + assert_equal 'f', klass.method_list.first.name + assert_equal :private, klass.method_list.first.visibility + assert_equal 'X', klass.constants.first.name + end + def test_scan_duplicate_module util_parser <<~RUBY # comment a