diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/tcmodification/ConflictSet.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/tcmodification/ConflictSet.java index c9f2ae38c92..5ff5256c860 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/tcmodification/ConflictSet.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/tcmodification/ConflictSet.java @@ -28,7 +28,7 @@ public class ConflictSet { public static final IConflict[] EMPTY_CONFLICT_ARRAY = new IConflict[0]; public static final IBuildObject[] EMPTY_BO_ARRAY = new IBuildObject[0]; - private PerTypeMapStorage fConflictStorage; + private PerTypeMapStorage fConflictStorage; private List fConflictMatchList; private Set fExtConflictSet; private IRealBuildObjectAssociation fRealObj; @@ -41,10 +41,10 @@ public class ConflictSet { private void init(){ if(fConflictStorage == null){ - fConflictStorage = new PerTypeMapStorage(); + fConflictStorage = new PerTypeMapStorage(); if(fConflictMatchList != null && fConflictMatchList.size() != 0){ int size = fConflictMatchList.size(); - PerTypeMapStorage result = new PerTypeMapStorage(); + PerTypeMapStorage> result = new PerTypeMapStorage>(); for(int i = 0; i < size; i++){ ConflictMatch match = fConflictMatchList.get(i); int objType = match.fMatchType; diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/tcmodification/ObjectTypeBasedStorage.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/tcmodification/ObjectTypeBasedStorage.java index ff4a3a98e57..2e902f962ca 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/tcmodification/ObjectTypeBasedStorage.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/tcmodification/ObjectTypeBasedStorage.java @@ -12,7 +12,7 @@ package org.eclipse.cdt.managedbuilder.internal.tcmodification; import org.eclipse.cdt.managedbuilder.internal.core.IRealBuildObjectAssociation; -public final class ObjectTypeBasedStorage implements Cloneable { +public final class ObjectTypeBasedStorage implements Cloneable { private static final int TOOL_INDEX = 0; private static final int TOOLCHAIN_INDEX = 1; private static final int BUILDER_INDEX = 2; @@ -26,7 +26,8 @@ public final class ObjectTypeBasedStorage implements Cloneable { IRealBuildObjectAssociation.OBJECT_CONFIGURATION, }; - private Object fStorage[] = new Object[SIZE]; + @SuppressWarnings("unchecked") + private T fStorage[] = (T[]) new Object[SIZE]; public static int[] getSupportedObjectTypes(){ return OBJECT_TYPES.clone(); @@ -62,13 +63,13 @@ public final class ObjectTypeBasedStorage implements Cloneable { // } // } - public Object get(int type){ + public T get(int type){ return fStorage[getIndex(type)]; } - public Object set(int type, Object value){ + public T set(int type, T value){ int index = getIndex(type); - Object oldValue = fStorage[index]; + T oldValue = fStorage[index]; fStorage[index] = value; return oldValue; } @@ -76,7 +77,8 @@ public final class ObjectTypeBasedStorage implements Cloneable { @Override public Object clone(){ try { - ObjectTypeBasedStorage clone = (ObjectTypeBasedStorage)super.clone(); + @SuppressWarnings("unchecked") + ObjectTypeBasedStorage clone = (ObjectTypeBasedStorage)super.clone(); clone.fStorage = fStorage.clone(); return clone; } catch (CloneNotSupportedException e) { diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/tcmodification/PerTypeMapStorage.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/tcmodification/PerTypeMapStorage.java index 367f899a4f4..d4034ebc4f6 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/tcmodification/PerTypeMapStorage.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/tcmodification/PerTypeMapStorage.java @@ -12,15 +12,12 @@ package org.eclipse.cdt.managedbuilder.internal.tcmodification; import java.util.HashMap; import java.util.Map; -import java.util.Set; -import org.eclipse.cdt.managedbuilder.internal.core.IRealBuildObjectAssociation; +public class PerTypeMapStorage implements Cloneable { + private ObjectTypeBasedStorage> fStorage = new ObjectTypeBasedStorage>(); -public class PerTypeMapStorage implements Cloneable { - private ObjectTypeBasedStorage fStorage = new ObjectTypeBasedStorage(); - - public Map/**/ getMap(int type, boolean create){ - Map map = (Map)fStorage.get(type); + public Map getMap(int type, boolean create){ + Map map = fStorage.get(type); if(map == null && create){ map = createMap(null); fStorage.set(type, map); @@ -28,23 +25,23 @@ public class PerTypeMapStorage implements Cloneable { return map; } - protected Map createMap(Map map){ + protected Map createMap(Map map){ if(map == null) { - return new HashMap(); + return new HashMap(); } @SuppressWarnings("unchecked") - Map clone = (Map)((HashMap)map).clone(); + Map clone = (Map)((HashMap)map).clone(); return clone; } @Override public Object clone(){ try { - PerTypeMapStorage clone = (PerTypeMapStorage)super.clone(); + @SuppressWarnings("unchecked") + PerTypeMapStorage clone = (PerTypeMapStorage)super.clone(); int types[] = ObjectTypeBasedStorage.getSupportedObjectTypes(); for(int i = 0; i < types.length; i++){ - @SuppressWarnings("unchecked") - Map o = (Map) clone.fStorage.get(types[i]); + Map o = clone.fStorage.get(types[i]); if(o != null){ clone.fStorage.set(types[i], clone.createMap(o)); } diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/tcmodification/PerTypeSetStorage.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/tcmodification/PerTypeSetStorage.java index 0d3bb706c4b..91a1d218396 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/tcmodification/PerTypeSetStorage.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/tcmodification/PerTypeSetStorage.java @@ -13,13 +13,11 @@ package org.eclipse.cdt.managedbuilder.internal.tcmodification; import java.util.LinkedHashSet; import java.util.Set; -import org.eclipse.cdt.managedbuilder.internal.core.IRealBuildObjectAssociation; - -public class PerTypeSetStorage implements Cloneable { - private ObjectTypeBasedStorage fStorage = new ObjectTypeBasedStorage(); +public class PerTypeSetStorage implements Cloneable { + private ObjectTypeBasedStorage> fStorage = new ObjectTypeBasedStorage>(); - public Set getSet(int type, boolean create){ - Set set = (Set)fStorage.get(type); + public Set getSet(int type, boolean create){ + Set set = fStorage.get(type); if(set == null && create){ set = createSet(null); fStorage.set(type, set); @@ -27,23 +25,25 @@ public class PerTypeSetStorage implements Cloneable { return set; } - protected Set createSet(Set set){ + protected Set createSet(Set set){ if(set == null) - return new LinkedHashSet(); + return new LinkedHashSet(); @SuppressWarnings("unchecked") - Set clone = (Set)((LinkedHashSet)set).clone(); + Set clone = (Set)((LinkedHashSet)set).clone(); return clone; } @Override public Object clone(){ try { - PerTypeSetStorage clone = (PerTypeSetStorage)super.clone(); - clone.fStorage = (ObjectTypeBasedStorage)fStorage.clone(); + @SuppressWarnings("unchecked") + PerTypeSetStorage clone = (PerTypeSetStorage)super.clone(); + @SuppressWarnings("unchecked") + ObjectTypeBasedStorage> storageClone = (ObjectTypeBasedStorage>)fStorage.clone(); + clone.fStorage = storageClone; int types[] = ObjectTypeBasedStorage.getSupportedObjectTypes(); for(int i = 0; i < types.length; i++){ - @SuppressWarnings("unchecked") - Set o = (Set) clone.fStorage.get(types[i]); + Set o = clone.fStorage.get(types[i]); if(o != null){ clone.fStorage.set(types[i], createSet(o)); } @@ -61,8 +61,7 @@ public class PerTypeSetStorage implements Cloneable { if(emptySetAsNull){ int types[] = ObjectTypeBasedStorage.getSupportedObjectTypes(); for(int i = 0; i < types.length; i++){ - @SuppressWarnings("unchecked") - Set o = (Set) fStorage.get(types[i]); + Set o = fStorage.get(types[i]); if(o != null && !o.isEmpty()) return false; } diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/tcmodification/extension/MatchObjectElement.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/tcmodification/extension/MatchObjectElement.java index a87a55141b8..5b2091e28c8 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/tcmodification/extension/MatchObjectElement.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/tcmodification/extension/MatchObjectElement.java @@ -37,7 +37,7 @@ public class MatchObjectElement { public static class TypeToStringAssociation { private int fType; private String fString; - private static ObjectTypeBasedStorage fTypeAssociationStorage = new ObjectTypeBasedStorage(); + private static ObjectTypeBasedStorage fTypeAssociationStorage = new ObjectTypeBasedStorage(); private static Map fStringAssociationStorage = new HashMap(); public static TypeToStringAssociation TOOL = new TypeToStringAssociation(IRealBuildObjectAssociation.OBJECT_TOOL, "tool"); //$NON-NLS-1$ @@ -65,7 +65,7 @@ public class MatchObjectElement { } public static TypeToStringAssociation getAssociation(int type){ - return (TypeToStringAssociation)fTypeAssociationStorage.get(type); + return fTypeAssociationStorage.get(type); } } diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/tcmodification/extension/RulesManager.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/tcmodification/extension/RulesManager.java index cb86fa0a6e6..2365cd090e2 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/tcmodification/extension/RulesManager.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/tcmodification/extension/RulesManager.java @@ -44,7 +44,7 @@ public class RulesManager { private ConflictDefinition[] fConflictDefinitions; private Map fMatchObjectMap = new HashMap(); - private PerTypeMapStorage fObjToChildSuperClassMap; + private PerTypeMapStorage> fObjToChildSuperClassMap; private StarterJob fStarter; private boolean fIsStartInited; @@ -232,13 +232,13 @@ public class RulesManager { private Set getChildSuperClassRealSet(IRealBuildObjectAssociation obj, IRealBuildObjectAssociation[] all){ if(fObjToChildSuperClassMap == null) - fObjToChildSuperClassMap = new PerTypeMapStorage(); + fObjToChildSuperClassMap = new PerTypeMapStorage>(); if(all == null) all = TcModificationUtil.getExtensionObjects(obj.getType()); - Map map = fObjToChildSuperClassMap.getMap(obj.getType(), true); - Set set = map.get(obj); + Map> map = fObjToChildSuperClassMap.getMap(obj.getType(), true); + Set set = map.get(obj); if(set == null){ set = createChildSuperClassRealSet(obj, all, null); map.put(obj, set);