diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/jsoncdb/generator/CompilationDatabaseContributionManager.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/jsoncdb/generator/CompilationDatabaseContributionManager.java index aa53f3a3961..5e154ce823b 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/jsoncdb/generator/CompilationDatabaseContributionManager.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/jsoncdb/generator/CompilationDatabaseContributionManager.java @@ -32,9 +32,17 @@ private static final String ATTRIB_TOOLCHAIN_ID = "toolchainID"; //$NON-NLS-1$ private static final String ID_COMPILATIONDATABASE = "compilationDatabase"; //$NON-NLS-1$ private static final String EXTENSION_ID = "compilationDatabaseContributor"; //$NON-NLS-1$ + /** + * Map of tool chain IDs (see {@link IToolChain#getId()} to + * loaded instances of {@link ICompilationDatabaseContributor} + */ @NonNull - private final Map loadedInstances; - private final Map factoryExtensions; + private final Map loadedInstances = new HashMap<>(); + /** + * Map of tool chain IDs (see {@link IToolChain#getId()} to + * extension point information for the compilationDatabaseContributor extension. + */ + private final Map factoryExtensions = new HashMap<>(); private class EmptyCompilationDatabaseContributor implements ICompilationDatabaseContributor { @@ -47,8 +55,6 @@ private class EmptyCompilationDatabaseContributor implements ICompilationDatabas private static CompilationDatabaseContributionManager instance; private CompilationDatabaseContributionManager() { - this.factoryExtensions = new HashMap<>(); - this.loadedInstances = new HashMap<>(); initalise(); } @@ -60,8 +66,6 @@ public static synchronized CompilationDatabaseContributionManager getInstance() } private void initalise() { - Map loadedExtension = new HashMap<>(); - IExtensionPoint extension = Platform.getExtensionRegistry().getExtensionPoint( "org.eclipse.cdt.managedbuilder.core", CompilationDatabaseContributionManager.EXTENSION_ID); //$NON-NLS-1$ if (extension != null) { @@ -75,14 +79,12 @@ private void initalise() { String className = configElement .getAttribute(CompilationDatabaseContributionManager.ATTRIB_RUNNER); if (toolchainId != null && className != null) { - loadedExtension.put(toolchainId, configElement); + factoryExtensions.put(toolchainId, configElement); } } } } } - - this.factoryExtensions.putAll(loadedExtension); } /**