mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-08 18:26:01 +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.buildproperties.BuildPropertyManager;
|
||||||
import org.eclipse.cdt.managedbuilder.internal.core.BooleanExpressionApplicabilityCalculator;
|
import org.eclipse.cdt.managedbuilder.internal.core.BooleanExpressionApplicabilityCalculator;
|
||||||
import org.eclipse.cdt.managedbuilder.internal.core.BuildDbgUtil;
|
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.BuildSettingsUtil;
|
||||||
import org.eclipse.cdt.managedbuilder.internal.core.Builder;
|
import org.eclipse.cdt.managedbuilder.internal.core.Builder;
|
||||||
import org.eclipse.cdt.managedbuilder.internal.core.BuilderFactory;
|
import org.eclipse.cdt.managedbuilder.internal.core.BuilderFactory;
|
||||||
|
@ -4099,7 +4100,7 @@ public class ManagedBuildManager extends AbstractCExtension {
|
||||||
if(tc == null)
|
if(tc == null)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
List list = findIdenticalElements((ToolChain)tc, fToolChainSorter);
|
List<ToolChain> list = findIdenticalElements((ToolChain)tc, fToolChainSorter);
|
||||||
int k = 0;
|
int k = 0;
|
||||||
for(; k < result.size(); k++){
|
for(; k < result.size(); k++){
|
||||||
if(findIdenticalElements((ToolChain)result.get(k), fToolChainSorter) == list)
|
if(findIdenticalElements((ToolChain)result.get(k), fToolChainSorter) == list)
|
||||||
|
@ -4130,10 +4131,10 @@ public class ManagedBuildManager extends AbstractCExtension {
|
||||||
if(tChain.getParent() != null)
|
if(tChain.getParent() != null)
|
||||||
return tChain.getParent();
|
return tChain.getParent();
|
||||||
|
|
||||||
List list = findIdenticalElements((ToolChain)tChain, fToolChainSorter);
|
List<ToolChain> list = findIdenticalElements((ToolChain)tChain, fToolChainSorter);
|
||||||
if(list != null){
|
if(list != null){
|
||||||
for(int i = 0; i < list.size(); i++){
|
for(int i = 0; i < list.size(); i++){
|
||||||
ToolChain cur = (ToolChain)list.get(i);
|
ToolChain cur = list.get(i);
|
||||||
if(cur.getParent() != null)
|
if(cur.getParent() != null)
|
||||||
return cur.getParent();
|
return cur.getParent();
|
||||||
}
|
}
|
||||||
|
@ -4144,12 +4145,12 @@ public class ManagedBuildManager extends AbstractCExtension {
|
||||||
|
|
||||||
public static IConfiguration[] getExtensionConfigurations(IToolChain tChain, String propertyType, String propertyValue){
|
public static IConfiguration[] getExtensionConfigurations(IToolChain tChain, String propertyType, String propertyValue){
|
||||||
// List all = getSortedToolChains();
|
// List all = getSortedToolChains();
|
||||||
List list = findIdenticalElements((ToolChain)tChain, fToolChainSorter);
|
List<ToolChain> list = findIdenticalElements((ToolChain)tChain, fToolChainSorter);
|
||||||
LinkedHashSet<IConfiguration> result = new LinkedHashSet<IConfiguration>();
|
LinkedHashSet<IConfiguration> result = new LinkedHashSet<IConfiguration>();
|
||||||
boolean tcFound = false;
|
boolean tcFound = false;
|
||||||
if(list != null){
|
if(list != null){
|
||||||
for(int i = 0; i < list.size(); i++){
|
for(int i = 0; i < list.size(); i++){
|
||||||
ToolChain cur = (ToolChain)list.get(i);
|
ToolChain cur = list.get(i);
|
||||||
if(cur == tChain){
|
if(cur == tChain){
|
||||||
tcFound = true;
|
tcFound = true;
|
||||||
}
|
}
|
||||||
|
@ -4221,24 +4222,24 @@ public class ManagedBuildManager extends AbstractCExtension {
|
||||||
return fSortedBuilders;
|
return fSortedBuilders;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static HashMap<MatchKey, List<IMatchKeyProvider>> getSortedElements(Collection<? extends IMatchKeyProvider> elements){
|
private static <T extends BuildObject & IMatchKeyProvider<T>> HashMap<MatchKey<T>, List<T>> getSortedElements(Collection<? extends T> elements){
|
||||||
HashMap<MatchKey, List<IMatchKeyProvider>> map = new HashMap<MatchKey, List<IMatchKeyProvider>>();
|
HashMap<MatchKey<T>, List<T>> map = new HashMap<MatchKey<T>, List<T>>();
|
||||||
for (IMatchKeyProvider p : elements) {
|
for (T p : elements) {
|
||||||
MatchKey key = p.getMatchKey();
|
MatchKey<T> key = p.getMatchKey();
|
||||||
if(key == null)
|
if(key == null)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
List<IMatchKeyProvider> list = map.get(key);
|
List<T> list = map.get(key);
|
||||||
if(list == null){
|
if(list == null){
|
||||||
list = new ArrayList<IMatchKeyProvider>();
|
list = new ArrayList<T>();
|
||||||
map.put(key, list);
|
map.put(key, list);
|
||||||
}
|
}
|
||||||
list.add(p);
|
list.add(p);
|
||||||
p.setIdenticalList(list);
|
p.setIdenticalList(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
Collection<List<IMatchKeyProvider>> values = map.values();
|
Collection<List<T>> values = map.values();
|
||||||
for (List<IMatchKeyProvider> list : values) {
|
for (List<T> list : values) {
|
||||||
Collections.sort(list);
|
Collections.sort(list);
|
||||||
}
|
}
|
||||||
return map;
|
return map;
|
||||||
|
@ -4282,12 +4283,12 @@ public class ManagedBuildManager extends AbstractCExtension {
|
||||||
}
|
}
|
||||||
|
|
||||||
if(extBuilder != null){
|
if(extBuilder != null){
|
||||||
List list = findIdenticalElements((Builder)extBuilder, fBuilderSorter);
|
List<Builder> list = findIdenticalElements((Builder)extBuilder, fBuilderSorter);
|
||||||
if(list.size() == 0){
|
if(list.size() == 0){
|
||||||
realBuilder = extBuilder;
|
realBuilder = extBuilder;
|
||||||
} else {
|
} else {
|
||||||
for (IBuilder realBldr : getRealBuilders()) {
|
for (IBuilder realBldr : getRealBuilders()) {
|
||||||
List rList = findIdenticalElements((Builder)realBldr, fBuilderSorter);
|
List<Builder> rList = findIdenticalElements((Builder)realBldr, fBuilderSorter);
|
||||||
if(rList == list){
|
if(rList == list){
|
||||||
realBuilder = realBldr;
|
realBuilder = realBldr;
|
||||||
break;
|
break;
|
||||||
|
@ -4310,12 +4311,12 @@ public class ManagedBuildManager extends AbstractCExtension {
|
||||||
}
|
}
|
||||||
|
|
||||||
if(extTool != null){
|
if(extTool != null){
|
||||||
List list = findIdenticalElements((Tool)extTool, fToolSorter);
|
List<Tool> list = findIdenticalElements((Tool)extTool, fToolSorter);
|
||||||
if(list.size() == 0){
|
if(list.size() == 0){
|
||||||
realTool = extTool;
|
realTool = extTool;
|
||||||
} else {
|
} else {
|
||||||
for (ITool realT : getRealTools()) {
|
for (ITool realT : getRealTools()) {
|
||||||
List rList = findIdenticalElements((Tool)realT, fToolSorter);
|
List<Tool> rList = findIdenticalElements((Tool)realT, fToolSorter);
|
||||||
if(rList == list){
|
if(rList == list){
|
||||||
realTool = realT;
|
realTool = realT;
|
||||||
break;
|
break;
|
||||||
|
@ -4344,12 +4345,12 @@ public class ManagedBuildManager extends AbstractCExtension {
|
||||||
}
|
}
|
||||||
|
|
||||||
if(extTc != null){
|
if(extTc != null){
|
||||||
List list = findIdenticalElements((ToolChain)extTc, fToolChainSorter);
|
List<ToolChain> list = findIdenticalElements((ToolChain)extTc, fToolChainSorter);
|
||||||
if(list.size() == 0){
|
if(list.size() == 0){
|
||||||
realToolChain = extTc;
|
realToolChain = extTc;
|
||||||
} else {
|
} else {
|
||||||
for (IToolChain realTc : getRealToolChains()) {
|
for (IToolChain realTc : getRealToolChains()) {
|
||||||
List rList = findIdenticalElements((ToolChain)realTc, fToolChainSorter);
|
List<ToolChain> rList = findIdenticalElements((ToolChain)realTc, fToolChainSorter);
|
||||||
if(rList == list){
|
if(rList == list){
|
||||||
realToolChain = realTc;
|
realToolChain = realTc;
|
||||||
break;
|
break;
|
||||||
|
@ -4465,13 +4466,13 @@ public class ManagedBuildManager extends AbstractCExtension {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static List findIdenticalElements(IMatchKeyProvider p, ISorter sorter){
|
private static <T extends BuildObject & IMatchKeyProvider<T>> List<T> findIdenticalElements(T p, ISorter sorter){
|
||||||
List list = p.getIdenticalList();
|
List<T> list = p.getIdenticalList();
|
||||||
if(list == null){
|
if(list == null){
|
||||||
sorter.sort();
|
sorter.sort();
|
||||||
list = p.getIdenticalList();
|
list = p.getIdenticalList();
|
||||||
if(list == null){
|
if(list == null){
|
||||||
list = new ArrayList(0);
|
list = new ArrayList<T>(0);
|
||||||
p.setIdenticalList(list);
|
p.setIdenticalList(list);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,7 @@ import java.util.List;
|
||||||
public interface IMatchKeyProvider<T extends BuildObject> extends Comparable<T> {
|
public interface IMatchKeyProvider<T extends BuildObject> extends Comparable<T> {
|
||||||
MatchKey<T> getMatchKey();
|
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