1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Fix for 97281: [CTags Indexer] requires the project to be closed/opened to work

This commit is contained in:
Bogdan Gheorghe 2005-06-30 16:07:38 +00:00
parent fa4497f2fa
commit 0d77c8e7e2
2 changed files with 16 additions and 14 deletions

View file

@ -25,6 +25,7 @@ import org.eclipse.cdt.core.index.ICDTIndexer;
import org.eclipse.cdt.core.index.IIndexChangeListener;
import org.eclipse.cdt.core.index.IIndexStorage;
import org.eclipse.cdt.core.index.IndexChangeEvent;
import org.eclipse.cdt.core.model.CoreModel;
import org.eclipse.cdt.core.parser.util.ObjectSet;
import org.eclipse.cdt.internal.core.Util;
import org.eclipse.cdt.internal.core.index.IIndex;
@ -428,8 +429,21 @@ public class DOMSourceIndexer extends AbstractCExtension implements ICDTIndexer
break;
case ICDTIndexer.COMPILATION_UNIT:
//if the element has changed check to see if file is header, if it is don't schedule for index - update dependencies will
//take care of it.
//otherwise just schedule element for index
boolean shouldAddFile=false;
IFile file = (IFile) delta.getResource();
this.addSource(file, project.getFullPath());
if (delta.getKind()==IResourceDelta.CHANGED){
if (CoreModel.isValidSourceUnitName(project, file.getName()))
shouldAddFile=true;
} else {
shouldAddFile = true;
}
if (shouldAddFile){
this.addSource(file, project.getFullPath());
}
break;
}

View file

@ -618,19 +618,7 @@ public class DeltaProcessor {
break;
case ICElement.C_UNIT:
//if the element has changed check to see if file is header, if it is don't schedule for index - update dependencies will
//take care of it.
//otherwise just schedule element for index
boolean shouldAddFile=false;
IProject project = element.getCProject().getProject();
if (elementHasChanged){
if (CoreModel.isValidSourceUnitName(project, element.getElementName()))
shouldAddFile=true;
} else {
shouldAddFile = true;
}
if (shouldAddFile)
indexManager.addResourceEvent(project,delta, ICDTIndexer.COMPILATION_UNIT);
indexManager.addResourceEvent(element.getCProject().getProject(),delta, ICDTIndexer.COMPILATION_UNIT);
break;
}