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;