Prepares the RDoc code object tree for use by a
generator.
It finds unique classes/modules defined, and replaces classes/modules that
are aliases for another one by a copy with RDoc::ClassModule#is_alias_for
set.
It updates the RDoc::ClassModule#constant_aliases attribute of “real”
classes or modules.
It also completely removes the classes and modules that should be removed
from the documentation and the methods that have a visibility below
min_visibility, which is the --visibility option.
# File lib/rdoc/store.rb, line 302
def complete min_visibility
fix_basic_object_inheritance
# cache included modules before they are removed from the documentation
all_classes_and_modules.each { |cm| cm.ancestors }
unless min_visibility == :nodoc then
remove_nodoc @classes_hash
remove_nodoc @modules_hash
end
@unique_classes = find_unique @classes_hash
@unique_modules = find_unique @modules_hash
unique_classes_and_modules.each do |cm|
cm.complete min_visibility
end
@files_hash.each_key do |file_name|
tl = @files_hash[file_name]
unless tl.text? then
tl.modules_hash.clear
tl.classes_hash.clear
tl.classes_or_modules.each do |cm|
name = cm.full_name
if cm.type == 'class' then
tl.classes_hash[name] = cm if @classes_hash[name]
else
tl.modules_hash[name] = cm if @modules_hash[name]
end
end
end
end
end