mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Fix for 103024: NPE in indexerEncoderUtil.nodeInVisitedExternalEheader
Project was not being set when creating indexer in IndexManager#getDefaultIndexer().
This commit is contained in:
parent
ca3d6ea937
commit
ecb664818a
7 changed files with 42 additions and 4 deletions
|
@ -1,3 +1,14 @@
|
|||
2005-07-14 Vladimir Hirsl
|
||||
Fix for 103024: NPE in indexerEncoderUtil.nodeInVisitedExternalEheader
|
||||
Project was not being set when creating indexer in IndexManager#getDefaultIndexer().
|
||||
|
||||
* index/org/eclipse/cdt/core/index/ICDTIndexer.java
|
||||
* index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsIndexer.java
|
||||
* index/org/eclipse/cdt/internal/core/index/domsourceindexer/DOMSourceIndexer.java
|
||||
* index/org/eclipse/cdt/internal/core/index/nullindexer/NullIndexer.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/IndexManager.java
|
||||
* src/org/eclipse/cdt/internal/core/InternalCExtension.java
|
||||
|
||||
2005-07-14 Vladimir Hirsl
|
||||
Fix for 95826: indexer message "File not indexed because it was not built" won't go away
|
||||
Info marker was missing INDEXER_MARKER_ORIGINATOR attribute.
|
||||
|
|
|
@ -174,5 +174,11 @@ public interface ICDTIndexer {
|
|||
*/
|
||||
public void saveIndex(IIndex index) throws IOException;
|
||||
|
||||
|
||||
/**
|
||||
* Associate a project with indexer
|
||||
*
|
||||
* @param project
|
||||
*/
|
||||
public void setIndexerProject(IProject project);
|
||||
|
||||
}
|
||||
|
|
|
@ -29,6 +29,7 @@ import org.eclipse.cdt.core.index.IIndexStorage;
|
|||
import org.eclipse.cdt.core.index.IndexChangeEvent;
|
||||
import org.eclipse.cdt.core.model.ICModelMarker;
|
||||
import org.eclipse.cdt.internal.core.ConsoleOutputSniffer;
|
||||
import org.eclipse.cdt.internal.core.InternalCExtension;
|
||||
import org.eclipse.cdt.internal.core.Util;
|
||||
import org.eclipse.cdt.internal.core.index.IIndex;
|
||||
import org.eclipse.cdt.internal.core.index.cindexstorage.CIndexStorage;
|
||||
|
@ -556,4 +557,11 @@ public class CTagsIndexer extends AbstractCExtension implements ICDTIndexer {
|
|||
//Nothing yet
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.index.ICDTIndexer#setIndexerProject(org.eclipse.core.resources.IProject)
|
||||
*/
|
||||
public void setIndexerProject(IProject project) {
|
||||
setProject(project);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -658,5 +658,12 @@ public class DOMSourceIndexer extends AbstractCExtension implements ICDTIndexer
|
|||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.index.ICDTIndexer#setIndexerProject(org.eclipse.core.resources.IProject)
|
||||
*/
|
||||
public void setIndexerProject(IProject project) {
|
||||
setProject(project);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -122,4 +122,9 @@ public class NullIndexer extends AbstractCExtension implements ICDTIndexer {
|
|||
// TODO Auto-generated method stub
|
||||
}
|
||||
|
||||
public void setIndexerProject(IProject project) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -419,6 +419,7 @@ public class IndexManager extends JobManager{
|
|||
for (int i = 0; i < element.length; i++) {
|
||||
if (element[i].getName().equalsIgnoreCase("cextension")) { //$NON-NLS-1$
|
||||
indexer = (ICDTIndexer) element[i].createExecutableExtension("run"); //$NON-NLS-1$
|
||||
indexer.setIndexerProject(project);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -433,7 +434,7 @@ public class IndexManager extends JobManager{
|
|||
ICDTIndexer indexer = null;
|
||||
try{
|
||||
ICDescriptor cdesc = CCorePlugin.getDefault().getCProjectDescription(project,true);
|
||||
ICExtensionReference[] cextensions = cdesc.get(CCorePlugin.INDEXER_UNIQ_ID, true);
|
||||
ICExtensionReference[] cextensions = cdesc.get(CCorePlugin.INDEXER_UNIQ_ID, false);
|
||||
|
||||
if (cextensions != null && cextensions.length > 0)
|
||||
indexer = (ICDTIndexer) cextensions[0].createExtension();
|
||||
|
@ -492,7 +493,7 @@ public class IndexManager extends JobManager{
|
|||
monitor.enterWrite();
|
||||
try{
|
||||
//Purge the old indexer from the indexer map
|
||||
Object e = indexerMap.remove(project);
|
||||
indexerMap.remove(project);
|
||||
} finally {
|
||||
monitor.exitWrite();
|
||||
final ICDTIndexer indexer = this.getIndexerForProject(project);
|
||||
|
|
|
@ -19,7 +19,7 @@ public abstract class InternalCExtension extends PlatformObject {
|
|||
private IProject fProject;
|
||||
private ICExtensionReference extensionRef;
|
||||
|
||||
void setProject(IProject project) {
|
||||
protected void setProject(IProject project) {
|
||||
fProject = project;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue