Commit 3fb0d6e8 authored by Rene Saarsoo's avatar Rene Saarsoo
Browse files

Warn for duplicate parameter names.

parent d89d453b
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@ module JsDuck
      warn_globals
      warn_unnamed
      warn_optional_params
      warn_duplicate_params
    end

    # print warning for each global member
@@ -55,6 +56,19 @@ module JsDuck
      end
    end

    # print warnings for duplicate parameter names
    def warn_duplicate_params
      each_member do |member|
        params = {}
        (member[:params] || []).each do |p|
          if params[p[:name]]
            warn("Duplicate parameter name #{p[:name]}", member)
          end
          params[p[:name]] = true
        end
      end
    end

    # Loops through all members of all classes
    def each_member(&block)
      @relations.each {|cls| cls.each_member(&block) }