mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-08 10:16:03 +02:00
bug 319512: Missing type arguments on managedbuilder.core
This commit is contained in:
parent
a1c8b3f7d3
commit
b23909e73c
2 changed files with 25 additions and 24 deletions
|
@ -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<ToolChain> 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<ToolChain> 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<ToolChain> list = findIdenticalElements((ToolChain)tChain, fToolChainSorter);
|
||||
LinkedHashSet<IConfiguration> result = new LinkedHashSet<IConfiguration>();
|
||||
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<MatchKey, List<IMatchKeyProvider>> getSortedElements(Collection<? extends IMatchKeyProvider> elements){
|
||||
HashMap<MatchKey, List<IMatchKeyProvider>> map = new HashMap<MatchKey, List<IMatchKeyProvider>>();
|
||||
for (IMatchKeyProvider p : elements) {
|
||||
MatchKey key = p.getMatchKey();
|
||||
private static <T extends BuildObject & IMatchKeyProvider<T>> HashMap<MatchKey<T>, List<T>> getSortedElements(Collection<? extends T> elements){
|
||||
HashMap<MatchKey<T>, List<T>> map = new HashMap<MatchKey<T>, List<T>>();
|
||||
for (T p : elements) {
|
||||
MatchKey<T> key = p.getMatchKey();
|
||||
if(key == null)
|
||||
continue;
|
||||
|
||||
List<IMatchKeyProvider> list = map.get(key);
|
||||
List<T> list = map.get(key);
|
||||
if(list == null){
|
||||
list = new ArrayList<IMatchKeyProvider>();
|
||||
list = new ArrayList<T>();
|
||||
map.put(key, list);
|
||||
}
|
||||
list.add(p);
|
||||
p.setIdenticalList(list);
|
||||
}
|
||||
|
||||
Collection<List<IMatchKeyProvider>> values = map.values();
|
||||
for (List<IMatchKeyProvider> list : values) {
|
||||
Collection<List<T>> values = map.values();
|
||||
for (List<T> 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<Builder> list = findIdenticalElements((Builder)extBuilder, fBuilderSorter);
|
||||
if(list.size() == 0){
|
||||
realBuilder = extBuilder;
|
||||
} else {
|
||||
for (IBuilder realBldr : getRealBuilders()) {
|
||||
List rList = findIdenticalElements((Builder)realBldr, fBuilderSorter);
|
||||
List<Builder> 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<Tool> list = findIdenticalElements((Tool)extTool, fToolSorter);
|
||||
if(list.size() == 0){
|
||||
realTool = extTool;
|
||||
} else {
|
||||
for (ITool realT : getRealTools()) {
|
||||
List rList = findIdenticalElements((Tool)realT, fToolSorter);
|
||||
List<Tool> 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<ToolChain> list = findIdenticalElements((ToolChain)extTc, fToolChainSorter);
|
||||
if(list.size() == 0){
|
||||
realToolChain = extTc;
|
||||
} else {
|
||||
for (IToolChain realTc : getRealToolChains()) {
|
||||
List rList = findIdenticalElements((ToolChain)realTc, fToolChainSorter);
|
||||
List<ToolChain> 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 <T extends BuildObject & IMatchKeyProvider<T>> List<T> findIdenticalElements(T p, ISorter sorter){
|
||||
List<T> list = p.getIdenticalList();
|
||||
if(list == null){
|
||||
sorter.sort();
|
||||
list = p.getIdenticalList();
|
||||
if(list == null){
|
||||
list = new ArrayList(0);
|
||||
list = new ArrayList<T>(0);
|
||||
p.setIdenticalList(list);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@ import java.util.List;
|
|||
public interface IMatchKeyProvider<T extends BuildObject> extends Comparable<T> {
|
||||
MatchKey<T> getMatchKey();
|
||||
|
||||
void setIdenticalList(List<IMatchKeyProvider<T>> list);
|
||||
void setIdenticalList(List<T> list);
|
||||
|
||||
List<IMatchKeyProvider<T>> getIdenticalList();
|
||||
List<T> getIdenticalList();
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue