1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-30 04:15:35 +02:00

fix for [Bug 175808] NullPointerException in BuildSystemVariableSupplier.getMacros

This commit is contained in:
Mikhail Sennikovsky 2007-02-28 10:40:47 +00:00
parent ad84cc5f82
commit 0a1dd38992
2 changed files with 11 additions and 4 deletions

View file

@ -11,6 +11,7 @@
package org.eclipse.cdt.internal.core.cdtvariables; package org.eclipse.cdt.internal.core.cdtvariables;
import org.eclipse.cdt.core.cdtvariables.ICdtVariable; import org.eclipse.cdt.core.cdtvariables.ICdtVariable;
import org.eclipse.cdt.core.cdtvariables.ICdtVariablesContributor;
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription; import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
import org.eclipse.cdt.utils.cdtvariables.ICdtVariableSupplier; import org.eclipse.cdt.utils.cdtvariables.ICdtVariableSupplier;
import org.eclipse.cdt.utils.cdtvariables.IVariableContextInfo; import org.eclipse.cdt.utils.cdtvariables.IVariableContextInfo;
@ -98,11 +99,17 @@ public class BuildSystemVariableSupplier extends CoreMacroSupplierBase {
protected ICdtVariable getMacro(String name, int type, Object data) { protected ICdtVariable getMacro(String name, int type, Object data) {
ICConfigurationDescription des = (ICConfigurationDescription)data; ICConfigurationDescription des = (ICConfigurationDescription)data;
return des.getBuildVariablesContributor().getVariable(name, new ExtensionMacroProvider(type, data)); ICdtVariablesContributor cr = des.getBuildVariablesContributor();
if(cr != null)
return cr.getVariable(name, new ExtensionMacroProvider(type, data));
return null;
} }
protected ICdtVariable[] getMacros(int type, Object data) { protected ICdtVariable[] getMacros(int type, Object data) {
ICConfigurationDescription des = (ICConfigurationDescription)data; ICConfigurationDescription des = (ICConfigurationDescription)data;
return des.getBuildVariablesContributor().getVariables(new ExtensionMacroProvider(type, data)); ICdtVariablesContributor cr = des.getBuildVariablesContributor();
if(cr != null)
return cr.getVariables(new ExtensionMacroProvider(type, data));
return new ICdtVariable[0];
} }
} }

View file

@ -169,13 +169,13 @@ public class BuildSustemEnvironmentSupplier implements
*/ */
public IEnvironmentVariable[] getVariables(Object context) { public IEnvironmentVariable[] getVariables(Object context) {
if(context == null) if(context == null)
return null; return new IEnvironmentVariable[0];
IEnvironmentVariable variables[] = null; IEnvironmentVariable variables[] = null;
if(context instanceof ICConfigurationDescription){ if(context instanceof ICConfigurationDescription){
ICConfigurationDescription cfg = (ICConfigurationDescription)context; ICConfigurationDescription cfg = (ICConfigurationDescription)context;
IEnvironmentContributor supplier = cfg.getBuildSetting().getBuildEnvironmentContributor(); IEnvironmentContributor supplier = cfg.getBuildSetting().getBuildEnvironmentContributor();
if(supplier == null) if(supplier == null)
return null; return new IEnvironmentVariable[0];
variables = supplier.getVariables(new ExtensionEnvVarProvider(context)); variables = supplier.getVariables(new ExtensionEnvVarProvider(context));
} }