Ticket #17440: 17440.patch

File 17440.patch, 7.6 KB (added by GerdP, 7 years ago)
  • src/org/openstreetmap/josm/data/osm/AbstractPrimitive.java

     
    233233
    234234    @Override
    235235    public long getId() {
    236         long id = this.id;
    237236        return id >= 0 ? id : 0;
    238237    }
    239238
     
    469468
    470469    @Override
    471470    public void visitKeys(KeyValueVisitor visitor) {
    472         final String[] keys = this.keys;
    473471        if (keys != null) {
    474472            for (int i = 0; i < keys.length; i += 2) {
    475473                visitor.visitKeyValue(this, keys[i], keys[i + 1]);
     
    639637     */
    640638    @Override
    641639    public final String get(String key) {
    642         String[] keys = this.keys;
    643640        if (key == null)
    644641            return null;
    645642        if (keys == null)
     
    656653     * @return The value for a key that matches the given key ignoring case.
    657654     */
    658655    public final String getIgnoreCase(String key) {
    659         String[] keys = this.keys;
    660656        if (key == null)
    661657            return null;
    662658        if (keys == null)
     
    669665
    670666    @Override
    671667    public final int getNumKeys() {
    672         String[] keys = this.keys;
    673668        return keys == null ? 0 : keys.length / 2;
    674669    }
    675670
    676671    @Override
    677672    public final Collection<String> keySet() {
    678         final String[] keys = this.keys;
    679673        if (keys == null) {
    680674            return Collections.emptySet();
    681675        }
     
    844838    @Override
    845839    public Map<String, String> getInterestingTags() {
    846840        Map<String, String> result = new HashMap<>();
    847         String[] keys = this.keys;
    848841        if (keys != null) {
    849842            for (int i = 0; i < keys.length; i += 2) {
    850843                if (!isUninterestingKey(keys[i])) {
  • src/org/openstreetmap/josm/data/osm/OsmPrimitive.java

     
    816816            return Stream.empty();
    817817        }
    818818        checkDataset();
    819         final Object referrers = this.referrers;
    820819        if (referrers == null) {
    821820            return Stream.empty();
    822821        }
     
    894893    protected final boolean isNodeReferredByWays(int n) {
    895894        // Count only referrers that are members of the same dataset (primitive can have some fake references, for example
    896895        // when way is cloned
    897         Object referrers = this.referrers;
    898896        if (referrers == null) return false;
    899897        checkDataset();
    900898        if (referrers instanceof OsmPrimitive)
  • src/org/openstreetmap/josm/data/osm/Relation.java

     
    463463    private void checkMembers() {
    464464        DataSet dataSet = getDataSet();
    465465        if (dataSet != null) {
    466             RelationMember[] members = this.members;
    467466            for (RelationMember rm: members) {
    468467                if (rm.getMember().getDataSet() != dataSet)
    469468                    throw new DataIntegrityProblemException(
     
    493492
    494493    @Override
    495494    public boolean hasIncompleteMembers() {
    496         RelationMember[] members = this.members;
    497495        for (RelationMember rm: members) {
    498496            if (rm.getMember().isIncomplete()) return true;
    499497        }
     
    508506    @Override
    509507    public Collection<OsmPrimitive> getIncompleteMembers() {
    510508        Set<OsmPrimitive> ret = new HashSet<>();
    511         RelationMember[] members = this.members;
    512509        for (RelationMember rm: members) {
    513510            if (!rm.getMember().isIncomplete()) {
    514511                continue;
  • src/org/openstreetmap/josm/data/osm/TagMap.java

     
    175175
    176176    @Override
    177177    public String get(Object key) {
    178         String[] tags = this.tags;
    179178        int index = indexOfKey(tags, key);
    180179        return index < 0 ? null : tags[index + 1];
    181180    }
     
    182181
    183182    @Override
    184183    public boolean containsValue(Object value) {
    185         String[] tags = this.tags;
    186184        for (int i = 1; i < tags.length; i += 2) {
    187185            if (value.equals(tags[i])) {
    188186                return true;
  • src/org/openstreetmap/josm/data/osm/Way.java

     
    119119    public boolean containsNode(Node node) {
    120120        if (node == null) return false;
    121121
    122         Node[] nodes = this.nodes;
    123122        for (Node n : nodes) {
    124123            if (n.equals(node))
    125124                return true;
     
    139138
    140139        if (node == null) return neigh;
    141140
    142         Node[] nodes = this.nodes;
    143141        for (int i = 0; i < nodes.length; i++) {
    144142            if (nodes[i].equals(node)) {
    145143                if (i > 0)
     
    163161        List<Pair<Node, Node>> chunkSet = new ArrayList<>();
    164162        if (isIncomplete()) return chunkSet;
    165163        Node lastN = null;
    166         Node[] nodes = this.nodes;
    167164        for (Node n : nodes) {
    168165            if (lastN == null) {
    169166                lastN = n;
     
    465462    public boolean isClosed() {
    466463        if (isIncomplete()) return false;
    467464
    468         Node[] nodes = this.nodes;
    469465        return nodes.length >= 3 && nodes[nodes.length-1] == nodes[0];
    470466    }
    471467
     
    491487
    492488    @Override
    493489    public Node lastNode() {
    494         Node[] nodes = this.nodes;
    495490        if (isIncomplete() || nodes.length == 0) return null;
    496491        return nodes[nodes.length-1];
    497492    }
     
    498493
    499494    @Override
    500495    public Node firstNode() {
    501         Node[] nodes = this.nodes;
    502496        if (isIncomplete() || nodes.length == 0) return null;
    503497        return nodes[0];
    504498    }
     
    505499
    506500    @Override
    507501    public boolean isFirstLastNode(INode n) {
    508         Node[] nodes = this.nodes;
    509502        if (isIncomplete() || nodes.length == 0) return false;
    510503        return n == nodes[0] || n == nodes[nodes.length -1];
    511504    }
     
    512505
    513506    @Override
    514507    public boolean isInnerNode(INode n) {
    515         Node[] nodes = this.nodes;
    516508        if (isIncomplete() || nodes.length <= 2) return false;
    517509        /* circular ways have only inner nodes, so return true for them! */
    518510        if (n == nodes[0] && n == nodes[nodes.length-1]) return true;
     
    535527    private void checkNodes() {
    536528        DataSet dataSet = getDataSet();
    537529        if (dataSet != null) {
    538             Node[] nodes = this.nodes;
    539530            for (Node n: nodes) {
    540531                if (n.getDataSet() != dataSet)
    541532                    throw new DataIntegrityProblemException("Nodes in way must be in the same dataset",
     
    597588     * @since 2587
    598589     */
    599590    public boolean hasIncompleteNodes() {
    600         Node[] nodes = this.nodes;
    601591        for (Node node : nodes) {
    602592            if (node.isIncomplete())
    603593                return true;
     
    611601     * @since 13033
    612602     */
    613603    public boolean hasOnlyLocatableNodes() {
    614         Node[] nodes = this.nodes;
    615604        for (Node node : nodes) {
    616605            if (!node.isLatLonKnown())
    617606                return false;