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:
parent
ad84cc5f82
commit
0a1dd38992
2 changed files with 11 additions and 4 deletions
|
@ -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];
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue