diff --git a/model/src/main/java/jetbrains/jetpad/model/composite/Composites.java b/model/src/main/java/jetbrains/jetpad/model/composite/Composites.java index bb3730cf..5fb5d2c7 100644 --- a/model/src/main/java/jetbrains/jetpad/model/composite/Composites.java +++ b/model/src/main/java/jetbrains/jetpad/model/composite/Composites.java @@ -21,6 +21,7 @@ import jetbrains.jetpad.base.function.Predicate; import java.util.ArrayList; +import java.util.LinkedList; import java.util.Collections; import java.util.Iterator; import java.util.List; @@ -374,7 +375,7 @@ void collectReverseAncestors(HasParentT c, List result) { } static List toList(Iterable it) { - List result = new ArrayList<>(); + List result = new LinkedList<>(); for (ItemT i : it) { result.add(i); } @@ -613,4 +614,4 @@ public Iterable apply(CompositeT input) { private Composites() { } -} \ No newline at end of file +} diff --git a/model/src/main/java/jetbrains/jetpad/model/composite/TreePath.java b/model/src/main/java/jetbrains/jetpad/model/composite/TreePath.java index fd0c3d43..b518e173 100644 --- a/model/src/main/java/jetbrains/jetpad/model/composite/TreePath.java +++ b/model/src/main/java/jetbrains/jetpad/model/composite/TreePath.java @@ -16,6 +16,7 @@ package jetbrains.jetpad.model.composite; import java.util.ArrayList; +import java.util.LinkedList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; @@ -53,7 +54,7 @@ public static > TreePath de return new TreePath<>(path); } - private List myPath = new ArrayList<>(); + private List myPath = new LinkedList<>(); public TreePath(CompositeT composite) { this(composite, null); @@ -114,7 +115,7 @@ public int getLastIndex() { if (myPath.isEmpty()) { throw new IllegalStateException(); } - return myPath.get(myPath.size() - 1); + return myPath.getLast(); } public TreePath getParent() { @@ -122,7 +123,8 @@ public TreePath getParent() { throw new IllegalStateException(); } - return new TreePath<>(myPath.subList(0, myPath.size() - 1)); + ArrayList treePathList = new ArrayList<>(myPath); + return new TreePath<>(treePathList.subList(0, treePathList.size() - 1)); } public TreePath getChild(int index) { @@ -170,4 +172,4 @@ public int compareTo(TreePath o) { public String toString() { return myPath.toString(); } -} \ No newline at end of file +} diff --git a/util/base/src/main/java/jetbrains/jetpad/base/Asyncs.java b/util/base/src/main/java/jetbrains/jetpad/base/Asyncs.java index bc7368b4..bc71c6e7 100644 --- a/util/base/src/main/java/jetbrains/jetpad/base/Asyncs.java +++ b/util/base/src/main/java/jetbrains/jetpad/base/Asyncs.java @@ -28,6 +28,7 @@ import java.util.List; import java.util.SortedMap; import java.util.TreeMap; +import java.util.HashMap; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; @@ -280,7 +281,7 @@ public void accept(Throwable failure) { public static Async> composite(List> asyncs) { final SimpleAsync> result = new SimpleAsync<>(); - final SortedMap succeeded = new TreeMap<>(); + final HashMap succeeded = new HashMap<>(); final List exceptions = new ArrayList<>(0); final Value inProgress = new Value<>(asyncs.size()); @@ -577,4 +578,4 @@ int decrementInProgressAndGet() { return myInProgress.decrementAndGet(); } } -} \ No newline at end of file +} diff --git a/util/base/src/main/java/jetbrains/jetpad/base/ThrowableHandlers.java b/util/base/src/main/java/jetbrains/jetpad/base/ThrowableHandlers.java index b1c8e4d9..1f1afa79 100755 --- a/util/base/src/main/java/jetbrains/jetpad/base/ThrowableHandlers.java +++ b/util/base/src/main/java/jetbrains/jetpad/base/ThrowableHandlers.java @@ -22,6 +22,7 @@ import java.util.Collections; import java.util.IdentityHashMap; import java.util.List; +import java.util.LinkedList; import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; @@ -186,7 +187,7 @@ private ThrowableHandlers() { } private static class MyEventSource { - private final List> myHandlers = new ArrayList<>(); + private final List> myHandlers = new LinkedList<>(); void fire(Throwable throwable) { for (Consumer handler : new ArrayList<>(myHandlers)) { diff --git a/util/base/src/main/java/jetbrains/jetpad/base/diff/DifferenceBuilder.java b/util/base/src/main/java/jetbrains/jetpad/base/diff/DifferenceBuilder.java index 8beb0997..764ce36e 100644 --- a/util/base/src/main/java/jetbrains/jetpad/base/diff/DifferenceBuilder.java +++ b/util/base/src/main/java/jetbrains/jetpad/base/diff/DifferenceBuilder.java @@ -16,6 +16,7 @@ package jetbrains.jetpad.base.diff; import java.util.ArrayList; +import java.util.LinkedList; import java.util.List; public final class DifferenceBuilder { @@ -28,7 +29,7 @@ public DifferenceBuilder(List sourceList, List targetList) { } public List build() { - List result = new ArrayList<>(); + List result = new LinkedList<>(); List sourceContent = mySourceList; List target = new ArrayList<>(myTargetList); @@ -100,4 +101,4 @@ public String toString() { return (isAdd ? "add" : "remove") + " " + item + "@" + index; } } -} \ No newline at end of file +} diff --git a/util/geometry/src/main/java/jetbrains/jetpad/geometry/DoubleRectangle.java b/util/geometry/src/main/java/jetbrains/jetpad/geometry/DoubleRectangle.java index 22ea5905..84737659 100644 --- a/util/geometry/src/main/java/jetbrains/jetpad/geometry/DoubleRectangle.java +++ b/util/geometry/src/main/java/jetbrains/jetpad/geometry/DoubleRectangle.java @@ -18,6 +18,7 @@ import com.google.common.collect.Range; import java.util.ArrayList; +import java.util.LinkedList; import java.util.List; public class DoubleRectangle { @@ -137,7 +138,7 @@ public double distance(DoubleVector to) { } public Iterable getParts() { - List result = new ArrayList<>(); + List result = new LinkedList<>(); result.add(new DoubleSegment(origin, origin.add(new DoubleVector(dimension.x, 0)))); result.add(new DoubleSegment(origin, origin.add(new DoubleVector(0, dimension.y)))); result.add(new DoubleSegment(origin.add(dimension), origin.add(new DoubleVector(dimension.x, 0)))); @@ -163,4 +164,4 @@ public boolean equals(Object o) { public String toString() { return "[rect " + origin + ", " + dimension + "]"; } -} \ No newline at end of file +}