diff options
author | dave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-12-19 03:58:57 +0000 |
---|---|---|
committer | dave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-12-19 03:58:57 +0000 |
commit | 8ed8664aa7ca657f536d507ac6de84d71e02e31b (patch) | |
tree | c38efde703164c6ecbbade0b477a7b1318c18086 /lib | |
parent | d3b74e1806e572592b4242bee140813ffeefdaf1 (diff) | |
download | ruby-8ed8664aa7ca657f536d507ac6de84d71e02e31b.tar.gz |
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
Diffstat (limited to 'lib')
-rw-r--r-- | lib/rdoc/parsers/parse_c.rb | 6 | ||||
-rw-r--r-- | lib/rdoc/ri/ri_cache.rb | 4 | ||||
-rw-r--r-- | lib/rdoc/ri/ri_util.rb | 2 |
3 files changed, 9 insertions, 3 deletions
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 |