Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorMikhail Sennikovsky2005-05-31 11:27:56 +0000
committerMikhail Sennikovsky2005-05-31 11:27:56 +0000
commit78baded27036986af0743457c6d6103d2b8f6d78 (patch)
treeded48adbc1d61f722250fd0b318ceb7079c4e540 /build
parent53358d181d7c7f3228758817d80ad586a7f524d2 (diff)
downloadorg.eclipse.cdt-78baded27036986af0743457c6d6103d2b8f6d78.tar.gz
org.eclipse.cdt-78baded27036986af0743457c6d6103d2b8f6d78.tar.xz
org.eclipse.cdt-78baded27036986af0743457c6d6103d2b8f6d78.zip
Some minor fixes for the build Environment and Macros: some extra-checks for null were added
Diffstat (limited to 'build')
-rw-r--r--build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/envvar/EnvVarOperationProcessor.java34
-rw-r--r--build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/envvar/ExternalExtensionEnvironmentSupplier.java18
-rw-r--r--build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/envvar/UserDefinedEnvironmentSupplier.java18
-rw-r--r--build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/ExternalExtensionMacroSupplier.java18
-rw-r--r--build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/MacroResolver.java35
-rw-r--r--build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/MbsMacroSupplier.java11
-rw-r--r--build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/EnvironmentBlock.java22
-rw-r--r--build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/MacrosBlock.java22
8 files changed, 85 insertions, 93 deletions
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/envvar/EnvVarOperationProcessor.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/envvar/EnvVarOperationProcessor.java
index c489219f93d..6a38f52a4b4 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/envvar/EnvVarOperationProcessor.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/envvar/EnvVarOperationProcessor.java
@@ -248,4 +248,38 @@ public class EnvVarOperationProcessor {
name = name.toUpperCase();
return name;
}
+
+ static public IBuildEnvironmentVariable[] filterVariables(IBuildEnvironmentVariable variables[], String remove[]){
+
+ if(variables == null || variables.length == 0)
+ return variables;
+
+ IBuildEnvironmentVariable filtered[] = new IBuildEnvironmentVariable[variables.length];
+ int filteredNum = 0;
+ for(int i = 0; i < variables.length; i++){
+ IBuildEnvironmentVariable var = variables[i];
+ String name = null;
+ if(var != null && (name = normalizeName(var.getName())) != null){
+ boolean skip = false;
+ if(remove != null && remove.length > 0){
+ for(int j = 0; j < remove.length; j++){
+ if(remove[j] != null && remove[j].equals(name)){
+ skip = true;
+ break;
+ }
+ }
+ }
+ if(!skip)
+ filtered[filteredNum++] = var;
+ }
+ }
+
+ if(filteredNum != filtered.length){
+ IBuildEnvironmentVariable vars[] = new IBuildEnvironmentVariable[filteredNum];
+ for(int i = 0; i < filteredNum; i++)
+ vars[i] = filtered[i];
+ filtered = vars;
+ }
+ return filtered;
+ }
}
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/envvar/ExternalExtensionEnvironmentSupplier.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/envvar/ExternalExtensionEnvironmentSupplier.java
index a15b626f273..403dec520b5 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/envvar/ExternalExtensionEnvironmentSupplier.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/envvar/ExternalExtensionEnvironmentSupplier.java
@@ -209,22 +209,6 @@ public class ExternalExtensionEnvironmentSupplier implements
}
protected IBuildEnvironmentVariable[] filterVariables(IBuildEnvironmentVariable variables[]){
- if(variables == null || variables.length == 0)
- return variables;
-
- IBuildEnvironmentVariable filtered[] = new IBuildEnvironmentVariable[variables.length];
- int filteredNum = 0;
- for(int i = 0; i < variables.length; i++){
- if(getValidName(variables[i].getName()) != null)
- filtered[filteredNum++] = variables[i];
- }
-
- if(filteredNum != filtered.length){
- IBuildEnvironmentVariable vars[] = new IBuildEnvironmentVariable[filteredNum];
- for(int i = 0; i < filteredNum; i++)
- vars[i] = filtered[i];
- filtered = vars;
- }
- return filtered;
+ return EnvVarOperationProcessor.filterVariables(variables,fNonOverloadableVariables);
}
}
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/envvar/UserDefinedEnvironmentSupplier.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/envvar/UserDefinedEnvironmentSupplier.java
index 89fb51ec0d1..5bd3c8fe29c 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/envvar/UserDefinedEnvironmentSupplier.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/envvar/UserDefinedEnvironmentSupplier.java
@@ -326,23 +326,7 @@ public class UserDefinedEnvironmentSupplier extends
}
protected IBuildEnvironmentVariable[] filterVariables(IBuildEnvironmentVariable variables[]){
- if(variables == null || variables.length == 0)
- return variables;
-
- IBuildEnvironmentVariable filtered[] = new IBuildEnvironmentVariable[variables.length];
- int filteredNum = 0;
- for(int i = 0; i < variables.length; i++){
- if(getValidName(variables[i].getName()) != null)
- filtered[filteredNum++] = variables[i];
- }
-
- if(filteredNum != filtered.length){
- IBuildEnvironmentVariable vars[] = new IBuildEnvironmentVariable[filteredNum];
- for(int i = 0; i < filteredNum; i++)
- vars[i] = filtered[i];
- filtered = vars;
- }
- return filtered;
+ return EnvVarOperationProcessor.filterVariables(variables,fNonOverloadableVariables);
}
}
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/ExternalExtensionMacroSupplier.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/ExternalExtensionMacroSupplier.java
index 0f1c97c985d..1f8e8b08a8e 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/ExternalExtensionMacroSupplier.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/ExternalExtensionMacroSupplier.java
@@ -177,23 +177,7 @@ public class ExternalExtensionMacroSupplier implements IBuildMacroSupplier {
}
protected IBuildMacro[] filterMacros(IBuildMacro macros[]){
- if(macros == null || macros.length == 0)
- return macros;
-
- IBuildMacro filtered[] = new IBuildMacro[macros.length];
- int filteredNum = 0;
- for(int i = 0; i < macros.length; i++){
- if(getValidName(macros[i].getName()) != null)
- filtered[filteredNum++] = macros[i];
- }
-
- if(filteredNum != filtered.length){
- IBuildMacro m[] = new IBuildMacro[filteredNum];
- for(int i = 0; i < filteredNum; i++)
- m[i] = filtered[i];
- filtered = m;
- }
- return filtered;
+ return MacroResolver.filterMacros(macros,fNonOverloadableMacros);
}
protected IBuildMacroSupplier[] filterValidSuppliers(IBuildMacroSupplier suppliers[]){
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/MacroResolver.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/MacroResolver.java
index 1210ee6aa79..1bb1c5bffea 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/MacroResolver.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/MacroResolver.java
@@ -20,6 +20,7 @@ import org.eclipse.cdt.managedbuilder.core.IConfiguration;
import org.eclipse.cdt.managedbuilder.core.ITool;
import org.eclipse.cdt.managedbuilder.core.IToolChain;
import org.eclipse.cdt.managedbuilder.internal.core.Tool;
+import org.eclipse.cdt.managedbuilder.internal.envvar.EnvVarOperationProcessor;
import org.eclipse.cdt.managedbuilder.macros.BuildMacroException;
import org.eclipse.cdt.managedbuilder.macros.IBuildMacro;
import org.eclipse.cdt.managedbuilder.macros.IBuildMacroStatus;
@@ -389,4 +390,38 @@ public class MacroResolver {
return collector.getExplicisFileMacros();
}
+ static public IBuildMacro[] filterMacros(IBuildMacro macros[], String remove[]){
+
+ if(macros == null || macros.length == 0)
+ return macros;
+
+ IBuildMacro filtered[] = new IBuildMacro[macros.length];
+ int filteredNum = 0;
+ for(int i = 0; i < macros.length; i++){
+ IBuildMacro var = macros[i];
+ String name = null;
+ if(var != null && (name = EnvVarOperationProcessor.normalizeName(var.getName())) != null){
+ boolean skip = false;
+ if(remove != null && remove.length > 0){
+ for(int j = 0; j < remove.length; j++){
+ if(remove[j] != null && remove[j].equals(name)){
+ skip = true;
+ break;
+ }
+ }
+ }
+ if(!skip)
+ filtered[filteredNum++] = var;
+ }
+ }
+
+ if(filteredNum != filtered.length){
+ IBuildMacro m[] = new IBuildMacro[filteredNum];
+ for(int i = 0; i < filteredNum; i++)
+ m[i] = filtered[i];
+ filtered = m;
+ }
+ return filtered;
+ }
+
}
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/MbsMacroSupplier.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/MbsMacroSupplier.java
index c4a080838d4..11f69b53714 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/MbsMacroSupplier.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/MbsMacroSupplier.java
@@ -494,10 +494,13 @@ public class MbsMacroSupplier implements IBuildMacroSupplier {
if(macro != null)
macros[num++] = macro;
}
- IBuildMacro result[] = new IBuildMacro[num];
- if(num > 0)
- System.arraycopy(macros,0,result,0,num);
- return result;
+ if(macros.length != num){
+ IBuildMacro tmp[] = new IBuildMacro[num];
+ if(num > 0)
+ System.arraycopy(macros,0,tmp,0,num);
+ macros = tmp;
+ }
+ return macros;
}
return null;
}
diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/EnvironmentBlock.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/EnvironmentBlock.java
index bf147bc87da..2cfad162c12 100644
--- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/EnvironmentBlock.java
+++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/EnvironmentBlock.java
@@ -894,7 +894,7 @@ public class EnvironmentBlock extends AbstractCOptionPage {
EnvVarCollector variables = provider.getVariables(fSystemContextInfo,includeParentLevels);
if(variables == null)
return null;
- return filterDisplayedVariables(variables.toArray(false));
+ return filterVariables(variables.toArray(false));
}
/* (non-Javadoc)
@@ -1054,24 +1054,8 @@ public class EnvironmentBlock extends AbstractCOptionPage {
/*
* filteres the names to be displayed
*/
- protected IBuildEnvironmentVariable[] filterDisplayedVariables(IBuildEnvironmentVariable variables[]){
- if(variables == null || variables.length == 0)
- return variables;
-
- IBuildEnvironmentVariable filtered[] = new IBuildEnvironmentVariable[variables.length];
- int filteredNum = 0;
- for(int i = 0; i < variables.length; i++){
- if(canDisplay(variables[i].getName()))
- filtered[filteredNum++] = variables[i];
- }
-
- if(filteredNum != filtered.length){
- IBuildEnvironmentVariable vars[] = new IBuildEnvironmentVariable[filteredNum];
- for(int i = 0; i < filteredNum; i++)
- vars[i] = filtered[i];
- filtered = vars;
- }
- return filtered;
+ protected IBuildEnvironmentVariable[] filterVariables(IBuildEnvironmentVariable variables[]){
+ return EnvVarOperationProcessor.filterVariables(variables,fHiddenVariables);
}
private void updateState(BuildMacroException e){
diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/MacrosBlock.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/MacrosBlock.java
index 991ea890cf7..028ee549b9b 100644
--- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/MacrosBlock.java
+++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/MacrosBlock.java
@@ -982,7 +982,7 @@ public class MacrosBlock extends AbstractCOptionPage {
IBuildMacro macros[] = BuildMacroProvider.getMacros(fSystemContextInfo,includeParentLevels);
if(macros == null)
return null;
- return filterDisplayedMacros(macros);
+ return filterMacros(macros);
}
/* (non-Javadoc)
@@ -1146,24 +1146,8 @@ public class MacrosBlock extends AbstractCOptionPage {
/*
* filteres the macros to be displayed
*/
- protected IBuildMacro[] filterDisplayedMacros(IBuildMacro macros[]){
- if(macros == null || macros.length == 0)
- return macros;
-
- IBuildMacro filtered[] = new IBuildMacro[macros.length];
- int filteredNum = 0;
- for(int i = 0; i < macros.length; i++){
- if(canDisplay(macros[i].getName()))
- filtered[filteredNum++] = macros[i];
- }
-
- if(filteredNum != filtered.length){
- IBuildMacro tmp[] = new IBuildMacro[filteredNum];
- for(int i = 0; i < filteredNum; i++)
- tmp[i] = filtered[i];
- filtered = tmp;
- }
- return filtered;
+ protected IBuildMacro[] filterMacros(IBuildMacro macros[]){
+ return MacroResolver.filterMacros(macros,fHiddenMacros);
}
protected IEnvironmentVariableProvider obtainEnvironmentVariableProvider(){

Back to the top