diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/Bug246129.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/Bug246129.java index 99bd2d508a6..4148be8508f 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/Bug246129.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/Bug246129.java @@ -1,3 +1,13 @@ +/******************************************************************************* + * Copyright (c) 2009 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Markus Schorn - initial API and implementation + *******************************************************************************/ package org.eclipse.cdt.internal.index.tests; import java.io.File; @@ -62,6 +72,7 @@ public class Bug246129 extends IndexTestBase { super(name); } + @Override protected void setUp() throws Exception { super.setUp(); if (fProject == null) { @@ -131,7 +142,7 @@ public class Bug246129 extends IndexTestBase { fExternalIncludeFolder.getAbsolutePath() }; IndexerPreferences.set(fProject.getProject(), - IndexerPreferences.KEY_INDEX_ALL_FILES, "false"); + IndexerPreferences.KEY_INDEX_UNUSED_HEADERS_WITH_DEFAULT_LANG, "false"); File falseFriendDirectory = new File(fWrapperIncludeFolder .getLocation().toOSString() @@ -145,6 +156,7 @@ public class Bug246129 extends IndexTestBase { } } + @Override protected void tearDown() throws Exception { fExternalWrapperHeader.delete(); fExternalWrapperIncludeFolder.delete(); diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexBindingResolutionTestBase.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexBindingResolutionTestBase.java index 01e627dd17c..1cf4a4a3a63 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexBindingResolutionTestBase.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexBindingResolutionTestBase.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 Symbian Software Systems and others. + * Copyright (c) 2006, 2009 Symbian Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -345,7 +345,6 @@ public abstract class IndexBindingResolutionTestBase extends BaseTestCase { pd.setReferencedProjects(refs); cproject.getProject().setDescription(pd, new NullProgressMonitor()); - IndexerPreferences.set(cproject.getProject(), IndexerPreferences.KEY_INDEX_ALL_FILES, "true"); IndexerPreferences.set(cproject.getProject(), IndexerPreferences.KEY_INDEXER_ID, IPDOMManager.ID_FAST_INDEXER); CCorePlugin.getIndexManager().reindex(cproject); assertTrue(CCorePlugin.getIndexManager().joinIndexer(360000, new NullProgressMonitor())); @@ -366,7 +365,6 @@ public abstract class IndexBindingResolutionTestBase extends BaseTestCase { String content = testData[0].toString(); IFile file = TestSourceReader.createFile(referenced.getProject(), new Path("header.h"), content); - IndexerPreferences.set(referenced.getProject(), IndexerPreferences.KEY_INDEX_ALL_FILES, "true"); IndexerPreferences.set(referenced.getProject(), IndexerPreferences.KEY_INDEXER_ID, IPDOMManager.ID_FAST_INDEXER); CCorePlugin.getIndexManager().reindex(referenced); diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexIncludeTest.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexIncludeTest.java index 02e80770e48..453be8aff61 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexIncludeTest.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexIncludeTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -81,11 +81,11 @@ public class IndexIncludeTest extends IndexTestBase { public void testFastIndexer() throws Exception { CCorePlugin.getIndexManager().setIndexerId(fProject, IPDOMManager.ID_FAST_INDEXER); - IndexerPreferences.set(fProject.getProject(), IndexerPreferences.KEY_INDEX_ALL_FILES, "false"); + IndexerPreferences.set(fProject.getProject(), IndexerPreferences.KEY_INDEX_UNUSED_HEADERS_WITH_DEFAULT_LANG, "false"); waitForIndexer(); checkHeader(false); - IndexerPreferences.set(fProject.getProject(), IndexerPreferences.KEY_INDEX_ALL_FILES, "true"); + IndexerPreferences.set(fProject.getProject(), IndexerPreferences.KEY_INDEX_UNUSED_HEADERS_WITH_DEFAULT_LANG, "true"); waitForIndexer(); checkHeader(true); @@ -98,11 +98,11 @@ public class IndexIncludeTest extends IndexTestBase { public void testFullIndexer() throws Exception { CCorePlugin.getIndexManager().setIndexerId(fProject, IPDOMManager.ID_FULL_INDEXER); - IndexerPreferences.set(fProject.getProject(), IndexerPreferences.KEY_INDEX_ALL_FILES, "false"); + IndexerPreferences.set(fProject.getProject(), IndexerPreferences.KEY_INDEX_UNUSED_HEADERS_WITH_DEFAULT_LANG, "false"); waitForIndexer(); checkHeader(false); - IndexerPreferences.set(fProject.getProject(), IndexerPreferences.KEY_INDEX_ALL_FILES, "true"); + IndexerPreferences.set(fProject.getProject(), IndexerPreferences.KEY_INDEX_UNUSED_HEADERS_WITH_DEFAULT_LANG, "true"); waitForIndexer(); checkHeader(true); @@ -261,7 +261,7 @@ public class IndexIncludeTest extends IndexTestBase { TestSourceReader.createFile(fProject.getProject(), "included_20070404.h", content1); TestSourceReader.createFile(fProject.getProject(), "notIncluded_20070404.h", "int notIncluded_20070404\n;"); TestSourceReader.createFile(fProject.getProject(), "includer_20070404.cpp", content3); - IndexerPreferences.set(fProject.getProject(), IndexerPreferences.KEY_INDEX_ALL_FILES, "false"); + IndexerPreferences.set(fProject.getProject(), IndexerPreferences.KEY_INDEX_UNUSED_HEADERS_WITH_DEFAULT_LANG, "false"); CCorePlugin.getIndexManager().reindex(fProject); waitForIndexer(); diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/TrilogyPerformanceTest.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/TrilogyPerformanceTest.java index 0ca9bd2dd9f..8ddcced2c9c 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/TrilogyPerformanceTest.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/TrilogyPerformanceTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 Symbian Software Systems and others. + * Copyright (c) 2006, 2009 Symbian Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -39,6 +39,7 @@ public class TrilogyPerformanceTest extends IndexTestBase { super("TrilogyPerformance"); } + @Override protected void setUp() throws Exception { super.setUp(); Bundle b = CTestPlugin.getDefault().getBundle(); @@ -47,6 +48,7 @@ public class TrilogyPerformanceTest extends IndexTestBase { } } + @Override protected void tearDown() throws Exception { cproject.getProject().delete(true, new NullProgressMonitor()); super.tearDown(); @@ -57,7 +59,7 @@ public class TrilogyPerformanceTest extends IndexTestBase { if(Platform.getOS().equals(Platform.OS_WIN32)) { assertTrue(CCorePlugin.getIndexManager().joinIndexer(360000, new NullProgressMonitor())); TestScannerProvider.sIncludes = new String[]{EnvironmentReader.getEnvVar("INETSDK")+"\\Include"}; - IndexerPreferences.set(cproject.getProject(), IndexerPreferences.KEY_INDEX_ALL_FILES, "true"); + IndexerPreferences.set(cproject.getProject(), IndexerPreferences.KEY_INDEX_UNUSED_HEADERS_WITH_DEFAULT_LANG, "true"); long start = System.currentTimeMillis(); CCorePlugin.getIndexManager().reindex(cproject); assertTrue(CCorePlugin.getIndexManager().joinIndexer(360000, new NullProgressMonitor())); diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/pdom/tests/CPPClassTemplateTests.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/pdom/tests/CPPClassTemplateTests.java index 765b73bacd5..d950037ed81 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/pdom/tests/CPPClassTemplateTests.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/pdom/tests/CPPClassTemplateTests.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 Symbian Software Systems and others. + * Copyright (c) 2007, 2009 Symbian Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -64,7 +64,6 @@ public class CPPClassTemplateTests extends PDOMTestBase { for(int i=0; i fFileInfos= new HashMap(); @@ -180,12 +184,18 @@ public abstract class AbstractIndexerTask extends PDOMWriter { updateRequestedFiles(fFilesToUpdate.length + fFilesToRemove.size()); } - public final void setIndexHeadersWithoutContext(boolean val) { - fIndexHeadersWithoutContext= val; + public final void setIndexHeadersWithoutContext(UnusedHeaderStrategy mode) { + fIndexHeadersWithoutContext= mode; } public final void setIndexFilesWithoutBuildConfiguration(boolean val) { fIndexFilesWithoutConfiguration= val; } + public UnusedHeaderStrategy getIndexHeadersWithoutContext() { + return fIndexHeadersWithoutContext; + } + public boolean indexFilesWithoutConfiguration() { + return fIndexFilesWithoutConfiguration; + } public final void setUpdateFlags(int flags) { fUpdateFlags= flags; } @@ -271,7 +281,7 @@ public abstract class AbstractIndexerTask extends PDOMWriter { public final void runTask(IProgressMonitor monitor) throws InterruptedException { if (!fIndexFilesWithoutConfiguration) { - fIndexHeadersWithoutContext= false; + fIndexHeadersWithoutContext= UnusedHeaderStrategy.skip; } fIndex= createIndex(); @@ -334,9 +344,9 @@ public abstract class AbstractIndexerTask extends PDOMWriter { final boolean isExcludedSource= isSourceUnit && !fIndexFilesWithoutConfiguration && !fResolver.isFileBuildConfigured(tu); final IIndexFragmentFile[] indexFiles= fIndex.getWritableFiles(ifl); - if ((isSourceUnit && !isExcludedSource) || fIndexHeadersWithoutContext) { + if ((isSourceUnit && !isExcludedSource) || fIndexHeadersWithoutContext != UnusedHeaderStrategy.skip) { // headers or sources required with a specific linkage - AbstractLanguage[] langs= fResolver.getLanguages(tu); + AbstractLanguage[] langs= fResolver.getLanguages(tu, fIndexHeadersWithoutContext==UnusedHeaderStrategy.useBoth); for (AbstractLanguage lang : langs) { int linkageID = lang.getLinkageID(); IIndexFragmentFile ifile= getFile(linkageID, indexFiles); @@ -641,7 +651,7 @@ public abstract class AbstractIndexerTask extends PDOMWriter { private void parseFile(Object tu, int linkageID, IIndexFileLocation ifl, IScannerInfo scanInfo, IProgressMonitor pm) throws CoreException, InterruptedException { IPath path= getPathForLabel(ifl); - AbstractLanguage[] langs= fResolver.getLanguages(tu); + AbstractLanguage[] langs= fResolver.getLanguages(tu, fIndexHeadersWithoutContext==UnusedHeaderStrategy.useBoth); AbstractLanguage lang= null; for (AbstractLanguage lang2 : langs) { if (lang2.getLinkageID() == linkageID) { diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/IndexerInputAdapter.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/IndexerInputAdapter.java index 47180905fa8..abd0618fc61 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/IndexerInputAdapter.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/IndexerInputAdapter.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2009 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -58,7 +58,7 @@ public abstract class IndexerInputAdapter extends ASTFilePathResolver { /** * Obtains the languages the input file should be parsed with. */ - public abstract AbstractLanguage[] getLanguages(Object tu); + public abstract AbstractLanguage[] getLanguages(Object tu, boolean bothForHeaders); /** * Obtains the scanner configuration for the input file. diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/NotifyCModelManagerTask.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/NotifyCModelManagerTask.java new file mode 100644 index 00000000000..9c072395056 --- /dev/null +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/NotifyCModelManagerTask.java @@ -0,0 +1,54 @@ +/******************************************************************************* + * Copyright (c) 2009 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Markus Schorn - initial API and implementation + *******************************************************************************/ +package org.eclipse.cdt.internal.core.pdom; + +import org.eclipse.cdt.core.CCorePlugin; +import org.eclipse.cdt.core.dom.IPDOMIndexer; +import org.eclipse.cdt.core.dom.IPDOMIndexerTask; +import org.eclipse.cdt.internal.core.model.CModelManager; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.ProjectScope; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.content.IContentType; +import org.eclipse.core.runtime.content.IContentTypeManager.ContentTypeChangeEvent; + +/** + * Task to notify the CModel manager of changes to the content types. + * + */ +public class NotifyCModelManagerTask implements IPDOMIndexerTask { + private final IProject fProject; + + public NotifyCModelManagerTask(IProject prj) { + fProject= prj; + } + + public IPDOMIndexer getIndexer() { + return null; + } + + public IndexerProgress getProgressInformation() { + return new IndexerProgress(); + } + + public void run(IProgressMonitor monitor) throws InterruptedException { + IContentType ct1= Platform.getContentTypeManager().getContentType(CCorePlugin.CONTENT_TYPE_CXXHEADER); + IContentType ct2= Platform.getContentTypeManager().getContentType(CCorePlugin.CONTENT_TYPE_CXXSOURCE); + if (ct1 != null && ct2 != null) { + final ProjectScope scope = new ProjectScope(fProject); + CModelManager.getDefault().contentTypeChanged(new ContentTypeChangeEvent[] { + new ContentTypeChangeEvent(ct1, scope), + new ContentTypeChangeEvent(ct2, scope) + }); + } + } +} diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMManager.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMManager.java index 44bd1b5a79e..e6c820a1441 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMManager.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMManager.java @@ -6,7 +6,7 @@ * http://www.eclipse.org/legal/epl-v10.html * * Contributors: - * QNX - Initial API and implementation + * Doug Schaefer (QNX) - Initial API and implementation * Markus Schorn (Wind River Systems) * Andrew Ferguson (Symbian) * Sergey Prigogin (Google) @@ -21,7 +21,6 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.nio.channels.FileChannel; -import com.ibm.icu.text.MessageFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -33,6 +32,8 @@ import java.util.Map; import java.util.Properties; import java.util.Set; +import com.ibm.icu.text.MessageFormat; + import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.CCorePreferenceConstants; import org.eclipse.cdt.core.dom.ILinkage; @@ -73,6 +74,7 @@ import org.eclipse.cdt.internal.core.pdom.PDOM.IListener; import org.eclipse.cdt.internal.core.pdom.db.ChunkCache; import org.eclipse.cdt.internal.core.pdom.dom.IPDOMLinkageFactory; import org.eclipse.cdt.internal.core.pdom.dom.PDOMProjectIndexLocationConverter; +import org.eclipse.cdt.internal.core.pdom.indexer.AbstractPDOMIndexer; import org.eclipse.cdt.internal.core.pdom.indexer.IndexerPreferences; import org.eclipse.cdt.internal.core.pdom.indexer.PDOMNullIndexer; import org.eclipse.cdt.internal.core.pdom.indexer.PDOMRebuildTask; @@ -113,8 +115,6 @@ import org.eclipse.core.runtime.preferences.IEclipsePreferences.PreferenceChange * The PDOM Provider. This is likely temporary since I hope * to integrate the PDOM directly into the core once it has * stabilized. - * - * @author Doug Schaefer */ public class PDOMManager implements IWritableIndexManager, IListener { private static final class PerInstanceSchedulingRule implements ISchedulingRule { @@ -483,6 +483,12 @@ public class PDOMManager implements IWritableIndexManager, IListener { IPDOMIndexer indexer= createIndexer(cproject, newid, props); registerIndexer(cproject, indexer); createPolicy(cproject).clearTUs(); + if (oldIndexer instanceof AbstractPDOMIndexer) { + if (IndexerPreferences.preferDefaultLanguage(((AbstractPDOMIndexer) oldIndexer).getProperties()) != + IndexerPreferences.preferDefaultLanguage(props)) { + enqueue(new NotifyCModelManagerTask(cproject.getProject())); + } + } enqueue(new PDOMRebuildTask(indexer)); } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/AbstractPDOMIndexer.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/AbstractPDOMIndexer.java index 10df457cc99..e7d150107c1 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/AbstractPDOMIndexer.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/AbstractPDOMIndexer.java @@ -25,6 +25,9 @@ public abstract class AbstractPDOMIndexer implements IPDOMIndexer { protected Properties fProperties= new Properties(); public AbstractPDOMIndexer() { + fProperties.put(IndexerPreferences.KEY_INDEX_ALL_FILES, String.valueOf(true)); + fProperties.put(IndexerPreferences.KEY_INDEX_UNUSED_HEADERS_WITH_DEFAULT_LANG, String.valueOf(false)); + fProperties.put(IndexerPreferences.KEY_INDEX_UNUSED_HEADERS_WITH_ALTERNATE_LANG, String.valueOf(false)); fProperties.put(IndexerPreferences.KEY_INDEX_ALL_FILES, String.valueOf(false)); fProperties.put(IndexerPreferences.KEY_INCLUDE_HEURISTICS, String.valueOf(true)); fProperties.put(IndexerPreferences.KEY_FILES_TO_PARSE_UP_FRONT, ""); //$NON-NLS-1$ @@ -60,6 +63,10 @@ public abstract class AbstractPDOMIndexer implements IPDOMIndexer { } return false; } + + public Properties getProperties() { + return fProperties; + } public void setProperties(Properties props) { // only set relevant properties as initialized in the constructor diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/IndexerPreferences.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/IndexerPreferences.java index ac32ee0fcc7..67e63673a77 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/IndexerPreferences.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/IndexerPreferences.java @@ -45,6 +45,8 @@ public class IndexerPreferences { public static final String KEY_INDEXER_ID= "indexerId"; //$NON-NLS-1$ public static final String KEY_INDEX_ALL_FILES= "indexAllFiles"; //$NON-NLS-1$ + public static final String KEY_INDEX_UNUSED_HEADERS_WITH_DEFAULT_LANG= "indexUnusedHeadersWithDefaultLang"; //$NON-NLS-1$ + public static final String KEY_INDEX_UNUSED_HEADERS_WITH_ALTERNATE_LANG= "indexUnusedHeadersWithAlternateLang"; //$NON-NLS-1$ public static final String KEY_INCLUDE_HEURISTICS= "useHeuristicIncludeResolution"; //$NON-NLS-1$ public static final String KEY_FILES_TO_PARSE_UP_FRONT= "filesToParseUpFront"; //$NON-NLS-1$ public static final String KEY_SKIP_ALL_REFERENCES= "skipReferences"; //$NON-NLS-1$ @@ -159,11 +161,23 @@ public class IndexerPreferences { public static Properties getProperties(IProject project, int scope) { Preferences[] prefs= getPreferences(project, scope); Properties props= new Properties(); - for (int i=prefs.length-1; i>=0; i--) { + for (int i=0; iConfigure Workspace Settings... AbstractIndexerPage_heuristicIncludes=Allow heuristic resolution of includes -AbstractIndexerPage_indexAllFiles=Index all files (files neither built nor included, also) +AbstractIndexerPage_indexAllFiles=Index all sources, including files that are not part of the build +AbstractIndexerPage_indexAllHeaders=Index unused headers +AbstractIndexerPage_indexAllHeadersC=Index unused headers as c-files +AbstractIndexerPage_indexAllHeadersCpp=Index unused headers as c++-files AbstractIndexerPage_skipAllReferences=Skip all references (Call Hierarchy and Search will not work) AbstractIndexerPage_skipImplicitReferences=Skip implicit references (e.g. overloaded operators) AbstractIndexerPage_skipTypeReferences=Skip type references (Search for type references will not work)