in lib/rdoc/cross_reference.rb [124:185]
def resolve name, text
return @seen[name] if @seen.include? name
if /
type = $2
if '.' == type
method = $3
else
method = "#{type}#{$3}"
end
container = @context.find_symbol_module($1)
elsif /^([.
type = $1
if '.' == type
method = $2
else
method = "#{type}#{$2}"
end
container = @context
else
type = nil
container = nil
end
if container then
unless RDoc::TopLevel === container then
if '.' == type then
if 'new' == method then
ref = container.find_local_symbol method
ref = container.find_ancestor_local_symbol method unless ref
else
ref = container.find_local_symbol "::#{method}"
ref = container.find_ancestor_local_symbol "::#{method}" unless ref
ref = container.find_local_symbol "##{method}" unless ref
ref = container.find_ancestor_local_symbol "##{method}" unless ref
end
else
ref = container.find_local_symbol method
ref = container.find_ancestor_local_symbol method unless ref
end
end
end
ref = case name
when /^\\(
@context.find_symbol $1
else
@context.find_symbol name
end unless ref
ref = @store.page name if not ref and name =~ /^[\w.]+$/
ref = nil if RDoc::Alias === ref
out = if name == '\\' then
name
elsif name =~ /^\\/ then
ref ? $