mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
bug 319512: Missing type arguments on managedbuilder.core
This commit is contained in:
parent
4f2f11e78c
commit
563bdc57bc
2 changed files with 30 additions and 29 deletions
|
@ -12,9 +12,9 @@ package org.eclipse.cdt.managedbuilder.internal.tcmodification;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import org.eclipse.cdt.managedbuilder.core.IBuilder;
|
import org.eclipse.cdt.managedbuilder.core.IBuilder;
|
||||||
import org.eclipse.cdt.managedbuilder.core.IConfiguration;
|
import org.eclipse.cdt.managedbuilder.core.IConfiguration;
|
||||||
|
@ -24,6 +24,7 @@ import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager;
|
||||||
import org.eclipse.cdt.managedbuilder.internal.core.Builder;
|
import org.eclipse.cdt.managedbuilder.internal.core.Builder;
|
||||||
import org.eclipse.cdt.managedbuilder.internal.core.FolderInfo;
|
import org.eclipse.cdt.managedbuilder.internal.core.FolderInfo;
|
||||||
import org.eclipse.cdt.managedbuilder.internal.core.IRealBuildObjectAssociation;
|
import org.eclipse.cdt.managedbuilder.internal.core.IRealBuildObjectAssociation;
|
||||||
|
import org.eclipse.cdt.managedbuilder.internal.tcmodification.ToolChainModificationManager.ConflictMatch;
|
||||||
import org.eclipse.cdt.managedbuilder.internal.tcmodification.ToolChainModificationManager.ConflictMatchSet;
|
import org.eclipse.cdt.managedbuilder.internal.tcmodification.ToolChainModificationManager.ConflictMatchSet;
|
||||||
import org.eclipse.cdt.managedbuilder.tcmodification.CompatibilityStatus;
|
import org.eclipse.cdt.managedbuilder.tcmodification.CompatibilityStatus;
|
||||||
import org.eclipse.cdt.managedbuilder.tcmodification.IConfigurationModification;
|
import org.eclipse.cdt.managedbuilder.tcmodification.IConfigurationModification;
|
||||||
|
@ -34,8 +35,8 @@ public class ConfigurationModification extends FolderInfoModification implements
|
||||||
private IBuilder fSelectedBuilder;
|
private IBuilder fSelectedBuilder;
|
||||||
private IBuilder fRealBuilder;
|
private IBuilder fRealBuilder;
|
||||||
private boolean fCompatibilityInfoInited;
|
private boolean fCompatibilityInfoInited;
|
||||||
private Map fCompatibleBuilders;
|
private Map<Builder, BuilderCompatibilityInfoElement> fCompatibleBuilders;
|
||||||
private Map fInCompatibleBuilders;
|
private Map<Builder, BuilderCompatibilityInfoElement> fInCompatibleBuilders;
|
||||||
private ConflictMatchSet fConflicts;
|
private ConflictMatchSet fConflicts;
|
||||||
private IBuilder[] fAllSysBuilders;
|
private IBuilder[] fAllSysBuilders;
|
||||||
private BuilderCompatibilityInfoElement fCurrentBuilderCompatibilityInfo;
|
private BuilderCompatibilityInfoElement fCurrentBuilderCompatibilityInfo;
|
||||||
|
@ -43,10 +44,10 @@ public class ConfigurationModification extends FolderInfoModification implements
|
||||||
|
|
||||||
public static class BuilderCompatibilityInfoElement {
|
public static class BuilderCompatibilityInfoElement {
|
||||||
private Builder fBuilder;
|
private Builder fBuilder;
|
||||||
private List fErrComflictMatchList;
|
private List<ConflictMatch> fErrComflictMatchList;
|
||||||
private CompatibilityStatus fStatus;
|
private CompatibilityStatus fStatus;
|
||||||
|
|
||||||
BuilderCompatibilityInfoElement(Builder builder, List errConflictList){
|
BuilderCompatibilityInfoElement(Builder builder, List<ConflictMatch> errConflictList){
|
||||||
fBuilder = builder;
|
fBuilder = builder;
|
||||||
if(errConflictList != null && errConflictList.size() != 0)
|
if(errConflictList != null && errConflictList.size() != 0)
|
||||||
fErrComflictMatchList = errConflictList;
|
fErrComflictMatchList = errConflictList;
|
||||||
|
@ -125,14 +126,14 @@ public class ConfigurationModification extends FolderInfoModification implements
|
||||||
if(fCompatibilityInfoInited)
|
if(fCompatibilityInfoInited)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
fCompatibleBuilders = new HashMap();
|
fCompatibleBuilders = new HashMap<Builder, BuilderCompatibilityInfoElement>();
|
||||||
fInCompatibleBuilders = new HashMap();
|
fInCompatibleBuilders = new HashMap<Builder, BuilderCompatibilityInfoElement>();
|
||||||
ConflictMatchSet conflicts = getParentConflictMatchSet();
|
ConflictMatchSet conflicts = getParentConflictMatchSet();
|
||||||
Builder sysBs[] = (Builder[])getAllSysBuilders();
|
Builder sysBs[] = (Builder[])getAllSysBuilders();
|
||||||
Map conflictMap = conflicts.fObjToConflictListMap;
|
Map<Builder, List<ConflictMatch>> conflictMap = conflicts.fObjToConflictListMap;
|
||||||
for(int i = 0; i < sysBs.length; i++){
|
for(int i = 0; i < sysBs.length; i++){
|
||||||
Builder b = sysBs[i];
|
Builder b = sysBs[i];
|
||||||
List l = (List)conflictMap.get(b);
|
List<ConflictMatch> l = conflictMap.get(b);
|
||||||
BuilderCompatibilityInfoElement info = new BuilderCompatibilityInfoElement(b, l);
|
BuilderCompatibilityInfoElement info = new BuilderCompatibilityInfoElement(b, l);
|
||||||
if(info.isCompatible()){
|
if(info.isCompatible()){
|
||||||
fCompatibleBuilders.put(b, info);
|
fCompatibleBuilders.put(b, info);
|
||||||
|
@ -147,9 +148,9 @@ public class ConfigurationModification extends FolderInfoModification implements
|
||||||
private BuilderCompatibilityInfoElement getCurrentBuilderCompatibilityInfo(){
|
private BuilderCompatibilityInfoElement getCurrentBuilderCompatibilityInfo(){
|
||||||
if(fCurrentBuilderCompatibilityInfo == null){
|
if(fCurrentBuilderCompatibilityInfo == null){
|
||||||
initCompatibilityInfo();
|
initCompatibilityInfo();
|
||||||
BuilderCompatibilityInfoElement info = (BuilderCompatibilityInfoElement)fCompatibleBuilders.get(fRealBuilder);
|
BuilderCompatibilityInfoElement info = fCompatibleBuilders.get(fRealBuilder);
|
||||||
if(info == null)
|
if(info == null)
|
||||||
info = (BuilderCompatibilityInfoElement)fInCompatibleBuilders.get(fRealBuilder);
|
info = fInCompatibleBuilders.get(fRealBuilder);
|
||||||
fCurrentBuilderCompatibilityInfo = info;
|
fCurrentBuilderCompatibilityInfo = info;
|
||||||
}
|
}
|
||||||
return fCurrentBuilderCompatibilityInfo;
|
return fCurrentBuilderCompatibilityInfo;
|
||||||
|
@ -157,15 +158,15 @@ public class ConfigurationModification extends FolderInfoModification implements
|
||||||
|
|
||||||
public IBuilder[] getCompatibleBuilders() {
|
public IBuilder[] getCompatibleBuilders() {
|
||||||
initCompatibilityInfo();
|
initCompatibilityInfo();
|
||||||
List l = new ArrayList(fCompatibleBuilders.size());
|
List<Builder> l = new ArrayList<Builder>(fCompatibleBuilders.size());
|
||||||
IConfiguration cfg = getResourceInfo().getParent();
|
IConfiguration cfg = getResourceInfo().getParent();
|
||||||
|
|
||||||
for(Iterator iter = fCompatibleBuilders.keySet().iterator(); iter.hasNext(); ){
|
Set<Builder> keySet = fCompatibleBuilders.keySet();
|
||||||
Builder b = (Builder)iter.next();
|
for (Builder b : keySet) {
|
||||||
if(b != fRealBuilder && cfg.isBuilderCompatible(b))
|
if(b != fRealBuilder && cfg.isBuilderCompatible(b))
|
||||||
l.add(b);
|
l.add(b);
|
||||||
}
|
}
|
||||||
return (Builder[])l.toArray(new Builder[l.size()]);
|
return l.toArray(new Builder[l.size()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isBuilderCompatible() {
|
public boolean isBuilderCompatible() {
|
||||||
|
|
|
@ -47,20 +47,20 @@ public final class ObjectTypeBasedStorage implements Cloneable {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private int getType(int index){
|
// private int getType(int index){
|
||||||
switch (index) {
|
// switch (index) {
|
||||||
case TOOL_INDEX:
|
// case TOOL_INDEX:
|
||||||
return IRealBuildObjectAssociation.OBJECT_TOOL;
|
// return IRealBuildObjectAssociation.OBJECT_TOOL;
|
||||||
case TOOLCHAIN_INDEX:
|
// case TOOLCHAIN_INDEX:
|
||||||
return IRealBuildObjectAssociation.OBJECT_TOOLCHAIN;
|
// return IRealBuildObjectAssociation.OBJECT_TOOLCHAIN;
|
||||||
case BUILDER_INDEX:
|
// case BUILDER_INDEX:
|
||||||
return IRealBuildObjectAssociation.OBJECT_BUILDER;
|
// return IRealBuildObjectAssociation.OBJECT_BUILDER;
|
||||||
case CFG_INDEX:
|
// case CFG_INDEX:
|
||||||
return IRealBuildObjectAssociation.OBJECT_CONFIGURATION;
|
// return IRealBuildObjectAssociation.OBJECT_CONFIGURATION;
|
||||||
default:
|
// default:
|
||||||
throw new IllegalArgumentException();
|
// throw new IllegalArgumentException();
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
public Object get(int type){
|
public Object get(int type){
|
||||||
return fStorage[getIndex(type)];
|
return fStorage[getIndex(type)];
|
||||||
|
|
Loading…
Add table
Reference in a new issue