mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-23 17:05:26 +02:00
bug 319512: Missing type arguments on managedbuilder.core
This commit is contained in:
parent
6a4302eb01
commit
0d54e0ef9a
3 changed files with 12 additions and 11 deletions
|
@ -51,7 +51,7 @@ public class FolderInfoModification extends ToolListModification implements IFol
|
|||
private IToolChain[] fAllSysToolChains;
|
||||
private Map<ToolChain, ToolChainCompatibilityInfoElement> fCompatibleToolChains;
|
||||
private Map<ToolChain, ToolChainCompatibilityInfoElement> fInCompatibleToolChains;
|
||||
private PerTypeMapStorage fParentObjectStorage;
|
||||
private PerTypeMapStorage<IRealBuildObjectAssociation, Set<IPath>> fParentObjectStorage;
|
||||
private ConflictMatchSet fParentConflicts;
|
||||
// private PerTypeMapStorage fChildObjectStorage;
|
||||
// private ConflictMatchSet fChildConflicts;
|
||||
|
@ -75,13 +75,13 @@ public class FolderInfoModification extends ToolListModification implements IFol
|
|||
|
||||
private ConflictMatchSet getParentConflictMatchSet(){
|
||||
if(fParentConflicts == null){
|
||||
PerTypeMapStorage storage = getParentObjectStorage();
|
||||
PerTypeMapStorage<IRealBuildObjectAssociation, Set<IPath>> storage = getParentObjectStorage();
|
||||
fParentConflicts = ToolChainModificationManager.getInstance().getConflictInfo(IRealBuildObjectAssociation.OBJECT_TOOLCHAIN, storage);
|
||||
}
|
||||
return fParentConflicts;
|
||||
}
|
||||
|
||||
private PerTypeMapStorage getParentObjectStorage(){
|
||||
private PerTypeMapStorage<IRealBuildObjectAssociation, Set<IPath>> getParentObjectStorage(){
|
||||
if(fParentObjectStorage == null){
|
||||
fParentObjectStorage = TcModificationUtil.createParentObjectsRealToolToPathSet((FolderInfo)getResourceInfo());
|
||||
}
|
||||
|
@ -387,12 +387,10 @@ public class FolderInfoModification extends ToolListModification implements IFol
|
|||
ToolChain newRealTc = (ToolChain)ManagedBuildManager.getRealToolChain(newNonRealTc);
|
||||
|
||||
ToolChainApplicabilityPaths tcApplicability = getToolChainApplicabilityPaths();
|
||||
PerTypeMapStorage storage = getCompleteObjectStore();
|
||||
PerTypeMapStorage<? extends IRealBuildObjectAssociation, Set<IPath>> storage = getCompleteObjectStore();
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
Map<ToolChain, Set<IPath>> tcMap = storage.getMap(IRealBuildObjectAssociation.OBJECT_TOOLCHAIN, false);
|
||||
@SuppressWarnings("unchecked")
|
||||
Map<Tool, Set<IPath>> toolMap = storage.getMap(IRealBuildObjectAssociation.OBJECT_TOOL, false);
|
||||
Map<ToolChain, Set<IPath>> tcMap = (Map<ToolChain, Set<IPath>>) storage.getMap(IRealBuildObjectAssociation.OBJECT_TOOLCHAIN, false);
|
||||
Map<Tool, Set<IPath>> toolMap = (Map<Tool, Set<IPath>>) storage.getMap(IRealBuildObjectAssociation.OBJECT_TOOL, false);
|
||||
|
||||
|
||||
TcModificationUtil.removePaths(tcMap, fRealToolChain, tcApplicability.fFolderInfoPaths);
|
||||
|
|
|
@ -13,7 +13,9 @@ package org.eclipse.cdt.managedbuilder.internal.tcmodification;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class PerTypeMapStorage<K, V> implements Cloneable {
|
||||
import org.eclipse.cdt.managedbuilder.internal.core.IRealBuildObjectAssociation;
|
||||
|
||||
public class PerTypeMapStorage<K extends IRealBuildObjectAssociation, V> implements Cloneable {
|
||||
private ObjectTypeBasedStorage<Map<K, V>> fStorage = new ObjectTypeBasedStorage<Map<K, V>>();
|
||||
|
||||
public Map<K, V> getMap(int type, boolean create){
|
||||
|
|
|
@ -147,7 +147,7 @@ public class ToolChainModificationManager implements
|
|||
return added;
|
||||
}
|
||||
|
||||
public ConflictMatchSet getConflictInfo(int objType, PerTypeMapStorage parent){
|
||||
public ConflictMatchSet getConflictInfo(int objType, PerTypeMapStorage<IRealBuildObjectAssociation, Set<IPath>> parent){
|
||||
//parent should be passed - it is constant no need to recalculate every time
|
||||
//PerTypeMapStorage parent = TcModificationUtil.createParentObjectsRealToolToPathSet(foInfo);
|
||||
|
||||
|
@ -182,7 +182,7 @@ public class ToolChainModificationManager implements
|
|||
|
||||
}
|
||||
|
||||
private ConflictMatchSet getConflictMatches(int type, PerTypeMapStorage rtToPath, PerTypeSetStorage skip){
|
||||
private ConflictMatchSet getConflictMatches(int type, PerTypeMapStorage<IRealBuildObjectAssociation, Set<IPath>> rtToPath, PerTypeSetStorage<IRealBuildObjectAssociation> skip){
|
||||
|
||||
//conversion:
|
||||
//1.first filter applicable to not-this
|
||||
|
@ -204,6 +204,7 @@ public class ToolChainModificationManager implements
|
|||
if(rtToPathMap == null)
|
||||
continue;
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
Map<IRealBuildObjectAssociation, Set<IPath>> clone = (Map<IRealBuildObjectAssociation, Set<IPath>>)((HashMap<IRealBuildObjectAssociation, Set<IPath>>)rtToPathMap).clone();
|
||||
rtToPathMap = clone;
|
||||
Set<IRealBuildObjectAssociation> skipSet = skip != null ? (Set<IRealBuildObjectAssociation>)skip.getSet(objType, false) : null;
|
||||
|
|
Loading…
Add table
Reference in a new issue