summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authordave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-12-19 03:58:57 +0000
committerdave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-12-19 03:58:57 +0000
commit8ed8664aa7ca657f536d507ac6de84d71e02e31b (patch)
treec38efde703164c6ecbbade0b477a7b1318c18086 /lib
parentd3b74e1806e572592b4242bee140813ffeefdaf1 (diff)
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.rb6
-rw-r--r--lib/rdoc/ri/ri_cache.rb4
-rw-r--r--lib/rdoc/ri/ri_util.rb2
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