diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java index 7b65e59f6a1..2d16baeb79e 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java @@ -67,6 +67,7 @@ import org.eclipse.cdt.managedbuilder.envvar.IEnvironmentVariableProvider; import org.eclipse.cdt.managedbuilder.internal.buildproperties.BuildPropertyManager; import org.eclipse.cdt.managedbuilder.internal.core.BooleanExpressionApplicabilityCalculator; import org.eclipse.cdt.managedbuilder.internal.core.BuildDbgUtil; +import org.eclipse.cdt.managedbuilder.internal.core.BuildObject; import org.eclipse.cdt.managedbuilder.internal.core.BuildSettingsUtil; import org.eclipse.cdt.managedbuilder.internal.core.Builder; import org.eclipse.cdt.managedbuilder.internal.core.BuilderFactory; @@ -4099,7 +4100,7 @@ public class ManagedBuildManager extends AbstractCExtension { if(tc == null) continue; - List list = findIdenticalElements((ToolChain)tc, fToolChainSorter); + List list = findIdenticalElements((ToolChain)tc, fToolChainSorter); int k = 0; for(; k < result.size(); k++){ if(findIdenticalElements((ToolChain)result.get(k), fToolChainSorter) == list) @@ -4130,10 +4131,10 @@ public class ManagedBuildManager extends AbstractCExtension { if(tChain.getParent() != null) return tChain.getParent(); - List list = findIdenticalElements((ToolChain)tChain, fToolChainSorter); + List list = findIdenticalElements((ToolChain)tChain, fToolChainSorter); if(list != null){ for(int i = 0; i < list.size(); i++){ - ToolChain cur = (ToolChain)list.get(i); + ToolChain cur = list.get(i); if(cur.getParent() != null) return cur.getParent(); } @@ -4144,12 +4145,12 @@ public class ManagedBuildManager extends AbstractCExtension { public static IConfiguration[] getExtensionConfigurations(IToolChain tChain, String propertyType, String propertyValue){ // List all = getSortedToolChains(); - List list = findIdenticalElements((ToolChain)tChain, fToolChainSorter); + List list = findIdenticalElements((ToolChain)tChain, fToolChainSorter); LinkedHashSet result = new LinkedHashSet(); boolean tcFound = false; if(list != null){ for(int i = 0; i < list.size(); i++){ - ToolChain cur = (ToolChain)list.get(i); + ToolChain cur = list.get(i); if(cur == tChain){ tcFound = true; } @@ -4221,24 +4222,24 @@ public class ManagedBuildManager extends AbstractCExtension { return fSortedBuilders; } - private static HashMap> getSortedElements(Collection elements){ - HashMap> map = new HashMap>(); - for (IMatchKeyProvider p : elements) { - MatchKey key = p.getMatchKey(); + private static > HashMap, List> getSortedElements(Collection elements){ + HashMap, List> map = new HashMap, List>(); + for (T p : elements) { + MatchKey key = p.getMatchKey(); if(key == null) continue; - List list = map.get(key); + List list = map.get(key); if(list == null){ - list = new ArrayList(); + list = new ArrayList(); map.put(key, list); } list.add(p); p.setIdenticalList(list); } - Collection> values = map.values(); - for (List list : values) { + Collection> values = map.values(); + for (List list : values) { Collections.sort(list); } return map; @@ -4282,12 +4283,12 @@ public class ManagedBuildManager extends AbstractCExtension { } if(extBuilder != null){ - List list = findIdenticalElements((Builder)extBuilder, fBuilderSorter); + List list = findIdenticalElements((Builder)extBuilder, fBuilderSorter); if(list.size() == 0){ realBuilder = extBuilder; } else { for (IBuilder realBldr : getRealBuilders()) { - List rList = findIdenticalElements((Builder)realBldr, fBuilderSorter); + List rList = findIdenticalElements((Builder)realBldr, fBuilderSorter); if(rList == list){ realBuilder = realBldr; break; @@ -4310,12 +4311,12 @@ public class ManagedBuildManager extends AbstractCExtension { } if(extTool != null){ - List list = findIdenticalElements((Tool)extTool, fToolSorter); + List list = findIdenticalElements((Tool)extTool, fToolSorter); if(list.size() == 0){ realTool = extTool; } else { for (ITool realT : getRealTools()) { - List rList = findIdenticalElements((Tool)realT, fToolSorter); + List rList = findIdenticalElements((Tool)realT, fToolSorter); if(rList == list){ realTool = realT; break; @@ -4344,12 +4345,12 @@ public class ManagedBuildManager extends AbstractCExtension { } if(extTc != null){ - List list = findIdenticalElements((ToolChain)extTc, fToolChainSorter); + List list = findIdenticalElements((ToolChain)extTc, fToolChainSorter); if(list.size() == 0){ realToolChain = extTc; } else { for (IToolChain realTc : getRealToolChains()) { - List rList = findIdenticalElements((ToolChain)realTc, fToolChainSorter); + List rList = findIdenticalElements((ToolChain)realTc, fToolChainSorter); if(rList == list){ realToolChain = realTc; break; @@ -4465,13 +4466,13 @@ public class ManagedBuildManager extends AbstractCExtension { return null; } - private static List findIdenticalElements(IMatchKeyProvider p, ISorter sorter){ - List list = p.getIdenticalList(); + private static > List findIdenticalElements(T p, ISorter sorter){ + List list = p.getIdenticalList(); if(list == null){ sorter.sort(); list = p.getIdenticalList(); if(list == null){ - list = new ArrayList(0); + list = new ArrayList(0); p.setIdenticalList(list); } } diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/IMatchKeyProvider.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/IMatchKeyProvider.java index ec8237bc928..07aadf6224f 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/IMatchKeyProvider.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/IMatchKeyProvider.java @@ -15,7 +15,7 @@ import java.util.List; public interface IMatchKeyProvider extends Comparable { MatchKey getMatchKey(); - void setIdenticalList(List> list); + void setIdenticalList(List list); - List> getIdenticalList(); + List getIdenticalList(); }