1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-23 08:55:25 +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;
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.utils.cdtvariables.ICdtVariableSupplier;
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) {
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) {
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) {
if(context == null)
return null;
return new IEnvironmentVariable[0];
IEnvironmentVariable variables[] = null;
if(context instanceof ICConfigurationDescription){
ICConfigurationDescription cfg = (ICConfigurationDescription)context;
IEnvironmentContributor supplier = cfg.getBuildSetting().getBuildEnvironmentContributor();
if(supplier == null)
return null;
return new IEnvironmentVariable[0];
variables = supplier.getVariables(new ExtensionEnvVarProvider(context));
}