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

Code streamlining.

This commit is contained in:
Sergey Prigogin 2011-03-07 04:32:30 +00:00
parent 32bf5a5a1d
commit c2b14277a3

View file

@ -63,7 +63,7 @@ import java.util.Set;
* @since 4.0 * @since 4.0
*/ */
public final class IndexProviderManager implements IElementChangedListener { public final class IndexProviderManager implements IElementChangedListener {
private static final String ELEMENT_RO_PDOMPROVIDER= "ReadOnlyPDOMProvider"; //$NON-NLS-1$ private static final String ELEMENT_RO_PDOM_PROVIDER= "ReadOnlyPDOMProvider"; //$NON-NLS-1$
private static final String ATTRIBUTE_CLASS = "class"; //$NON-NLS-1$ private static final String ATTRIBUTE_CLASS = "class"; //$NON-NLS-1$
private IIndexFragmentProvider[] allProviders; private IIndexFragmentProvider[] allProviders;
@ -96,21 +96,17 @@ public final class IndexProviderManager implements IElementChangedListener {
} }
public void startup() { public void startup() {
List<IIndexProvider> providers = new ArrayList<IIndexProvider>(); List<IIndexFragmentProvider> providers = new ArrayList<IIndexFragmentProvider>();
IExtensionRegistry registry = Platform.getExtensionRegistry(); IExtensionRegistry registry = Platform.getExtensionRegistry();
IExtensionPoint indexProviders = registry.getExtensionPoint(CCorePlugin.INDEX_UNIQ_ID); IExtensionPoint indexProviders = registry.getExtensionPoint(CCorePlugin.INDEX_UNIQ_ID);
IExtension[] extensions = indexProviders.getExtensions(); for (IExtension extension : indexProviders.getExtensions()) {
for (int i= 0; i < extensions.length; i++) {
IExtension extension = extensions[i];
try { try {
IConfigurationElement[] ce = extension.getConfigurationElements(); for (IConfigurationElement element : extension.getConfigurationElements()) {
for (int j= 0; j < ce.length; j++) { if (ELEMENT_RO_PDOM_PROVIDER.equals(element.getName())) {
if (ce[j].getName().equals(ELEMENT_RO_PDOMPROVIDER)) { Object provider = element.createExecutableExtension(ATTRIBUTE_CLASS);
IIndexProvider provider = (IIndexProvider) ce[j].createExecutableExtension(ATTRIBUTE_CLASS);
if (provider instanceof IReadOnlyPDOMProvider) { if (provider instanceof IReadOnlyPDOMProvider) {
provider = new ReadOnlyPDOMProviderBridge((IReadOnlyPDOMProvider) provider); providers.add(new ReadOnlyPDOMProviderBridge((IReadOnlyPDOMProvider) provider));
providers.add(provider);
} else { } else {
CCorePlugin.log(NLS.bind(Messages.IndexProviderManager_0, CCorePlugin.log(NLS.bind(Messages.IndexProviderManager_0,
extension.getContributor().getName())); extension.getContributor().getName()));
@ -138,13 +134,13 @@ public final class IndexProviderManager implements IElementChangedListener {
Map<String, IIndexFragment> id2fragment = new HashMap<String, IIndexFragment>(); Map<String, IIndexFragment> id2fragment = new HashMap<String, IIndexFragment>();
IProject project= config.getProjectDescription().getProject(); IProject project= config.getProjectDescription().getProject();
for (int i= 0; i < allProviders.length; i++) { for (IIndexFragmentProvider provider : allProviders) {
try { try {
if (providesForProject(allProviders[i], project)) { if (providesForProject(provider, project)) {
IIndexFragment[] fragments= allProviders[i].getIndexFragments(config); IIndexFragment[] fragments= provider.getIndexFragments(config);
for (int j= 0; j < fragments.length; j++) { for (IIndexFragment fragment : fragments) {
try { try {
processCandidate(id2fragment, fragments[j]); processCandidate(id2fragment, fragment);
} catch (InterruptedException e) { } catch (InterruptedException e) {
CCorePlugin.log(e); // continue with next candidate CCorePlugin.log(e); // continue with next candidate
} catch (CoreException e) { } catch (CoreException e) {