From 648eb739726223655800ceed590736bfd6595ca9 Mon Sep 17 00:00:00 2001 From: Andrew Gvozdev Date: Wed, 9 Mar 2011 23:12:12 +0000 Subject: [PATCH] bug 319512: Missing type arguments on managedbuilder.core --- .../scannerconfig/PerFileSettingsCalculator.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/build/internal/core/scannerconfig/PerFileSettingsCalculator.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/build/internal/core/scannerconfig/PerFileSettingsCalculator.java index 6d3e0f377ee..eded9cf510e 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/build/internal/core/scannerconfig/PerFileSettingsCalculator.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/build/internal/core/scannerconfig/PerFileSettingsCalculator.java @@ -110,13 +110,18 @@ public class PerFileSettingsCalculator { private int fMaxIndex; private List[] fStore; + @SuppressWarnings("unchecked") + private List[] emptyStore(int size) { + return new List[size]; + } + public ListIndexStore(int size){ if(size < 0) size = 0; - fStore = new List[size]; + fStore = emptyStore(size); } - + public void add(int index, PathFilePathInfo value){ List list = checkResize(index) ? new ArrayList() : fStore[index]; if(list == null){ @@ -133,7 +138,7 @@ public class PerFileSettingsCalculator { private boolean checkResize(int index){ if(index >= fStore.length){ int newSize = ++index; - List resized[] = new List[newSize]; + List resized[] = emptyStore(newSize); if(fStore != null && fStore.length != 0){ System.arraycopy(fStore, 0, resized, 0, fStore.length); } @@ -153,7 +158,7 @@ public class PerFileSettingsCalculator { list.add(l); } - return list.toArray(new List[list.size()]); + return list.toArray(emptyStore(list.size())); } } @@ -205,7 +210,7 @@ public class PerFileSettingsCalculator { fPathFilePathInfoMap = new HashMap>(3); PathInfo fileInfo = pInfo.fInfo; - List list = fileInfo == fMaxMatchInfo ? fMaxMatchInfoList : (List)fPathFilePathInfoMap.get(fileInfo); + List list = fileInfo == fMaxMatchInfo ? fMaxMatchInfoList : fPathFilePathInfoMap.get(fileInfo); if(list == null){ List emptyList = new ArrayList(); fPathFilePathInfoMap.put(fileInfo, emptyList);