class JsDuck::Tag::Alias

Public Class Methods

new() click to toggle source
# File lib/jsduck/tag/alias.rb, line 6
def initialize
  @pattern = "alias"
  @tagname = :aliases
  @repeatable = true
  @ext_define_pattern = "alias"
  @ext_define_default = {:aliases => []}
end

Public Instance Methods

parse_as_alias(p) click to toggle source

@alias widget.foo

# File lib/jsduck/tag/alias.rb, line 26
def parse_as_alias(p)
  {
    :tagname => :aliases,
    :name => p.ident_chain,
  }
end
parse_doc(p, pos) click to toggle source

For backwards compatibility decide whether the @alias was used as @inheritdoc (@alias used to have the meaning of @inheritdoc before) or as a real Ext4 style alias definition.

# File lib/jsduck/tag/alias.rb, line 17
def parse_doc(p, pos)
  if p.look(/([\w.]+)?#\w+/)
    parse_as_inheritdoc(p)
  else
    parse_as_alias(p)
  end
end
parse_ext_define(cls, ast) click to toggle source
# File lib/jsduck/tag/alias.rb, line 37
def parse_ext_define(cls, ast)
  cls[:aliases] += JsDuck::Js::Utils.make_string_list(ast)
end
process_doc(h, tags, pos) click to toggle source
# File lib/jsduck/tag/alias.rb, line 33
def process_doc(h, tags, pos)
  h[:aliases] = tags.map {|tag| tag[:name] }
end