mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
RESOLVED - bug 258823: AbstractIndexerTask.runTask() breaks standalone indexer
https://bugs.eclipse.org/bugs/show_bug.cgi?id=258823
This commit is contained in:
parent
b21a58f049
commit
5945dd5813
2 changed files with 20 additions and 2 deletions
|
@ -17,6 +17,7 @@ import java.text.NumberFormat;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.core.dom.ILinkage;
|
||||||
import org.eclipse.cdt.core.model.AbstractLanguage;
|
import org.eclipse.cdt.core.model.AbstractLanguage;
|
||||||
import org.eclipse.cdt.core.model.ILanguage;
|
import org.eclipse.cdt.core.model.ILanguage;
|
||||||
import org.eclipse.cdt.core.parser.IParserLogService;
|
import org.eclipse.cdt.core.parser.IParserLogService;
|
||||||
|
@ -44,6 +45,10 @@ public abstract class StandaloneIndexerTask extends AbstractIndexerTask {
|
||||||
|
|
||||||
protected StandaloneIndexer fIndexer;
|
protected StandaloneIndexer fIndexer;
|
||||||
|
|
||||||
|
public static final int[] IDS_FOR_LINKAGES_TO_INDEX = {
|
||||||
|
ILinkage.CPP_LINKAGE_ID, ILinkage.C_LINKAGE_ID, ILinkage.FORTRAN_LINKAGE_ID
|
||||||
|
};
|
||||||
|
|
||||||
protected StandaloneIndexerTask(StandaloneIndexer indexer, Collection<String> added, Collection<String> changed, Collection<String> removed, boolean isFast) {
|
protected StandaloneIndexerTask(StandaloneIndexer indexer, Collection<String> added, Collection<String> changed, Collection<String> removed, boolean isFast) {
|
||||||
super(concat(added, changed), removed.toArray(), new StandaloneIndexerInputAdapter(indexer), isFast);
|
super(concat(added, changed), removed.toArray(), new StandaloneIndexerInputAdapter(indexer), isFast);
|
||||||
fIndexer= indexer;
|
fIndexer= indexer;
|
||||||
|
@ -234,5 +239,11 @@ public abstract class StandaloneIndexerTask extends AbstractIndexerTask {
|
||||||
return super.createDefaultScannerConfig(linkageID);
|
return super.createDefaultScannerConfig(linkageID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask#getLinkagesToParse()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
protected int[] getLinkagesToParse() {
|
||||||
|
return IDS_FOR_LINKAGES_TO_INDEX;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -237,7 +237,7 @@ public abstract class AbstractIndexerTask extends PDOMWriter {
|
||||||
removeFilesInIndex(fFilesToRemove, ifilesToRemove, monitor);
|
removeFilesInIndex(fFilesToRemove, ifilesToRemove, monitor);
|
||||||
|
|
||||||
parseFilesUpFront(monitor);
|
parseFilesUpFront(monitor);
|
||||||
for (int linkageID : PDOMManager.IDS_FOR_LINKAGES_TO_INDEX) {
|
for (int linkageID : getLinkagesToParse()) {
|
||||||
parseLinkage(linkageID, files, monitor);
|
parseLinkage(linkageID, files, monitor);
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
@ -820,4 +820,11 @@ public abstract class AbstractIndexerTask extends PDOMWriter {
|
||||||
protected IStatus createStatus(String msg) {
|
protected IStatus createStatus(String msg) {
|
||||||
return CCorePlugin.createStatus(msg);
|
return CCorePlugin.createStatus(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return array of linkage IDs that should be parsed
|
||||||
|
*/
|
||||||
|
protected int[] getLinkagesToParse() {
|
||||||
|
return PDOMManager.IDS_FOR_LINKAGES_TO_INDEX;
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Add table
Reference in a new issue