Method: JsDuck::Process::Lint#warn_duplicate_members

Defined in:
lib/jsduck/process/lint.rb

#warn_duplicate_membersObject

print warnings for duplicate member names



67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/jsduck/process/lint.rb', line 67

def warn_duplicate_members
  @relations.each do |cls|
    members = {:members => {}, :statics => {}}
    cls.all_local_members.each do |m|
      group = m[:static] ? :statics : :members
      type = m[:tagname]
      name = m[:name]
      hash = members[group][type] || {}
      if hash[name]
        warn(:dup_member, "Duplicate #{type} name #{name}", hash[name])
        warn(:dup_member, "Duplicate #{type} name #{name}", m)
      end
      hash[name] = m
      members[group][type] = hash
    end
  end
end