From 8767bff49f6598fb0ddd709732b46efbc4633cc4 Mon Sep 17 00:00:00 2001 From: "Maxim.Mossienko" Date: Tue, 6 Sep 2011 11:59:30 +0400 Subject: [PATCH] removed self checks --- .../tree/events/impl/TreeChangeEventImpl.java | 67 ++----------------- 1 file changed, 6 insertions(+), 61 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/pom/tree/events/impl/TreeChangeEventImpl.java b/platform/lang-impl/src/com/intellij/pom/tree/events/impl/TreeChangeEventImpl.java index f3a8398f6ca6..f93004c3a6f3 100644 --- a/platform/lang-impl/src/com/intellij/pom/tree/events/impl/TreeChangeEventImpl.java +++ b/platform/lang-impl/src/com/intellij/pom/tree/events/impl/TreeChangeEventImpl.java @@ -39,8 +39,7 @@ import java.util.*; public class TreeChangeEventImpl implements TreeChangeEvent{ private static final Logger LOG = Logger.getInstance("#com.intellij.pom.tree.events.impl.TreeChangeEventImpl"); private final Map myChangedElements = new THashMap(); - private final List myChangedInOrder = new ArrayList(); - private List myChangedInOrderNew; + private List myChangedInOrder; private final List> myOfEqualDepth = new ArrayList>(10); private final PomModelAspect myAspect; private final FileElement myFileElement; @@ -57,10 +56,10 @@ public class TreeChangeEventImpl implements TreeChangeEvent{ @NotNull public ASTNode[] getChangedElements() { - if (myChangedInOrderNew == null) { - myChangedInOrderNew = new ArrayList(myChangedElements.keySet()); + if (myChangedInOrder == null) { + myChangedInOrder = new ArrayList(myChangedElements.keySet()); - Collections.sort(myChangedInOrderNew, new Comparator() { + Collections.sort(myChangedInOrder, new Comparator() { final Map routeMap = new THashMap(myChangedElements.size()); final TObjectIntHashMap nodeIndex = new TObjectIntHashMap(myChangedElements.size()); @@ -73,23 +72,8 @@ public class TreeChangeEventImpl implements TreeChangeEvent{ return compareRoutes(route, route2); } }); - - int size = myChangedInOrderNew.size(); - if (size == myChangedInOrder.size()) { - for(int i = 0; i < size; ++i) { - if (myChangedInOrderNew.get(i) != myChangedInOrder.get(i)) { - LOG.error("Unexpected changed elements difference"); - return myChangedInOrder.toArray(new ASTNode[myChangedInOrder.size()]); - } - } - } - else { - LOG.error("Unexpected changed elements difference"); - return myChangedInOrder.toArray(new ASTNode[myChangedInOrder.size()]); - } } - - return myChangedInOrderNew.toArray(new ASTNode[myChangedInOrderNew.size()]); + return myChangedInOrder.toArray(new ASTNode[myChangedInOrder.size()]); } public TreeChange getChangesByElement(@NotNull ASTNode element) { @@ -141,8 +125,7 @@ public class TreeChangeEventImpl implements TreeChangeEvent{ } public void clear() { - myChangedInOrderNew = null; - myChangedInOrder.clear(); + myChangedInOrder = null; myChangedElements.clear(); myOfEqualDepth.clear(); } @@ -152,7 +135,6 @@ public class TreeChangeEventImpl implements TreeChangeEvent{ if (treeChange == null) { treeChange = new TreeChangeImpl(parent); myChangedElements.put(parent, treeChange); - insertAtList(parent); final int index = depth >= 0 ? depth : getDepth(parent); addToEqualsDepthList(index, parent); @@ -221,7 +203,6 @@ public class TreeChangeEventImpl implements TreeChangeEvent{ private void removeAssociatedChanges(ASTNode treeElement, int depth) { if(myChangedElements.remove(treeElement) != null) { - myChangedInOrder.remove(treeElement); if (depth < 0) depth = getDepth(treeElement); if (depth < myOfEqualDepth.size()) { myOfEqualDepth.get(depth < 0 ? getDepth(treeElement) : depth).remove(treeElement); @@ -229,41 +210,6 @@ public class TreeChangeEventImpl implements TreeChangeEvent{ } } - private void insertAtList(ASTNode node){ - if (!myChangedInOrder.isEmpty()) { - final int[] nodeRoute = getRoute(node); - for (int index = 0; index < myChangedInOrder.size(); index++) { - final ASTNode current = myChangedInOrder.get(index); - final int[] route = getRoute(current); - if (compareRoutes(nodeRoute, route) < 0) { - myChangedInOrder.add(index, node); - return; - } - } - } - myChangedInOrder.add(node); - } - - private static int[] getRoute(ASTNode node){ - final List parents = new ArrayList(20); - while(node != null){ - parents.add(node); - node = node.getTreeParent(); - } - final int[] root = new int[parents.size() - 1]; - for(int i = 0; i < root.length; i++){ - final ASTNode parent = parents.get(root.length - i - 1); - int rootIndex = 0; - ASTNode current = parent.getTreeParent().getFirstChildNode(); - while(current != parent){ - current = current.getTreeNext(); - rootIndex++; - } - root[i] = rootIndex; - } - return root; - } - private static int[] getRoute(ASTNode node, TObjectIntHashMap index){ final List parents = new ArrayList(20); while(node != null){ @@ -361,7 +307,6 @@ public class TreeChangeEventImpl implements TreeChangeEvent{ for (final Map.Entry entry : changedElements.entrySet()) { final ASTNode changed = entry.getKey(); myChangedElements.put(changed, entry.getValue()); - insertAtList(changed); addToEqualsDepthList(depth, changed); compactChanges(changed, depth); }