Yet another fixed bug in integrate. More to fix (compile server).

This commit is contained in:
Dmitry Boulytchev
2012-06-25 12:06:28 +04:00
parent 802b94c42a
commit 79af8907f3
4 changed files with 27 additions and 19 deletions
@@ -271,7 +271,7 @@ public abstract class IncrementalTestCase extends TestCase {
rebuildDump.close();
//assertEquals(rebuildDump.toString(), makeDump.toString());
assertEquals(rebuildDump.toString(), makeDump.toString());
}
}
finally {
@@ -74,6 +74,10 @@ abstract class IntIntMultiMaplet implements Streamable {
for (final int a : keys) {
final TIntHashSet b = get(a);
if (b.size() == 0) {
continue;
}
stream.print(" Key: ");
stream.println(context.getValue(a));
stream.println(" Values:");
@@ -73,6 +73,11 @@ abstract class IntObjectMultiMaplet<V extends Streamable> implements Streamable
for (final int a : keys) {
final Collection<V> b = get(a);
if (b.size() == 0) {
continue;
}
stream.print(" Key: ");
stream.println(context.getValue(a));
stream.println(" Values:");
@@ -1995,10 +1995,25 @@ public class Mappings {
cleanupRemovedClass(delta, repr, null, dependenciesTrashBin);
}
delta.getRemovedSuperClasses().forEachEntry(new TIntObjectProcedure<TIntHashSet>() {
@Override
public boolean execute(final int a, final TIntHashSet b) {
if (!compiledClasses.contains(a)) {
final TIntHashSet old = myClassToSubclasses.get(a);
if (old != null) {
old.removeAll(b.toArray());
myClassToSubclasses.replace(a, old);
}
}
return true;
}
});
delta.myClassToSubclasses.forEachEntry(new TIntObjectProcedure<TIntHashSet>() {
@Override
public boolean execute(final int className, final TIntHashSet s) {
final TIntHashSet newSubClasses = s == null ? new TIntHashSet() : s;
public boolean execute(final int className, final TIntHashSet newSubClasses) {
final TIntHashSet oldSubClasses = myClassToSubclasses.get(className);
if (oldSubClasses != null) {
@@ -2074,22 +2089,6 @@ public class Mappings {
return true;
}
});
delta.getRemovedSuperClasses().forEachEntry(new TIntObjectProcedure<TIntHashSet>() {
@Override
public boolean execute(final int a, final TIntHashSet b) {
if (!compiledClasses.contains(a)) {
final TIntHashSet old = myClassToSubclasses.get(a);
if (old != null) {
old.removeAll(b.toArray());
myClassToSubclasses.replace(a, old);
}
}
return true;
}
});
}
else {
myClassToSubclasses.putAll(delta.myClassToSubclasses);