Author: sco...@google.com Date: Tue Mar 31 09:44:02 2009 New Revision: 5125
Modified: changes/scottb/memory/dev/core/src/com/google/gwt/dev/javac/CompilationState.java changes/scottb/memory/dev/core/src/com/google/gwt/dev/javac/JavaSourceOracle.java changes/scottb/memory/dev/core/src/com/google/gwt/dev/javac/impl/JavaSourceOracleImpl.java changes/scottb/memory/dev/core/src/com/google/gwt/dev/resource/ResourceOracle.java changes/scottb/memory/dev/core/src/com/google/gwt/dev/resource/impl/ResourceOracleImpl.java changes/scottb/memory/dev/core/test/com/google/gwt/dev/javac/MockJavaSourceOracle.java changes/scottb/memory/dev/core/test/com/google/gwt/dev/javac/impl/MockResourceOracle.java changes/scottb/memory/dev/core/test/com/google/gwt/dev/shell/StandardGeneratorContextTest.java Log: Free up ResourceOracle, JavaSourceOracle, more CompilationState. Conflicts: dev/core/src/com/google/gwt/dev/javac/CompilationState.java dev/core/test/com/google/gwt/dev/javac/impl/MockResourceOracle.java Modified: changes/scottb/memory/dev/core/src/com/google/gwt/dev/javac/CompilationState.java ============================================================================== --- changes/scottb/memory/dev/core/src/com/google/gwt/dev/javac/CompilationState.java (original) +++ changes/scottb/memory/dev/core/src/com/google/gwt/dev/javac/CompilationState.java Tue Mar 31 09:44:02 2009 @@ -138,9 +138,12 @@ it.remove(); } } + unitMap.clear(); updateExposedUnits(); jdtCompiler = null; mediator = new TypeOracleMediator(); + sourceOracle.clear(); + invalidatorState = new CompilationUnitInvalidator.InvalidatorState(); } /** Modified: changes/scottb/memory/dev/core/src/com/google/gwt/dev/javac/JavaSourceOracle.java ============================================================================== --- changes/scottb/memory/dev/core/src/com/google/gwt/dev/javac/JavaSourceOracle.java (original) +++ changes/scottb/memory/dev/core/src/com/google/gwt/dev/javac/JavaSourceOracle.java Tue Mar 31 09:44:02 2009 @@ -51,6 +51,12 @@ public interface JavaSourceOracle { /** + * Frees up all existing resources and transient internal state. The + * underlying ResourceOracle must be refreshed to be valid again. + */ + void clear(); + + /** * Returns an unmodifiable set of fully-qualified class names with constant * lookup time. */ Modified: changes/scottb/memory/dev/core/src/com/google/gwt/dev/javac/impl/JavaSourceOracleImpl.java ============================================================================== --- changes/scottb/memory/dev/core/src/com/google/gwt/dev/javac/impl/JavaSourceOracleImpl.java (original) +++ changes/scottb/memory/dev/core/src/com/google/gwt/dev/javac/impl/JavaSourceOracleImpl.java Tue Mar 31 09:44:02 2009 @@ -141,6 +141,15 @@ this.oracle = oracle; } + public void clear() { + cachedResources = Collections.emptySet(); + exposedClassNames = Collections.emptySet(); + exposedSourceFiles = Collections.emptySet(); + exposedSourceMap = Collections.emptyMap(); + sourceFiles.clear(); + oracle.clear(); + } + public Set<String> getClassNames() { refresh(); return exposedClassNames; Modified: changes/scottb/memory/dev/core/src/com/google/gwt/dev/resource/ResourceOracle.java ============================================================================== --- changes/scottb/memory/dev/core/src/com/google/gwt/dev/resource/ResourceOracle.java (original) +++ changes/scottb/memory/dev/core/src/com/google/gwt/dev/resource/ResourceOracle.java Tue Mar 31 09:44:02 2009 @@ -56,6 +56,12 @@ public interface ResourceOracle { /** + * Frees up all existing resources and transient internal state. This + * ResourceOracle must be refreshed to be valid again. + */ + void clear(); + + /** * Returns an unmodifiable set of unique abstract path names with constant * lookup time. */ Modified: changes/scottb/memory/dev/core/src/com/google/gwt/dev/resource/impl/ResourceOracleImpl.java ============================================================================== --- changes/scottb/memory/dev/core/src/com/google/gwt/dev/resource/impl/ResourceOracleImpl.java (original) +++ changes/scottb/memory/dev/core/src/com/google/gwt/dev/resource/impl/ResourceOracleImpl.java Tue Mar 31 09:44:02 2009 @@ -270,6 +270,13 @@ this(getAllClassPathEntries(logger, classLoader)); } + public void clear() { + exposedPathNames = Collections.emptySet(); + exposedResourceMap = Collections.emptyMap(); + exposedResources = Collections.emptySet(); + internalMap = Collections.emptyMap(); + } + public Set<String> getPathNames() { return exposedPathNames; } Modified: changes/scottb/memory/dev/core/test/com/google/gwt/dev/javac/MockJavaSourceOracle.java ============================================================================== --- changes/scottb/memory/dev/core/test/com/google/gwt/dev/javac/MockJavaSourceOracle.java (original) +++ changes/scottb/memory/dev/core/test/com/google/gwt/dev/javac/MockJavaSourceOracle.java Tue Mar 31 09:44:02 2009 @@ -38,6 +38,9 @@ add(sourceFiles); } + public void clear() { + } + public Set<String> getClassNames() { return exportedMap.keySet(); } Modified: changes/scottb/memory/dev/core/test/com/google/gwt/dev/javac/impl/MockResourceOracle.java ============================================================================== --- changes/scottb/memory/dev/core/test/com/google/gwt/dev/javac/impl/MockResourceOracle.java (original) +++ changes/scottb/memory/dev/core/test/com/google/gwt/dev/javac/impl/MockResourceOracle.java Tue Mar 31 09:44:02 2009 @@ -38,6 +38,9 @@ add(resources); } + public void clear() { + } + public Set<String> getPathNames() { return exportedMap.keySet(); } Modified: changes/scottb/memory/dev/core/test/com/google/gwt/dev/shell/StandardGeneratorContextTest.java ============================================================================== --- changes/scottb/memory/dev/core/test/com/google/gwt/dev/shell/StandardGeneratorContextTest.java (original) +++ changes/scottb/memory/dev/core/test/com/google/gwt/dev/shell/StandardGeneratorContextTest.java Tue Mar 31 09:44:02 2009 @@ -57,6 +57,9 @@ public MockCompilationState() { super(TreeLogger.NULL, new JavaSourceOracle() { + public void clear() { + } + public Set<String> getClassNames() { return Collections.emptySet(); } @@ -123,12 +126,12 @@ public InputStream openContents() { return new ByteArrayInputStream(Util.getBytes("w00t!")); } - + @Override public boolean wasRerooted() { return false; } - + }; } return null; --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~----------~----~----~----~------~----~------~--~---