From 8ed8664aa7ca657f536d507ac6de84d71e02e31b Mon Sep 17 00:00:00 2001 From: dave Date: Fri, 19 Dec 2003 03:58:57 +0000 Subject: Add boot_classes to rdoc parsing, fix a couple of bugs git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/rdoc/parsers/parse_c.rb | 6 ++++++ lib/rdoc/ri/ri_cache.rb | 4 ++-- lib/rdoc/ri/ri_util.rb | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) (limited to 'lib/rdoc') diff --git a/lib/rdoc/parsers/parse_c.rb b/lib/rdoc/parsers/parse_c.rb index 39d136089b..37f13515bd 100644 --- a/lib/rdoc/parsers/parse_c.rb +++ b/lib/rdoc/parsers/parse_c.rb @@ -214,6 +214,12 @@ module RDoc handle_class_module(var_name, "class", class_name, parent, nil) end + @body.scan(/(\w+)\s*=\s*boot_defclass\(\s*"(\w+?)",\s*(\w+?)\)/) do + |var_name, class_name, parent| + parent = nil if parent == "0" + handle_class_module(var_name, "class", class_name, parent, nil) + end + @body.scan(/(\w+)\s* = \s*rb_define_class_under \( \s*(\w+), diff --git a/lib/rdoc/ri/ri_cache.rb b/lib/rdoc/ri/ri_cache.rb index 0a2fac184c..9e8c897d36 100644 --- a/lib/rdoc/ri/ri_cache.rb +++ b/lib/rdoc/ri/ri_cache.rb @@ -77,7 +77,7 @@ module RI # Return our full name - def full_namep + def full_name res = @in_class.full_name res << "::" unless res.empty? res << @name @@ -95,7 +95,7 @@ module RI when nil then @class_methods + @instance_methods when true then @class_methods when false then @instance_methods - else fail "Unknown is_class_method" + else fail "Unknown is_class_method: #{is_class_method.inspect}" end list.find_all {|m| m.name; m.name[name]} diff --git a/lib/rdoc/ri/ri_util.rb b/lib/rdoc/ri/ri_util.rb index 5d14650fac..6e52cd069f 100644 --- a/lib/rdoc/ri/ri_util.rb +++ b/lib/rdoc/ri/ri_util.rb @@ -59,7 +59,7 @@ class NameDescriptor if @method_name =~ /::|\.|#/ or !tokens.empty? raise RiError.new("Bad argument: #{arg}") end - if separator + if separator && separator != '.' @is_class_method = separator == "::" end end -- cgit v1.2.3