Aggressively clear transient state between runs. git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@2761 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/dev/javac/TypeOracleMediator.java b/dev/core/src/com/google/gwt/dev/javac/TypeOracleMediator.java index a58513c..885f0d4 100644 --- a/dev/core/src/com/google/gwt/dev/javac/TypeOracleMediator.java +++ b/dev/core/src/com/google/gwt/dev/javac/TypeOracleMediator.java
@@ -348,10 +348,7 @@ throws UnableToCompleteException { PerfLogger.start("TypeOracleMediator.refresh"); typeOracle.removeInvalidatedTypes(); - binaryMapper.clear(); - sourceMapper.clear(); - tvMapper.clear(); - unresolvedTypes.clear(); + clear(); // Perform a shallow pass to establish identity for new and old types. PerfLogger.start("TypeOracleMediator.refresh (shallow)"); @@ -390,6 +387,7 @@ } } } + clear(); PerfLogger.end(); try { @@ -402,6 +400,13 @@ PerfLogger.end(); } + private void clear() { + binaryMapper.clear(); + sourceMapper.clear(); + tvMapper.clear(); + unresolvedTypes.clear(); + } + private Object createAnnotationInstance(TreeLogger logger, Expression expression) { Annotation annotation = (Annotation) expression;