diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/fast/PDOMFastHandleDelta.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/fast/PDOMFastHandleDelta.java index 0dc709d103f..d564c24fa2a 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/fast/PDOMFastHandleDelta.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/fast/PDOMFastHandleDelta.java @@ -37,6 +37,7 @@ class PDOMFastHandleDelta extends PDOMFastIndexerJob { public void run(IProgressMonitor monitor) { try { + setupIndexAndReaderFactory(); long start = System.currentTimeMillis(); Iterator i = changed.iterator(); while (i.hasNext()) { diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/fast/PDOMFastIndexerJob.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/fast/PDOMFastIndexerJob.java index d586067658f..613fabd8416 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/fast/PDOMFastIndexerJob.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/fast/PDOMFastIndexerJob.java @@ -40,14 +40,17 @@ import org.eclipse.core.runtime.IPath; abstract class PDOMFastIndexerJob extends PDOMIndexerTask implements IPDOMIndexerTask { protected final PDOMFastIndexer indexer; - protected final IWritableIndex index; - protected final IndexBasedCodeReaderFactory codeReaderFactory; + protected IWritableIndex index; + protected IndexBasedCodeReaderFactory codeReaderFactory; public PDOMFastIndexerJob(PDOMFastIndexer indexer) throws CoreException { this.indexer = indexer; + } + + protected void setupIndexAndReaderFactory() throws CoreException { this.index= ((IWritableIndexManager) CCorePlugin.getIndexManager()).getWritableIndex(indexer.getProject()); this.codeReaderFactory = new IndexBasedCodeReaderFactory(index); - } + } public IPDOMIndexer getIndexer() { return indexer; diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/fast/PDOMFastReindex.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/fast/PDOMFastReindex.java index 596e6181fb0..8341d05080c 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/fast/PDOMFastReindex.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/fast/PDOMFastReindex.java @@ -39,7 +39,7 @@ class PDOMFastReindex extends PDOMFastIndexerJob { public void run(final IProgressMonitor monitor) { try { long start = System.currentTimeMillis(); - + setupIndexAndReaderFactory(); clearIndex(index); fFilesToIndex--;