From 3066e1b76cf7891f2f80fb2e20242a21142cb064 Mon Sep 17 00:00:00 2001 From: Code Ass Date: Sun, 24 Sep 2017 06:04:08 +0900 Subject: [PATCH] Refactor parse_constant --- lib/rdoc/parser/ruby.rb | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/lib/rdoc/parser/ruby.rb b/lib/rdoc/parser/ruby.rb index 130eca89c7..b0547ca0da 100644 --- a/lib/rdoc/parser/ruby.rb +++ b/lib/rdoc/parser/ruby.rb @@ -872,21 +872,17 @@ def parse_constant container, tk, comment, ignore_constants = false return unless name =~ /^\w+$/ - eq_tk = get_tk - - if :on_op == eq_tk[:kind] && '::' == eq_tk[:text] then - unget_tk eq_tk + if :on_op == peek_tk[:kind] && '::' == peek_tk[:text] then unget_tk tk container, name_t, = get_class_or_module container, ignore_constants name = name_t[:text] - - eq_tk = get_tk end is_array_or_hash = false - if eq_tk && :on_lbracket == eq_tk[:kind] + if peek_tk && :on_lbracket == peek_tk[:kind] + get_tk nest = 1 while bracket_tk = get_tk case bracket_tk[:kind] @@ -898,14 +894,13 @@ def parse_constant container, tk, comment, ignore_constants = false end end skip_tkspace false - eq_tk = get_tk is_array_or_hash = true end - unless eq_tk && :on_op == eq_tk[:kind] && '=' == eq_tk[:text] then - unget_tk eq_tk + unless peek_tk && :on_op == peek_tk[:kind] && '=' == peek_tk[:text] then return false end + get_tk value = '' con = RDoc::Constant.new name, value, comment