Commit b370a2a0 authored by Rene Saarsoo's avatar Rene Saarsoo
Browse files

Fix /bin/compare to work with JSDuck 5 export format.

parent 23c7e6b8
Loading
Loading
Loading
Loading
+7 −16
Original line number Diff line number Diff line
@@ -63,14 +63,8 @@ def read_class(filename)
end

# loops through all members of class
def each_member(cls)
  ["members", "statics"].each do |category|
    cls[category].each_pair do |k, members|
      members.each do |m|
        yield m
      end
    end
  end
def each_member(cls, &block)
  cls["members"].each(&block)
end

def discard_docs(cls)
@@ -125,7 +119,7 @@ end
# Finds equivalent member to given member from class.
# Returns the member found or nil.
def find_member(cls, member)
  cls[member["static"] ? "statics" : "members"][member["tagname"]].find do |m|
  cls["members"].find do |m|
    member["name"] == m["name"]
  end
end
@@ -179,11 +173,7 @@ def compare_classes(cls1, cls2)
      end

    elsif !m2 && m1["name"] != "constructor" && m1["name"] != ""
      other = nil
      ["cfg", "property", "method", "event"].each do |g|
        other = other || cls2["members"][g].find {|m2| m2["name"] == m1["name"] }
        other = other || cls2["statics"][g].find {|m2| m2["name"] == m1["name"] }
      end
      other = cls2["members"].find {|m2| m2["name"] == m1["name"] }
      diff << {
        :type => m1["tagname"],
        :name => m1["name"],
@@ -336,12 +326,13 @@ diff_data.each do |cls|
            html << " (found #{stat} #{priv} #{prot} #{o[:type]} with the same name)"
          elsif m[:changes]
            m[:changes].each do |c|
              html << " (#{c[:what]} changed from #{CGI.escapeHTML(c[:a])} to #{CGI.escapeHTML(c[:b])})"
            end
              html << " (#{c[:what]} changed from #{CGI.escapeHTML(c[:a].to_s)} to #{CGI.escapeHTML(c[:b].to_s)})"
            end
          end
          html << "</li>"
        end
        html << "</ul>"
      end
      html << "</li>"
    end
  elsif cls[:found] == :old