1
0
Fork 0
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:
Andrew Gvozdev 2010-07-31 03:38:16 +00:00
parent 4f2f11e78c
commit 563bdc57bc
2 changed files with 30 additions and 29 deletions

View file

@ -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() {

View file

@ -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)];