Commit 4cd50a1c authored by Rene Saarsoo's avatar Rene Saarsoo
Browse files

Get rid of warnings caused by required overrides.

parent 9c2f0884
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -232,9 +232,15 @@ module JsDuck
      Enum.new(@classes).process_all!
    end

    # Processes all overrides
    # Processes all overrides.
    # Returns list of override classes.
    def process_overrides
      Override.new(@classes, @documentation).process_all!
      Override.new(@classes).process_all!.map do |cls|
        # discard each override class
        @classes.delete(cls[:name])
        @documentation.delete(cls)
        cls
      end
    end

    # Are we dealing with ExtJS 4?
+2 −1
Original line number Diff line number Diff line
@@ -130,7 +130,8 @@ module JsDuck
        agr.append_ext4_event_options
      end
      agr.process_enums
      agr.process_overrides
      # Ignore override classes after applying them to actual classes
      @opts.external_classes += agr.process_overrides.map {|o| o[:name] }
      agr.result
    end

+4 −8
Original line number Diff line number Diff line
module JsDuck

  class Override
    def initialize(classes_hash, classes_array)
    def initialize(classes_hash)
      @classes_hash = classes_hash
      @classes_array = classes_array
    end

    # Applies all override classes to target classes
    # Returns all the processed override classes.
    def process_all!
      overrides = []

      @classes_array.each do |cls|
      @classes_hash.each_value do |cls|
        if cls[:override]
          process(cls)
          overrides << cls
        end
      end

      # Discard override classes
      overrides.each do |cls|
        @classes_hash.delete(cls[:name])
        @classes_array.delete(cls)
      end
      overrides
    end

    private