From adb048e8160c8f9cc8057cf7ba93882c932be8c1 Mon Sep 17 00:00:00 2001 From: Dmitry Boulytchev Date: Mon, 25 Jun 2012 11:01:10 +0400 Subject: [PATCH] Fixed bug in integrate. More to fix (compile server). --- .../ether/dependencyView/Mappings.java | 38 ++++++------------- 1 file changed, 11 insertions(+), 27 deletions(-) diff --git a/jps/model/src/org/jetbrains/ether/dependencyView/Mappings.java b/jps/model/src/org/jetbrains/ether/dependencyView/Mappings.java index 46dbf69fcb4d..af3d290d61e3 100644 --- a/jps/model/src/org/jetbrains/ether/dependencyView/Mappings.java +++ b/jps/model/src/org/jetbrains/ether/dependencyView/Mappings.java @@ -1940,10 +1940,6 @@ public class Mappings { final IntIntMultiMaplet dependenciesTrashBin) { final int className = cr.name; - //for (final int superSomething : cr.getSupers()) { - // subclassesTrashBin.put(superSomething, className); - //} - for (final int superSomething : cr.getSupers()) { delta.registerRemovedSuperClass(className, superSomething); } @@ -1965,7 +1961,6 @@ public class Mappings { delta.runPostPasses(); final IntIntMultiMaplet dependenciesTrashBin = new IntIntTransientMultiMaplet(); - //final IntIntMultiMaplet subclassesTrashBin = new IntIntTransientMultiMaplet(); if (removed != null) { for (final String file : removed) { @@ -2000,20 +1995,9 @@ public class Mappings { cleanupRemovedClass(delta, repr, null, dependenciesTrashBin); } - //subclassesTrashBin.forEachEntry(new TIntObjectProcedure() { - // @Override - // public boolean execute(int aClass, TIntHashSet deps) { - // myClassToSubclasses.removeAll(aClass, deps); - // return true; - // } - //}); - //subclassesTrashBin.close(); - - delta.getChangedClasses().forEach(new TIntProcedure() { + delta.myClassToSubclasses.forEachEntry(new TIntObjectProcedure() { @Override - public boolean execute(final int className) { - TIntHashSet s = delta.myClassToSubclasses.get(className); - + public boolean execute(final int className, final TIntHashSet s) { final TIntHashSet newSubClasses = s == null ? new TIntHashSet() : s; final TIntHashSet oldSubClasses = myClassToSubclasses.get(className); @@ -2038,6 +2022,15 @@ public class Mappings { myClassToSubclasses.replace(className, newSubClasses); } + return true; + } + }); + + delta.getChangedClasses().forEach(new TIntProcedure() { + @Override + public boolean execute(final int className) { + final TIntHashSet s = delta.myClassToSubclasses.get(className); + final int sourceFile = delta.myClassToSourceFile.get(className); if (sourceFile > 0) { myClassToSourceFile.put(className, sourceFile); @@ -2099,15 +2092,6 @@ public class Mappings { }); } else { - //subclassesTrashBin.forEachEntry(new TIntObjectProcedure() { - // @Override - // public boolean execute(int aClass, TIntHashSet deps) { - // myClassToSubclasses.removeAll(aClass, deps); - // return true; - // } - //}); - //subclassesTrashBin.close(); - myClassToSubclasses.putAll(delta.myClassToSubclasses); myClassToSourceFile.putAll(delta.myClassToSourceFile);