summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authordave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-02-23 21:34:01 +0000
committerdave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-02-23 21:34:01 +0000
commit65559a571c15a54ba45d8d99f2a15a7f99069e54 (patch)
tree175769020fe56cca551b00457865e009e2965908 /lib
parent8746014723b558bce383b447dce1013af0194ce0 (diff)
downloadruby-65559a571c15a54ba45d8d99f2a15a7f99069e54.tar.gz
ruby-65559a571c15a54ba45d8d99f2a15a7f99069e54.tar.xz
ruby-65559a571c15a54ba45d8d99f2a15a7f99069e54.zip
Handle aliases in C files
git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@5817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r--lib/rdoc/parsers/parse_c.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/rdoc/parsers/parse_c.rb b/lib/rdoc/parsers/parse_c.rb
index d97e08bf4..2b12411ae 100644
--- a/lib/rdoc/parsers/parse_c.rb
+++ b/lib/rdoc/parsers/parse_c.rb
@@ -165,6 +165,7 @@ module RDoc
do_classes
do_methods
do_includes
+ do_aliases
@top_level
end
@@ -321,6 +322,19 @@ module RDoc
end
############################################################
+
+ def do_aliases
+ @body.scan(%r{rb_define_alias\(\s*(\w+),\s*"([^"]+)",\s*"([^"]+)"\s*\)}m) do
+ |var_name, new_name, old_name|
+ @stats.num_methods += 1
+ class_name = @known_classes[var_name] || var_name
+ class_obj = find_class(var_name, class_name)
+
+ class_obj.add_alias(Alias.new("", old_name, new_name, ""))
+ end
+ end
+
+ ############################################################
def handle_method(type, var_name, meth_name,
meth_body, param_count, source_file = nil)