diff options
Diffstat (limited to 'lib/rdoc/alias.rb')
-rw-r--r-- | lib/rdoc/alias.rb | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/lib/rdoc/alias.rb b/lib/rdoc/alias.rb new file mode 100644 index 0000000000..6cd9af09d4 --- /dev/null +++ b/lib/rdoc/alias.rb @@ -0,0 +1,54 @@ +require 'rdoc/code_object' + +## +# Represent an alias, which is an old_name/new_name pair associated with a +# particular context + +class RDoc::Alias < RDoc::CodeObject + + ## + # Allow comments to be overridden + + attr_writer :comment + + ## + # Aliased name + + attr_accessor :new_name + + ## + # Aliasee's name + + attr_accessor :old_name + + ## + # Source file token stream + + attr_accessor :text + + ## + # Creates a new Alias with a token stream of +text+ that aliases +old_name+ + # to +new_name+ and has +comment+ + + def initialize(text, old_name, new_name, comment) + super() + @text = text + @old_name = old_name + @new_name = new_name + self.comment = comment + end + + def inspect # :nodoc: + parent_name = parent ? parent.name : '(unknown)' + "#<%s:0x%x %s.alias_method %s, %s>" % [ + self.class, object_id, + parent_name, @old_name, @new_name, + ] + end + + def to_s # :nodoc: + "alias: #{self.old_name} -> #{self.new_name}\n#{self.comment}" + end + +end + |