Sha256: 9e33b0f7fc799cb86415796733e9406813b98ae4bc1beb9bdb5e441c020185de

Contents?: true

Size: 758 Bytes

Versions: 28

Compression:

Stored size: 758 Bytes

Contents

require "jsduck/tag/tag"
require "jsduck/js/utils"

module JsDuck::Tag
  class Extends < Tag
    def initialize
      @pattern = ["extend", "extends"]
      @tagname = :extends
      @ext_define_pattern = "extend"
      @ext_define_default = {:extends => "Ext.Base"}
    end

    # @extends classname
    # or
    # @extends {classname}
    def parse_doc(p, pos)
      if p.match(/\{/)
        cls = p.ident_chain
        p.match(/\}/)
      else
        cls = p.ident_chain
      end

      {
        :tagname => :extends,
        :extends => cls,
      }
    end

    def process_doc(h, tags, pos)
      h[:extends] = tags[0][:extends]
    end

    def parse_ext_define(cls, ast)
      cls[:extends] = JsDuck::Js::Utils.make_string(ast)
    end

  end
end

Version data entries

28 entries across 28 versions & 3 rubygems

Version Path
solvas-jsduck-6.0.0.30539 lib/jsduck/tag/extends.rb
solvas-jsduck-6.0.0.9571 lib/jsduck/tag/extends.rb
solvas-jsduck-6.0.0.6154 lib/jsduck/tag/extends.rb
solvas-jsduck-6.0.0.4021 lib/jsduck/tag/extends.rb
solvas-jsduck-6.0.0.2554 lib/jsduck/tag/extends.rb
solvas-jsduck-6.0.0.1891 lib/jsduck/tag/extends.rb
solvas-jsduck-6.0.0.beta.1888 lib/jsduck/tag/extends.rb
jsduck-troopjs-0.0.10 lib/jsduck/tag/extends.rb
jsduck-troopjs-0.0.9 lib/jsduck/tag/extends.rb
jsduck-troopjs-0.0.8 lib/jsduck/tag/extends.rb
jsduck-troopjs-0.0.7 lib/jsduck/tag/extends.rb
jsduck-troopjs-0.0.5 lib/jsduck/tag/extends.rb
jsduck-troopjs-0.0.4 lib/jsduck/tag/extends.rb
jsduck-troopjs-0.0.3 lib/jsduck/tag/extends.rb
jsduck-troopjs-0.0.1 lib/jsduck/tag/extends.rb
jsduck-6.0.0beta lib/jsduck/tag/extends.rb
jsduck-5.3.4 lib/jsduck/tag/extends.rb
jsduck-5.3.3 lib/jsduck/tag/extends.rb
jsduck-5.3.2 lib/jsduck/tag/extends.rb
jsduck-5.3.1 lib/jsduck/tag/extends.rb