summaryrefslogtreecommitdiff
path: root/lib/rdoc
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-05-14 03:07:38 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-05-14 03:07:38 +0000
commit4bf8c87101217056257508d76e7787ded0d76849 (patch)
treecfd0f00fdc18088c646c468cdb0ebb5cc47e90bc /lib/rdoc
parentad10cfeb526151300f0ab141d0b4b5c85576033d (diff)
* lib/rdoc/context.rb (class RDoc): Fix infinite loop caused by
re-encountering BasicObject. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rdoc')
-rw-r--r--lib/rdoc/context.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/rdoc/context.rb b/lib/rdoc/context.rb
index 0d7fc41529..f0168585ec 100644
--- a/lib/rdoc/context.rb
+++ b/lib/rdoc/context.rb
@@ -373,6 +373,12 @@ class RDoc::Context < RDoc::CodeObject
end
end
+ # fix up superclass
+ superclass = nil if full_name == 'BasicObject'
+ superclass = nil if full_name == 'Object' and defined?(::BasicObject)
+ superclass = '::BasicObject' if
+ defined?(::BasicObject) and full_name == 'Object'
+
# find the superclass full name
if superclass then
if superclass =~ /^:+/ then
@@ -658,6 +664,13 @@ class RDoc::Context < RDoc::CodeObject
end
##
+ # Iterator for ancestors for duck-typing. Does nothing. See
+ # RDoc::ClassModule#each_ancestor.
+
+ def each_ancestor # :nodoc:
+ end
+
+ ##
# Iterator for attributes
def each_attribute # :yields: attribute