summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authordave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-08-02 02:59:17 +0000
committerdave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-08-02 02:59:17 +0000
commit47427428802ebfdcc077145b4efae2a3f38572bf (patch)
tree0a085b06384fb0af81c8cec53b1751107fe4dc39 /lib
parent493a7a3b63f682b9bbaa455651e1a570ef919b0f (diff)
Bugfix: looping on some toplevel symbols. Added SWIG support
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r--lib/rdoc/code_objects.rb2
-rw-r--r--lib/rdoc/parsers/parse_c.rb7
2 files changed, 5 insertions, 4 deletions
diff --git a/lib/rdoc/code_objects.rb b/lib/rdoc/code_objects.rb
index 9bacab8f6d..82872db14d 100644
--- a/lib/rdoc/code_objects.rb
+++ b/lib/rdoc/code_objects.rb
@@ -325,7 +325,7 @@ module RDoc
result = nil
case symbol
when /^::(.*)/
- result = toplevel.find_symbol(symbol)
+ result = toplevel.find_symbol($1)
when /::/
modules = symbol.split(/::/)
unless modules.empty?
diff --git a/lib/rdoc/parsers/parse_c.rb b/lib/rdoc/parsers/parse_c.rb
index 31c1106406..c42fbb2e11 100644
--- a/lib/rdoc/parsers/parse_c.rb
+++ b/lib/rdoc/parsers/parse_c.rb
@@ -254,7 +254,8 @@ module RDoc
handle_class_module(var_name, "module", class_name, nil, nil)
end
- @body.scan(/(\w+)\s* = \s*rb_define_class
+ # The '.' lets us handle SWIG-generated files
+ @body.scan(/([\w\.]+)\s* = \s*rb_define_class
\(
\s*"(\w+)",
\s*(\w+)\s*
@@ -280,7 +281,7 @@ module RDoc
handle_class_module(var_name, "module", class_name, nil, in_module)
end
- @body.scan(/(\w+)\s* = \s*rb_define_class_under
+ @body.scan(/([\w\.]+)\s* = \s*rb_define_class_under
\(
\s*(\w+),
\s*"(\w+)",
@@ -304,7 +305,7 @@ module RDoc
module_function |
private_method
)
- \(\s*(\w+),
+ \(\s*([\w\.]+),
\s*"([^"]+)",
\s*(?:RUBY_METHOD_FUNC\(|VALUEFUNC\()?(\w+)\)?,
\s*(-?\w+)\s*\)