From d4f258eac834cc7b2980fe036969a2291d1ddb0e Mon Sep 17 00:00:00 2001 From: dave Date: Mon, 23 Feb 2004 21:34:01 +0000 Subject: Handle aliases in C files git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@5817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ lib/rdoc/parsers/parse_c.rb | 14 ++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/ChangeLog b/ChangeLog index 62aefa102..225edf725 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue Feb 24 06:32:27 2004 Dave Thomas + + * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::do_aliases): Handle + aliases in C files. + Tue Feb 24 06:16:22 2004 Dave Thomas * lib/rdoc/rdoc.rb (RDoc::RDoc::document): Now create op dir _before_ 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) -- cgit