Ignore:
Timestamp:
2016-07-28T01:00:46+02:00 (8 years ago)
Author:
Don-vip
Message:

see #12472, fix #13230, fix #13225, fix #13228 - disable ReferenceEquality warning + partial revert of r10656 + r10659, causes too much problems

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/osm/Way.java

    r10656 r10662  
    99import java.util.List;
    1010import java.util.Map;
    11 import java.util.Objects;
    1211import java.util.Set;
    1312
     
    8988        for (int i = 0; i < count && count > 2;) {
    9089            Node n = nodes.get(i);
    91             if (Objects.equals(last, n)) {
     90            if (last == n) {
    9291                nodes.remove(i);
    9392                --count;
     
    362361        boolean locked = writeLock();
    363362        try {
    364             boolean closed = Objects.equals(lastNode(), n) && Objects.equals(firstNode(), n);
     363            boolean closed = lastNode() == n && firstNode() == n;
    365364            int i;
    366365            List<Node> copy = getNodes();
     
    371370            if (closed && i > 2) {
    372371                copy.add(copy.get(0));
    373             } else if (i >= 2 && i <= 3 && Objects.equals(copy.get(0), copy.get(i-1))) {
     372            } else if (i >= 2 && i <= 3 && copy.get(0) == copy.get(i-1)) {
    374373                copy.remove(i-1);
    375374            }
     
    402401            if (closed && i > 2) {
    403402                copy.add(copy.get(0));
    404             } else if (i >= 2 && i <= 3 && Objects.equals(copy.get(0), copy.get(i-1))) {
     403            } else if (i >= 2 && i <= 3 && copy.get(0) == copy.get(i-1)) {
    405404                copy.remove(i-1);
    406405            }
     
    495494
    496495        Node[] nodes = this.nodes;
    497         return nodes.length >= 3 && Objects.equals(nodes[nodes.length-1], nodes[0]);
     496        return nodes.length >= 3 && nodes[nodes.length-1] == nodes[0];
    498497    }
    499498
     
    508507            Node distinctNode = null;
    509508            for (int i = 1; i < nodes.length-1; i++) {
    510                 if (distinctNode == null && !Objects.equals(nodes[i], nodes[0])) {
     509                if (distinctNode == null && nodes[i] != nodes[0]) {
    511510                    distinctNode = nodes[i];
    512                 } else if (distinctNode != null && !Objects.equals(nodes[i], nodes[0]) && !Objects.equals(nodes[i], distinctNode)) {
     511                } else if (distinctNode != null && nodes[i] != nodes[0] && nodes[i] != distinctNode) {
    513512                    return true;
    514513                }
     
    551550        Node[] nodes = this.nodes;
    552551        if (isIncomplete() || nodes.length == 0) return false;
    553         return Objects.equals(n, nodes[0]) || Objects.equals(n, nodes[nodes.length -1]);
     552        return n == nodes[0] || n == nodes[nodes.length -1];
    554553    }
    555554
     
    564563        if (isIncomplete() || nodes.length <= 2) return false;
    565564        /* circular ways have only inner nodes, so return true for them! */
    566         if (Objects.equals(n, nodes[0]) && Objects.equals(n, nodes[nodes.length-1])) return true;
     565        if (n == nodes[0] && n == nodes[nodes.length-1]) return true;
    567566        for (int i = 1; i < nodes.length - 1; ++i) {
    568             if (Objects.equals(nodes[i], n)) return true;
     567            if (nodes[i] == n) return true;
    569568        }
    570569        return false;
Note: See TracChangeset for help on using the changeset viewer.