Commit 1268816c authored by Rene Saarsoo's avatar Rene Saarsoo
Browse files

Introduce member type categories.

Divide members into two broad categories:

 - method_like
 - property_like

The @param Tag merger is now set up for all method_like members - so
all such members could have parameters.

The Default and Type tags are set up for all property_like members -
so all such members will have the :default and :type fields processed
and merged.

This should lay ground for the future with user-defined member types.
parent 7e737c1d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@ module JsDuck

        h[:members] = {}
        h[:statics] = {}
        TagRegistry.member_types.each do |tagname|
        TagRegistry.member_type_names.each do |tagname|
          h[:members][tagname] = export_members(cls, {:tagname => tagname, :static => false})
          h[:statics][tagname] = export_members(cls, {:tagname => tagname, :static => true})
        end
+1 −1
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ module JsDuck::Tag
    def initialize
      @pattern = "cfg"
      @key = :cfg
      @member_type = :cfg
      @member_type = {:name => :cfg, :category => :property_like}
    end

    # @cfg {Type} [name=default] (required) ...
+1 −1
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ module JsDuck::Tag
  # :css_mixin.
  class CssMixin < Tag
    def initialize
      @member_type = :css_mixin
      @member_type = {:name => :css_mixin, :category => :method_like}
    end
  end
end
+1 −1
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@ module JsDuck::Tag
    def initialize
      @pattern = "var"
      @key = :css_var
      @member_type = :css_var
      @member_type = {:name => :css_var, :category => :property_like}
    end

    # @var {Type} [name=default] ...
+1 −1
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ module JsDuck::Tag
  class Default < Tag
    def initialize
      @key = :default
      @merge_context = [:cfg, :property, :css_var]
      @merge_context = :property_like
      @html_position = POS_DEFAULT
    end

Loading