diff options
-rw-r--r-- | org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/indexing/SourceIndexer.java | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/indexing/SourceIndexer.java b/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/indexing/SourceIndexer.java index e7b287534b..774ea9130f 100644 --- a/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/indexing/SourceIndexer.java +++ b/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/indexing/SourceIndexer.java @@ -157,7 +157,7 @@ public class SourceIndexer extends AbstractIndexer implements ITypeRequestor, Su this.basicParser.reportOnlyOneSyntaxError = true; this.basicParser.scanner.taskTags = null; this.cud = this.basicParser.parse(this.compilationUnit, new CompilationResult(this.compilationUnit, 0, 0, this.options.maxProblemsPerUnit)); - + JavaModelManager.getJavaModelManager().cacheZipFiles(this); // use model only for caching // Use a non model name environment to avoid locks, monitors and such. INameEnvironment nameEnvironment = IndexBasedJavaSearchEnvironment.create(Collections.singletonList((IJavaProject)javaProject), JavaModelManager.getJavaModelManager().getWorkingCopies(DefaultWorkingCopyOwner.PRIMARY, true/*add primary WCs*/)); this.lookupEnvironment = new LookupEnvironment(this, this.options, problemReporter, nameEnvironment); @@ -170,6 +170,8 @@ public class SourceIndexer extends AbstractIndexer implements ITypeRequestor, Su if (JobManager.VERBOSE) { e.printStackTrace(); } + } finally { + JavaModelManager.getJavaModelManager().flushZipFiles(this); } } |