summaryrefslogtreecommitdiff
path: root/lib/rdoc
diff options
context:
space:
mode:
authordave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-02-19 23:53:13 +0000
committerdave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-02-19 23:53:13 +0000
commitb58e0bc73adfbe6c03a163d601f618a65e825350 (patch)
treeac74a0fc7e809cde154da0f77dff550fb2a7f29a /lib/rdoc
parent81f62f41f18dcbbb974b8081a691c49bae372bd3 (diff)
miss
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rdoc')
-rw-r--r--lib/rdoc/parsers/parse_c.rb21
-rw-r--r--lib/rdoc/parsers/parse_rb.rb12
2 files changed, 24 insertions, 9 deletions
diff --git a/lib/rdoc/parsers/parse_c.rb b/lib/rdoc/parsers/parse_c.rb
index d491e3d88d..d97e08bf4d 100644
--- a/lib/rdoc/parsers/parse_c.rb
+++ b/lib/rdoc/parsers/parse_c.rb
@@ -44,6 +44,27 @@
#
# C classes can be diagramed (see /tc/dl/ruby/ruby/error.c), and RDoc
# integrates C and Ruby source into one tree
+ #
+ # The comment blocks may include special direcives:
+ #
+ # [Document-class: <i>name</i>]
+ # This comment block is documentation for the given class. Use this
+ # when the <tt>Init_xxx</tt> method is not named after the class.
+ #
+ # [Document-method: <i>name</i>]
+ # This comment documents the named method. Use when RDoc cannot outomatically
+ # find the method from it's declaration
+ #
+ # [call-seq: <i>text up to an empty line</i>]
+ # Because C source doesn't give descripive names to Ruby-level parameters,
+ # you need to document the calling sequence explicitly
+ #
+ # In additon, RDoc assumes by default that the C method implementing a
+ # Ruby function is in the same source file as the rb_define_method call.
+ # If this isn't the case, add the comment
+ #
+ # rb_define_method(....); // in: filename
+ #
# Classes and modules built in to the interpreter. We need
# these to define superclasses of user objects
diff --git a/lib/rdoc/parsers/parse_rb.rb b/lib/rdoc/parsers/parse_rb.rb
index 472da55d5f..413167a39a 100644
--- a/lib/rdoc/parsers/parse_rb.rb
+++ b/lib/rdoc/parsers/parse_rb.rb
@@ -1999,10 +1999,6 @@ module RDoc
break
when TkLBRACE
nest += 1
- when TkLBRACE
- nest += 1
- when TkLBRACE
- nest += 1
when TkRBRACE
nest -= 1
break if nest <= 0
@@ -2045,8 +2041,7 @@ module RDoc
"#{@scanner.lex_state} #{nest}") if $DEBUG
case tk
when TkSEMICOLON
- nest -= 1
- break if nest <= 0
+ break
when TkLPAREN, TkfLPAREN
nest += 1
when TkDO
@@ -2117,8 +2112,7 @@ module RDoc
"#{@scanner.lex_state} #{nest}") if $DEBUG
case tk
when TkSEMICOLON
- nest -= 1
- break if nest <= 0
+ break
when TkLPAREN, TkfLPAREN
nest += 1
when end_token
@@ -2313,13 +2307,13 @@ module RDoc
skip_tkspace
new_name = get_symbol_or_name
@scanner.instance_eval{@lex_state = EXPR_FNAME}
-
skip_tkspace
if (peek_tk.kind_of? TkCOMMA)
get_tk
skip_tkspace
end
old_name = get_symbol_or_name
+
al = Alias.new(get_tkread, old_name, new_name, comment)
read_documentation_modifiers(al, ATTR_MODIFIERS)
if al.document_self