mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
200958: apply fix
This commit is contained in:
parent
c5bbb9ea48
commit
bdc1cb98a7
6 changed files with 138 additions and 69 deletions
|
@ -10,10 +10,6 @@
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.core.internal.index.provider.test;
|
package org.eclipse.cdt.core.internal.index.provider.test;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.eclipse.cdt.core.index.provider.IPDOMDescriptor;
|
import org.eclipse.cdt.core.index.provider.IPDOMDescriptor;
|
||||||
import org.eclipse.cdt.core.index.provider.IReadOnlyPDOMProvider;
|
import org.eclipse.cdt.core.index.provider.IReadOnlyPDOMProvider;
|
||||||
import org.eclipse.cdt.core.model.ICProject;
|
import org.eclipse.cdt.core.model.ICProject;
|
||||||
|
@ -24,30 +20,16 @@ import org.eclipse.core.runtime.CoreException;
|
||||||
* Provides no pdom descriptors, used for testing the behaviour of IndexManager over
|
* Provides no pdom descriptors, used for testing the behaviour of IndexManager over
|
||||||
* project lifecycles.
|
* project lifecycles.
|
||||||
*/
|
*/
|
||||||
public class DummyProvider1 implements IReadOnlyPDOMProvider {
|
public class AbstractDummyProvider implements IReadOnlyPDOMProvider {
|
||||||
static List prjTrace= Collections.synchronizedList(new ArrayList());
|
public AbstractDummyProvider() {}
|
||||||
static List cfgTrace= Collections.synchronizedList(new ArrayList());
|
|
||||||
|
|
||||||
public static void reset() {
|
|
||||||
prjTrace.clear();
|
|
||||||
cfgTrace.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static List getProjectsTrace() {
|
|
||||||
return prjTrace;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static List getCfgsTrace() {
|
|
||||||
return cfgTrace;
|
|
||||||
}
|
|
||||||
|
|
||||||
public IPDOMDescriptor[] getDescriptors(ICConfigurationDescription config) {
|
public IPDOMDescriptor[] getDescriptors(ICConfigurationDescription config) {
|
||||||
cfgTrace.add(config);
|
DummyProviderTraces.getInstance().getCfgsTrace(getClass()).add(config);
|
||||||
return new IPDOMDescriptor[0];
|
return new IPDOMDescriptor[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean providesFor(ICProject project) throws CoreException {
|
public boolean providesFor(ICProject project) throws CoreException {
|
||||||
prjTrace.add(project);
|
DummyProviderTraces.getInstance().getProjectsTrace(getClass()).add(project);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,49 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* Copyright (c) 2007 Symbian Software Ltd. 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:
|
||||||
|
* Andrew Ferguson (Symbian) - initial API and implementation
|
||||||
|
*******************************************************************************/
|
||||||
|
package org.eclipse.cdt.core.internal.index.provider.test;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class DummyProviderTraces {
|
||||||
|
static DummyProviderTraces instance = new DummyProviderTraces();
|
||||||
|
|
||||||
|
public static DummyProviderTraces getInstance() { return instance; }
|
||||||
|
|
||||||
|
private DummyProviderTraces() {}
|
||||||
|
|
||||||
|
Map/*<String, List>*/ id2prjTrace= new HashMap();
|
||||||
|
Map/*<String, List>*/ id2cfgTrace= new HashMap();
|
||||||
|
|
||||||
|
public List getProjectsTrace(Class provider) {
|
||||||
|
String key= provider.getName();
|
||||||
|
if(!id2prjTrace.containsKey(key)) {
|
||||||
|
id2prjTrace.put(key, Collections.synchronizedList(new ArrayList()));
|
||||||
|
}
|
||||||
|
return (List) id2prjTrace.get(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List getCfgsTrace(Class provider) {
|
||||||
|
String key= provider.getName();
|
||||||
|
if(!id2cfgTrace.containsKey(key)) {
|
||||||
|
id2cfgTrace.put(key, Collections.synchronizedList(new ArrayList()));
|
||||||
|
}
|
||||||
|
return (List) id2cfgTrace.get(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void reset(Class provider) {
|
||||||
|
getProjectsTrace(provider).clear();
|
||||||
|
getCfgsTrace(provider).clear();
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,19 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* Copyright (c) 2007 Symbian Software Ltd. 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:
|
||||||
|
* Andrew Ferguson (Symbian) - initial API and implementation
|
||||||
|
*******************************************************************************/
|
||||||
|
package org.eclipse.cdt.core.internal.index.provider.test;
|
||||||
|
|
||||||
|
public class Providers {
|
||||||
|
public static class Dummy1 extends AbstractDummyProvider {}
|
||||||
|
public static class Dummy2 extends AbstractDummyProvider {}
|
||||||
|
public static class Dummy3 extends AbstractDummyProvider {}
|
||||||
|
public static class Dummy4 extends AbstractDummyProvider {}
|
||||||
|
public static class Dummy5 extends AbstractDummyProvider {}
|
||||||
|
}
|
|
@ -27,7 +27,8 @@ import org.eclipse.cdt.core.cdtvariables.ICdtVariablesContributor;
|
||||||
import org.eclipse.cdt.core.dom.IPDOMManager;
|
import org.eclipse.cdt.core.dom.IPDOMManager;
|
||||||
import org.eclipse.cdt.core.index.IIndex;
|
import org.eclipse.cdt.core.index.IIndex;
|
||||||
import org.eclipse.cdt.core.index.provider.IIndexProvider;
|
import org.eclipse.cdt.core.index.provider.IIndexProvider;
|
||||||
import org.eclipse.cdt.core.internal.index.provider.test.DummyProvider1;
|
import org.eclipse.cdt.core.internal.index.provider.test.DummyProviderTraces;
|
||||||
|
import org.eclipse.cdt.core.internal.index.provider.test.Providers;
|
||||||
import org.eclipse.cdt.core.model.CoreModel;
|
import org.eclipse.cdt.core.model.CoreModel;
|
||||||
import org.eclipse.cdt.core.model.ICProject;
|
import org.eclipse.cdt.core.model.ICProject;
|
||||||
import org.eclipse.cdt.core.parser.util.ArrayUtil;
|
import org.eclipse.cdt.core.parser.util.ArrayUtil;
|
||||||
|
@ -67,6 +68,14 @@ import org.eclipse.core.runtime.QualifiedName;
|
||||||
* Example usage and test for IIndexProvider
|
* Example usage and test for IIndexProvider
|
||||||
*/
|
*/
|
||||||
public class IndexProviderManagerTest extends IndexTestBase {
|
public class IndexProviderManagerTest extends IndexTestBase {
|
||||||
|
final static DummyProviderTraces DPT= DummyProviderTraces.getInstance();
|
||||||
|
final static Class DP1= Providers.Dummy1.class;
|
||||||
|
final static Class DP2= Providers.Dummy2.class;
|
||||||
|
final static Class DP3= Providers.Dummy3.class;
|
||||||
|
final static Class DP4= Providers.Dummy4.class;
|
||||||
|
final static Class DP5= Providers.Dummy5.class;
|
||||||
|
final static Class[] DPS= new Class[] {DP4, DP2, DP1, DP3, DP5};
|
||||||
|
|
||||||
final CCorePlugin core= CCorePlugin.getDefault();
|
final CCorePlugin core= CCorePlugin.getDefault();
|
||||||
|
|
||||||
public IndexProviderManagerTest() {
|
public IndexProviderManagerTest() {
|
||||||
|
@ -77,8 +86,10 @@ public class IndexProviderManagerTest extends IndexTestBase {
|
||||||
return suite(IndexProviderManagerTest.class);
|
return suite(IndexProviderManagerTest.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testProvider_SimpleLifeCycle() throws Exception {
|
public void testProvider_SimpleLifeCycle_200958() throws Exception {
|
||||||
DummyProvider1.reset();
|
for(int i=0; i<DPS.length; i++)
|
||||||
|
DPT.reset(DPS[i]);
|
||||||
|
|
||||||
List cprojects = new ArrayList(), expectedTrace = new ArrayList();
|
List cprojects = new ArrayList(), expectedTrace = new ArrayList();
|
||||||
try {
|
try {
|
||||||
for(int i=0; i<3; i++) {
|
for(int i=0; i<3; i++) {
|
||||||
|
@ -87,12 +98,14 @@ public class IndexProviderManagerTest extends IndexTestBase {
|
||||||
cprojects.add(cproject);
|
cprojects.add(cproject);
|
||||||
expectedTrace.add(cproject);
|
expectedTrace.add(cproject);
|
||||||
}
|
}
|
||||||
assertEquals(expectedTrace, DummyProvider1.getProjectsTrace());
|
for(int i=0; i<DPS.length; i++)
|
||||||
|
assertEquals(expectedTrace, DPT.getProjectsTrace(DPS[i]));
|
||||||
for(int i=0; i<expectedTrace.size(); i++) {
|
for(int i=0; i<expectedTrace.size(); i++) {
|
||||||
ICProject cproject = (ICProject) expectedTrace.get(i);
|
ICProject cproject = (ICProject) expectedTrace.get(i);
|
||||||
IIndex index = CCorePlugin.getIndexManager().getIndex(cproject);
|
IIndex index = CCorePlugin.getIndexManager().getIndex(cproject);
|
||||||
}
|
}
|
||||||
assertEquals(expectedTrace, DummyProvider1.getProjectsTrace());
|
for(int i=0; i<DPS.length; i++)
|
||||||
|
assertEquals(expectedTrace, DPT.getProjectsTrace(DPS[i]));
|
||||||
} finally {
|
} finally {
|
||||||
for(int i=0; i<cprojects.size(); i++) {
|
for(int i=0; i<cprojects.size(); i++) {
|
||||||
ICProject cproject = (ICProject) expectedTrace.get(i);
|
ICProject cproject = (ICProject) expectedTrace.get(i);
|
||||||
|
@ -102,7 +115,8 @@ public class IndexProviderManagerTest extends IndexTestBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testProvider_OverDeleteAndAdd() throws Exception {
|
public void testProvider_OverDeleteAndAdd() throws Exception {
|
||||||
DummyProvider1.reset();
|
DPT.reset(DP1);
|
||||||
|
|
||||||
List expectedTrace = new ArrayList();
|
List expectedTrace = new ArrayList();
|
||||||
ICProject cproject = null;
|
ICProject cproject = null;
|
||||||
try {
|
try {
|
||||||
|
@ -110,13 +124,13 @@ public class IndexProviderManagerTest extends IndexTestBase {
|
||||||
cproject = CProjectHelper.createCProject(name, "bin", IPDOMManager.ID_NO_INDEXER);
|
cproject = CProjectHelper.createCProject(name, "bin", IPDOMManager.ID_NO_INDEXER);
|
||||||
IIndex index = CCorePlugin.getIndexManager().getIndex(cproject);
|
IIndex index = CCorePlugin.getIndexManager().getIndex(cproject);
|
||||||
expectedTrace.add(cproject);
|
expectedTrace.add(cproject);
|
||||||
assertEquals(expectedTrace, DummyProvider1.getProjectsTrace());
|
assertEquals(expectedTrace, DPT.getProjectsTrace(DP1));
|
||||||
|
|
||||||
cproject.getProject().delete(IResource.FORCE | IResource.ALWAYS_DELETE_PROJECT_CONTENT, new NullProgressMonitor());
|
cproject.getProject().delete(IResource.FORCE | IResource.ALWAYS_DELETE_PROJECT_CONTENT, new NullProgressMonitor());
|
||||||
cproject = CProjectHelper.createCProject(name, "bin", IPDOMManager.ID_NO_INDEXER);
|
cproject = CProjectHelper.createCProject(name, "bin", IPDOMManager.ID_NO_INDEXER);
|
||||||
index = CCorePlugin.getIndexManager().getIndex(cproject);
|
index = CCorePlugin.getIndexManager().getIndex(cproject);
|
||||||
expectedTrace.add(cproject);
|
expectedTrace.add(cproject);
|
||||||
assertEquals(expectedTrace, DummyProvider1.getProjectsTrace());
|
assertEquals(expectedTrace, DPT.getProjectsTrace(DP1));
|
||||||
} finally {
|
} finally {
|
||||||
if(cproject!=null) {
|
if(cproject!=null) {
|
||||||
cproject.getProject().delete(IResource.FORCE | IResource.ALWAYS_DELETE_PROJECT_CONTENT, new NullProgressMonitor());
|
cproject.getProject().delete(IResource.FORCE | IResource.ALWAYS_DELETE_PROJECT_CONTENT, new NullProgressMonitor());
|
||||||
|
@ -125,7 +139,7 @@ public class IndexProviderManagerTest extends IndexTestBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testProvider_OverMove() throws Exception {
|
public void testProvider_OverMove() throws Exception {
|
||||||
DummyProvider1.reset();
|
DPT.reset(DP1);
|
||||||
List cprojects = new ArrayList();
|
List cprojects = new ArrayList();
|
||||||
List expectedTrace = new ArrayList();
|
List expectedTrace = new ArrayList();
|
||||||
|
|
||||||
|
@ -139,7 +153,7 @@ public class IndexProviderManagerTest extends IndexTestBase {
|
||||||
cproject = CProjectHelper.createCProject(name, "bin", IPDOMManager.ID_NO_INDEXER);
|
cproject = CProjectHelper.createCProject(name, "bin", IPDOMManager.ID_NO_INDEXER);
|
||||||
IIndex index = CCorePlugin.getIndexManager().getIndex(cproject);
|
IIndex index = CCorePlugin.getIndexManager().getIndex(cproject);
|
||||||
expectedTrace.add(cproject);
|
expectedTrace.add(cproject);
|
||||||
assertEquals(expectedTrace, DummyProvider1.getProjectsTrace());
|
assertEquals(expectedTrace, DPT.getProjectsTrace(DP1));
|
||||||
|
|
||||||
// move the project to a random new location
|
// move the project to a random new location
|
||||||
File newLocation = CProjectHelper.freshDir();
|
File newLocation = CProjectHelper.freshDir();
|
||||||
|
@ -148,7 +162,7 @@ public class IndexProviderManagerTest extends IndexTestBase {
|
||||||
cproject.getProject().move(description, IResource.FORCE | IResource.SHALLOW, new NullProgressMonitor());
|
cproject.getProject().move(description, IResource.FORCE | IResource.SHALLOW, new NullProgressMonitor());
|
||||||
|
|
||||||
index = CCorePlugin.getIndexManager().getIndex(cproject);
|
index = CCorePlugin.getIndexManager().getIndex(cproject);
|
||||||
assertEquals(expectedTrace, DummyProvider1.getProjectsTrace());
|
assertEquals(expectedTrace, DPT.getProjectsTrace(DP1));
|
||||||
} finally {
|
} finally {
|
||||||
if(cproject!=null) {
|
if(cproject!=null) {
|
||||||
cproject.getProject().delete(IResource.FORCE | IResource.ALWAYS_DELETE_PROJECT_CONTENT, new NullProgressMonitor());
|
cproject.getProject().delete(IResource.FORCE | IResource.ALWAYS_DELETE_PROJECT_CONTENT, new NullProgressMonitor());
|
||||||
|
@ -170,46 +184,46 @@ public class IndexProviderManagerTest extends IndexTestBase {
|
||||||
index= CCorePlugin.getIndexManager().getIndex(cproject);
|
index= CCorePlugin.getIndexManager().getIndex(cproject);
|
||||||
CCorePlugin.getIndexManager().joinIndexer(8000, NPM);
|
CCorePlugin.getIndexManager().joinIndexer(8000, NPM);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
DummyProvider1.reset();
|
DPT.reset(DP1);
|
||||||
changeConfigRelations(project, ICProjectDescriptionPreferences.CONFIGS_LINK_SETTINGS_AND_ACTIVE);
|
changeConfigRelations(project, ICProjectDescriptionPreferences.CONFIGS_LINK_SETTINGS_AND_ACTIVE);
|
||||||
assertEquals(0, DummyProvider1.getProjectsTrace().size());
|
assertEquals(0, DPT.getProjectsTrace(DP1).size());
|
||||||
assertEquals(0, DummyProvider1.getCfgsTrace().size());
|
assertEquals(0, DPT.getCfgsTrace(DP1).size());
|
||||||
|
|
||||||
changeActiveConfiguration(project, cfg1);
|
changeActiveConfiguration(project, cfg1);
|
||||||
DummyProvider1.reset();
|
DPT.reset(DP1);
|
||||||
index= CCorePlugin.getIndexManager().getIndex(cproject);
|
index= CCorePlugin.getIndexManager().getIndex(cproject);
|
||||||
assertEquals(0, DummyProvider1.getProjectsTrace().size());
|
assertEquals(0, DPT.getProjectsTrace(DP1).size());
|
||||||
assertEquals(1, DummyProvider1.getCfgsTrace().size());
|
assertEquals(1, DPT.getCfgsTrace(DP1).size());
|
||||||
assertEquals("project.config1", ((ICConfigurationDescription)DummyProvider1.getCfgsTrace().get(0)).getId());
|
assertEquals("project.config1", ((ICConfigurationDescription)DPT.getCfgsTrace(DP1).get(0)).getId());
|
||||||
|
|
||||||
changeActiveConfiguration(project, cfg2);
|
changeActiveConfiguration(project, cfg2);
|
||||||
DummyProvider1.reset();
|
DPT.reset(DP1);
|
||||||
index= CCorePlugin.getIndexManager().getIndex(cproject);
|
index= CCorePlugin.getIndexManager().getIndex(cproject);
|
||||||
assertEquals(0, DummyProvider1.getProjectsTrace().size());
|
assertEquals(0, DPT.getProjectsTrace(DP1).size());
|
||||||
assertEquals(1, DummyProvider1.getCfgsTrace().size());
|
assertEquals(1, DPT.getCfgsTrace(DP1).size());
|
||||||
assertEquals("project.config2", ((ICConfigurationDescription)DummyProvider1.getCfgsTrace().get(0)).getId());
|
assertEquals("project.config2", ((ICConfigurationDescription)DPT.getCfgsTrace(DP1).get(0)).getId());
|
||||||
|
|
||||||
DummyProvider1.reset();
|
DPT.reset(DP1);
|
||||||
changeConfigRelations(project, ICProjectDescriptionPreferences.CONFIGS_INDEPENDENT);
|
changeConfigRelations(project, ICProjectDescriptionPreferences.CONFIGS_INDEPENDENT);
|
||||||
assertEquals(0, DummyProvider1.getProjectsTrace().size());
|
assertEquals(0, DPT.getProjectsTrace(DP1).size());
|
||||||
assertEquals(0, DummyProvider1.getCfgsTrace().size());
|
assertEquals(0, DPT.getCfgsTrace(DP1).size());
|
||||||
|
|
||||||
changeActiveConfiguration(project, cfg1);
|
changeActiveConfiguration(project, cfg1);
|
||||||
DummyProvider1.reset();
|
DPT.reset(DP1);
|
||||||
index= CCorePlugin.getIndexManager().getIndex(cproject);
|
index= CCorePlugin.getIndexManager().getIndex(cproject);
|
||||||
assertEquals(0, DummyProvider1.getProjectsTrace().size());
|
assertEquals(0, DPT.getProjectsTrace(DP1).size());
|
||||||
assertEquals(1, DummyProvider1.getCfgsTrace().size());
|
assertEquals(1, DPT.getCfgsTrace(DP1).size());
|
||||||
// should still be config2, as the change in active configuration does not matter
|
// should still be config2, as the change in active configuration does not matter
|
||||||
assertEquals("project.config2", ((ICConfigurationDescription)DummyProvider1.getCfgsTrace().get(0)).getId());
|
assertEquals("project.config2", ((ICConfigurationDescription)DPT.getCfgsTrace(DP1).get(0)).getId());
|
||||||
|
|
||||||
changeActiveConfiguration(project, cfg2);
|
changeActiveConfiguration(project, cfg2);
|
||||||
DummyProvider1.reset();
|
DPT.reset(DP1);
|
||||||
index= CCorePlugin.getIndexManager().getIndex(cproject);
|
index= CCorePlugin.getIndexManager().getIndex(cproject);
|
||||||
assertEquals(0, DummyProvider1.getProjectsTrace().size());
|
assertEquals(0, DPT.getProjectsTrace(DP1).size());
|
||||||
assertEquals(1, DummyProvider1.getCfgsTrace().size());
|
assertEquals(1, DPT.getCfgsTrace(DP1).size());
|
||||||
// there should be no change from the previous state (also config2)
|
// there should be no change from the previous state (also config2)
|
||||||
assertEquals("project.config2", ((ICConfigurationDescription)DummyProvider1.getCfgsTrace().get(0)).getId());
|
assertEquals("project.config2", ((ICConfigurationDescription)DPT.getCfgsTrace(DP1).get(0)).getId());
|
||||||
} finally {
|
} finally {
|
||||||
if (cproject != null) {
|
if (cproject != null) {
|
||||||
cproject.getProject().delete(IResource.FORCE | IResource.ALWAYS_DELETE_PROJECT_CONTENT, new NullProgressMonitor());
|
cproject.getProject().delete(IResource.FORCE | IResource.ALWAYS_DELETE_PROJECT_CONTENT, new NullProgressMonitor());
|
||||||
|
@ -536,22 +550,14 @@ class MockConfig implements ICConfigurationDescription {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String[] getExternalSettingsProviderIds() {
|
public String[] getExternalSettingsProviderIds() {
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setExternalSettingsProviderIds(String[] ids) {
|
public void setExternalSettingsProviderIds(String[] ids) {}
|
||||||
// TODO Auto-generated method stub
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateExternalSettingsProviders(String[] ids) {
|
public void updateExternalSettingsProviders(String[] ids) {}
|
||||||
// TODO Auto-generated method stub
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public ICSourceEntry[] getResolvedSourceEntries() {
|
public ICSourceEntry[] getResolvedSourceEntries() {
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
<extension
|
<extension
|
||||||
point="org.eclipse.cdt.core.CIndex">
|
point="org.eclipse.cdt.core.CIndex">
|
||||||
<ReadOnlyPDOMProvider
|
<ReadOnlyPDOMProvider
|
||||||
class="org.eclipse.cdt.core.internal.index.provider.test.DummyProvider1">
|
class="org.eclipse.cdt.core.internal.index.provider.test.Providers$Dummy1">
|
||||||
</ReadOnlyPDOMProvider>
|
</ReadOnlyPDOMProvider>
|
||||||
<ExportProjectProvider
|
<ExportProjectProvider
|
||||||
class="org.eclipse.cdt.internal.pdom.tests.GeneratePDOMApplicationTest$TestProjectProvider1">
|
class="org.eclipse.cdt.internal.pdom.tests.GeneratePDOMApplicationTest$TestProjectProvider1">
|
||||||
|
@ -136,5 +136,18 @@
|
||||||
<toolChain id="org.eclipse.cdt.core.tests.toolChain6"/>
|
<toolChain id="org.eclipse.cdt.core.tests.toolChain6"/>
|
||||||
</template>
|
</template>
|
||||||
</extension>
|
</extension>
|
||||||
|
<extension point="org.eclipse.cdt.core.CIndex">
|
||||||
|
<ReadOnlyPDOMProvider
|
||||||
|
class="org.eclipse.cdt.core.internal.index.provider.test.Providers$Dummy2">
|
||||||
|
</ReadOnlyPDOMProvider>
|
||||||
|
<ReadOnlyPDOMProvider
|
||||||
|
class="org.eclipse.cdt.core.internal.index.provider.test.Providers$Dummy3">
|
||||||
|
</ReadOnlyPDOMProvider>
|
||||||
|
<ReadOnlyPDOMProvider
|
||||||
|
class="org.eclipse.cdt.core.internal.index.provider.test.Providers$Dummy4">
|
||||||
|
</ReadOnlyPDOMProvider>
|
||||||
|
<ReadOnlyPDOMProvider
|
||||||
|
class="org.eclipse.cdt.core.internal.index.provider.test.Providers$Dummy5">
|
||||||
|
</ReadOnlyPDOMProvider>
|
||||||
|
</extension>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|
|
@ -64,7 +64,7 @@ public final class IndexProviderManager implements IElementChangedListener {
|
||||||
IConfigurationElement[] ce = extension.getConfigurationElements();
|
IConfigurationElement[] ce = extension.getConfigurationElements();
|
||||||
for(int j=0; j<ce.length; j++) {
|
for(int j=0; j<ce.length; j++) {
|
||||||
if(ce[j].getName().equals(READ_ONLY_PDOM_PROVIDER)) {
|
if(ce[j].getName().equals(READ_ONLY_PDOM_PROVIDER)) {
|
||||||
IIndexProvider provider = (IIndexProvider) ce[0].createExecutableExtension("class"); //$NON-NLS-1$
|
IIndexProvider provider = (IIndexProvider) ce[j].createExecutableExtension("class"); //$NON-NLS-1$
|
||||||
if(provider instanceof IReadOnlyPDOMProvider) {
|
if(provider instanceof IReadOnlyPDOMProvider) {
|
||||||
provider = new ReadOnlyPDOMProviderBridge((IReadOnlyPDOMProvider)provider);
|
provider = new ReadOnlyPDOMProviderBridge((IReadOnlyPDOMProvider)provider);
|
||||||
providers.add(provider);
|
providers.add(provider);
|
||||||
|
|
Loading…
Add table
Reference in a new issue