Hello,

There are a few stray raw and unchecked warnings remaining in core libs; please review my fix:

    JDK-8054050: Fix stay raw and unchecked lint warnings in core libs
    http://cr.openjdk.java.net/~darcy/8054050.0/

Patch below.

Thanks,

-Joe

--- old/src/share/classes/com/sun/management/GcInfo.java 2014-07-31 10:51:14.000000000 -0700 +++ new/src/share/classes/com/sun/management/GcInfo.java 2014-07-31 10:51:14.000000000 -0700
@@ -267,7 +267,7 @@
         return cdata.toString();
     }

-    public Collection values() {
+    public Collection<?> values() {
         return cdata.values();
     }

--- old/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParser.java 2014-07-31 10:51:14.000000000 -0700 +++ new/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParser.java 2014-07-31 10:51:14.000000000 -0700
@@ -33,18 +33,18 @@

 public class ExpressionParser implements ExpressionParserConstants {

-  Stack stack = new Stack();
+  Stack<LValue> stack = new Stack<>();
   VirtualMachine vm = null;
   GetFrame frameGetter = null;
   private static GetFrame lastFrameGetter;
   private static LValue lastLValue;

   LValue peek() {
-    return (LValue)stack.peek();
+    return stack.peek();
   }

   LValue pop() {
-    return (LValue)stack.pop();
+    return stack.pop();
   }

   void push(LValue lval) {
@@ -915,7 +915,7 @@
   }

   final public void PrimarySuffix() throws ParseException {
- List argList;
+ List<Value> argList;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case LBRACKET:
       jj_consume_token(LBRACKET);
@@ -993,8 +993,8 @@
     jj_consume_token(NULL);
   }

-  final public List Arguments() throws ParseException {
- List argList = new ArrayList();
+  final public List<Value> Arguments() throws ParseException {
+ List<Value> argList = new ArrayList<>();
     jj_consume_token(LPAREN);
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case FALSE:
@@ -1026,7 +1026,7 @@
     throw new Error("Missing return statement in function");
   }

-  final public void ArgumentList(List argList) throws ParseException {
+ final public void ArgumentList(List<Value> argList) throws ParseException {
     Expression();
                 argList.add(pop().interiorGetValue());
     label_17:
@@ -1046,7 +1046,7 @@
   }

   final public void AllocationExpression() throws ParseException {
- List argList; String className;
+ List<Value> argList; String className;
     if (jj_2_7(2)) {
       jj_consume_token(NEW);
       PrimitiveType();
--- old/src/share/classes/com/sun/tools/hat/internal/model/JavaClass.java 2014-07-31 10:51:15.000000000 -0700 +++ new/src/share/classes/com/sun/tools/hat/internal/model/JavaClass.java 2014-07-31 10:51:15.000000000 -0700
@@ -229,9 +229,9 @@
         return name.indexOf('[') != -1;
     }

-    public Enumeration getInstances(boolean includeSubclasses) {
+ public Enumeration<JavaHeapObject> getInstances(boolean includeSubclasses) {
         if (includeSubclasses) {
-            Enumeration res = instances.elements();
+            Enumeration<JavaHeapObject> res = instances.elements();
             for (int i = 0; i < subclasses.length; i++) {
                 res = new CompositeEnumeration(res,
                               subclasses[i].getInstances(true));
--- old/src/share/classes/com/sun/tools/hat/internal/model/JavaHeapObject.java 2014-07-31 10:51:15.000000000 -0700 +++ new/src/share/classes/com/sun/tools/hat/internal/model/JavaHeapObject.java 2014-07-31 10:51:15.000000000 -0700
@@ -166,11 +166,11 @@
      *
      * @return an Enumeration of JavaHeapObject instances
      */
-    public Enumeration getReferers() {
+    public Enumeration<JavaThing> getReferers() {
         if (referersLen != -1) {
             throw new RuntimeException("not resolved: " + getIdString());
         }
-        return new Enumeration() {
+        return new Enumeration<JavaThing>() {

             private int num = 0;

@@ -178,7 +178,7 @@
                 return referers != null && num < referers.length;
             }

-            public Object nextElement() {
+            public JavaThing nextElement() {
                 return referers[num++];
             }
         };
--- old/src/share/classes/com/sun/tools/hat/internal/model/ReachableExcludesImpl.java 2014-07-31 10:51:16.000000000 -0700 +++ new/src/share/classes/com/sun/tools/hat/internal/model/ReachableExcludesImpl.java 2014-07-31 10:51:16.000000000 -0700
@@ -54,7 +54,7 @@

     private File excludesFile;
     private long lastModified;
-    private Hashtable methods;  // Hashtable<String, String>, used as a bag
+    private Hashtable<String, String> methods;  // Used as a bag

     /**
* Create a new ReachableExcludesImpl over the given file. The file will be --- old/src/share/classes/com/sun/tools/hat/internal/model/ReachableObjects.java 2014-07-31 10:51:16.000000000 -0700 +++ new/src/share/classes/com/sun/tools/hat/internal/model/ReachableObjects.java 2014-07-31 10:51:16.000000000 -0700
@@ -86,7 +86,7 @@
// Now grab the elements into a vector, and sort it in decreasing size
         JavaThing[] things = new JavaThing[bag.size()];
         int i = 0;
-        for (Enumeration e = bag.elements(); e.hasMoreElements(); ) {
+ for (Enumeration<JavaHeapObject> e = bag.elements(); e.hasMoreElements(); ) {
             things[i++] = (JavaThing) e.nextElement();
         }
         ArraySorter.sort(things, new Comparer() {
@@ -131,7 +131,7 @@
         return usedFields;
     }

-    private String[] getElements(Hashtable ht) {
+    private String[] getElements(Hashtable<?, ?> ht) {
         Object[] keys = ht.keySet().toArray();
         int len = keys.length;
         String[] res = new String[len];
--- old/src/share/classes/com/sun/tools/hat/internal/model/Snapshot.java 2014-07-31 10:51:17.000000000 -0700 +++ new/src/share/classes/com/sun/tools/hat/internal/model/Snapshot.java 2014-07-31 10:51:16.000000000 -0700
@@ -81,7 +81,7 @@
                  new HashMap<JavaHeapObject, Root>();

     // soft cache of finalizeable objects - lazily initialized
-    private SoftReference<Vector> finalizablesCache;
+    private SoftReference<Vector<?>> finalizablesCache;

     // represents null reference
     private JavaThing nullThing;
@@ -383,7 +383,7 @@
     /**
      * Return an Iterator of all of the classes in this snapshot.
      **/
-    public Iterator getClasses() {
+    public Iterator<JavaClass> getClasses() {
         // note that because classes is a TreeMap
         // classes are already sorted by name
         return classes.values().iterator();
@@ -395,8 +395,8 @@
         return res;
     }

-    public synchronized Enumeration getFinalizerObjects() {
-        Vector obj;
+    public synchronized Enumeration<?> getFinalizerObjects() {
+        Vector<?> obj;
         if (finalizablesCache != null &&
             (obj = finalizablesCache.get()) != null) {
             return obj.elements();
@@ -418,7 +418,7 @@
                 finalizables.add(referent);
             }
         }
-        finalizablesCache = new SoftReference<Vector>(finalizables);
+        finalizablesCache = new SoftReference<Vector<?>>(finalizables);
         return finalizables.elements();
     }

@@ -455,7 +455,7 @@
// Even though curr is in the rootset, we want to explore its
                 // referers, because they might be more interesting.
             }
-            Enumeration referers = curr.getReferers();
+            Enumeration<JavaThing> referers = curr.getReferers();
             while (referers.hasMoreElements()) {
JavaHeapObject t = (JavaHeapObject) referers.nextElement();
                 if (t != null && !visited.containsKey(t)) {
--- old/src/share/classes/com/sun/tools/hat/internal/oql/OQLEngine.java 2014-07-31 10:51:17.000000000 -0700 +++ new/src/share/classes/com/sun/tools/hat/internal/oql/OQLEngine.java 2014-07-31 10:51:17.000000000 -0700
@@ -51,7 +51,7 @@

             // create JavaScript engine
Method getEngineMethod = managerClass.getMethod("getEngineByName",
-                                new Class[] { String.class });
+                                new Class<?>[] { String.class });
Object jse = getEngineMethod.invoke(manager, new Object[] {"js"});
             oqlSupported = (jse != null);
         } catch (Exception exp) {
@@ -205,9 +205,9 @@
             }

             if (q.className != null) {
-                Enumeration objects = clazz.getInstances(q.isInstanceOf);
+ Enumeration<JavaHeapObject> objects = clazz.getInstances(q.isInstanceOf);
                 while (objects.hasMoreElements()) {
- JavaHeapObject obj = (JavaHeapObject) objects.nextElement();
+                    JavaHeapObject obj = objects.nextElement();
                     Object[] args = new Object[] { wrapJavaObject(obj) };
                     boolean b = (whereCode == null);
                     if (!b) {
@@ -265,14 +265,14 @@

             // create JavaScript engine
Method getEngineMethod = managerClass.getMethod("getEngineByName",
-                                new Class[] { String.class });
+                                new Class<?>[] { String.class });
             engine = getEngineMethod.invoke(manager, new Object[] {"js"});

             // initialize engine with init file (hat.js)
             InputStream strm = getInitStream();
Class<?> engineClass = Class.forName("javax.script.ScriptEngine");
             evalMethod = engineClass.getMethod("eval",
-                                new Class[] { Reader.class });
+                                new Class<?>[] { Reader.class });
evalMethod.invoke(engine, new Object[] {new InputStreamReader(strm)});

             // initialize ScriptEngine.eval(String) and
@@ -280,13 +280,13 @@
Class<?> invocableClass = Class.forName("javax.script.Invocable");

             evalMethod = engineClass.getMethod("eval",
-                                  new Class[] { String.class });
+                                  new Class<?>[] { String.class });
             invokeMethod = invocableClass.getMethod("invokeFunction",
- new Class[] { String.class, Object[].class }); + new Class<?>[] { String.class, Object[].class });

             // initialize ScriptEngine.put(String, Object) method
             Method putMethod = engineClass.getMethod("put",
- new Class[] { String.class, Object.class }); + new Class<?>[] { String.class, Object.class });

             // call ScriptEngine.put to initialize built-in heap object
             putMethod.invoke(engine, new Object[] {
--- old/src/share/classes/com/sun/tools/hat/internal/server/AllClassesQuery.java 2014-07-31 10:51:18.000000000 -0700 +++ new/src/share/classes/com/sun/tools/hat/internal/server/AllClassesQuery.java 2014-07-31 10:51:17.000000000 -0700
@@ -58,10 +58,10 @@
             startHtml("All Classes (including platform)");
         }

-        Iterator classes = snapshot.getClasses();
+        Iterator<JavaClass> classes = snapshot.getClasses();
         String lastPackage = null;
         while (classes.hasNext()) {
-            JavaClass clazz = (JavaClass) classes.next();
+            JavaClass clazz = classes.next();
if (excludePlatform && PlatformClasses.isPlatformClass(clazz)) {
                 // skip this..
                 continue;
--- old/src/share/classes/com/sun/tools/hat/internal/server/ClassQuery.java 2014-07-31 10:51:18.000000000 -0700 +++ new/src/share/classes/com/sun/tools/hat/internal/server/ClassQuery.java 2014-07-31 10:51:18.000000000 -0700
@@ -151,7 +151,7 @@
         }
         out.println("<h2>References to this object:</h2>");
         out.flush();
-        Enumeration referers = obj.getReferers();
+        Enumeration<JavaThing> referers = obj.getReferers();
         while (referers.hasMoreElements()) {
             JavaHeapObject ref = (JavaHeapObject) referers.nextElement();
             printThing(ref);
--- old/src/share/classes/com/sun/tools/hat/internal/server/FinalizerObjectsQuery.java 2014-07-31 10:51:19.000000000 -0700 +++ new/src/share/classes/com/sun/tools/hat/internal/server/FinalizerObjectsQuery.java 2014-07-31 10:51:19.000000000 -0700
@@ -37,7 +37,7 @@

 public class FinalizerObjectsQuery extends QueryHandler {
     public void run() {
-        Enumeration objs = snapshot.getFinalizerObjects();
+        Enumeration<?> objs = snapshot.getFinalizerObjects();
         startHtml("Objects pending finalization");

         out.println("<a href='/finalizerSummary/'>Finalizer summary</a>");
--- old/src/share/classes/com/sun/tools/hat/internal/server/FinalizerSummaryQuery.java 2014-07-31 10:51:19.000000000 -0700 +++ new/src/share/classes/com/sun/tools/hat/internal/server/FinalizerSummaryQuery.java 2014-07-31 10:51:19.000000000 -0700
@@ -37,7 +37,7 @@

 public class FinalizerSummaryQuery extends QueryHandler {
     public void run() {
-        Enumeration objs = snapshot.getFinalizerObjects();
+        Enumeration<?> objs = snapshot.getFinalizerObjects();
         startHtml("Finalizer Summary");

         out.println("<p align='center'>");
@@ -74,7 +74,7 @@
         private long count;
     }

-    private void printFinalizerSummary(Enumeration objs) {
+    private void printFinalizerSummary(Enumeration<?> objs) {
         int count = 0;
Map<JavaClass, HistogramElement> map = new HashMap<JavaClass, HistogramElement>();

--- old/src/share/classes/com/sun/tools/hat/internal/server/InstancesCountQuery.java 2014-07-31 10:51:20.000000000 -0700 +++ new/src/share/classes/com/sun/tools/hat/internal/server/InstancesCountQuery.java 2014-07-31 10:51:20.000000000 -0700
@@ -111,10 +111,10 @@
             }
             out.print("</a> ");
             if (snapshot.getHasNewSet()) {
-                Enumeration objects = clazz.getInstances(false);
+ Enumeration<JavaHeapObject> objects = clazz.getInstances(false);
                 int newInst = 0;
                 while (objects.hasMoreElements()) {
- JavaHeapObject obj = (JavaHeapObject)objects.nextElement();
+                    JavaHeapObject obj = objects.nextElement();
                     if (obj.isNew()) {
                         newInst++;
                     }
--- old/src/share/classes/com/sun/tools/hat/internal/server/InstancesQuery.java 2014-07-31 10:51:21.000000000 -0700 +++ new/src/share/classes/com/sun/tools/hat/internal/server/InstancesQuery.java 2014-07-31 10:51:20.000000000 -0700
@@ -73,11 +73,11 @@
             out.print("<strong>");
             printClass(clazz);
             out.print("</strong><br><br>");
-            Enumeration objects = clazz.getInstances(includeSubclasses);
+ Enumeration<JavaHeapObject> objects = clazz.getInstances(includeSubclasses);
             long totalSize = 0;
             long instances = 0;
             while (objects.hasMoreElements()) {
- JavaHeapObject obj = (JavaHeapObject) objects.nextElement();
+                JavaHeapObject obj = objects.nextElement();
                 if (newObjects && !obj.isNew())
                     continue;
                 printThing(obj);
--- old/src/share/classes/com/sun/tools/hat/internal/server/RefsByTypeQuery.java 2014-07-31 10:51:21.000000000 -0700 +++ new/src/share/classes/com/sun/tools/hat/internal/server/RefsByTypeQuery.java 2014-07-31 10:51:21.000000000 -0700
@@ -47,15 +47,15 @@
         } else {
Map<JavaClass, Long> referrersStat = new HashMap<JavaClass, Long>(); final Map<JavaClass, Long> refereesStat = new HashMap<JavaClass, Long>();
-            Enumeration instances = clazz.getInstances(false);
+ Enumeration<JavaHeapObject> instances = clazz.getInstances(false);
             while (instances.hasMoreElements()) {
- JavaHeapObject instance = (JavaHeapObject) instances.nextElement();
+                JavaHeapObject instance = instances.nextElement();
                 if (instance.getId() == -1) {
                     continue;
                 }
-                Enumeration e = instance.getReferers();
+                Enumeration<JavaThing> e = instance.getReferers();
                 while (e.hasMoreElements()) {
-                    JavaHeapObject ref = (JavaHeapObject) e.nextElement();
+                    JavaHeapObject ref = (JavaHeapObject)e.nextElement();
                     JavaClass cl = ref.getClazz();
                     if (cl == null) {
                          System.out.println("null class for " + ref);
--- old/src/share/classes/com/sun/tools/hat/internal/util/CompositeEnumeration.java 2014-07-31 10:51:22.000000000 -0700 +++ new/src/share/classes/com/sun/tools/hat/internal/util/CompositeEnumeration.java 2014-07-31 10:51:21.000000000 -0700
@@ -34,12 +34,13 @@

 import java.util.Enumeration;
 import java.util.NoSuchElementException;
+import com.sun.tools.hat.internal.model.JavaHeapObject;

-public class CompositeEnumeration implements Enumeration {
-    Enumeration e1;
-    Enumeration e2;
+public class CompositeEnumeration implements Enumeration<JavaHeapObject> {
+    Enumeration<JavaHeapObject> e1;
+    Enumeration<JavaHeapObject> e2;

-    public CompositeEnumeration(Enumeration e1, Enumeration e2) {
+ public CompositeEnumeration(Enumeration<JavaHeapObject> e1, Enumeration<JavaHeapObject> e2) {
         this.e1 = e1;
         this.e2 = e2;
     }
@@ -48,7 +49,7 @@
         return e1.hasMoreElements() || e2.hasMoreElements();
     }

-    public Object nextElement() {
+    public JavaHeapObject nextElement() {
         if (e1.hasMoreElements()) {
             return e1.nextElement();
         }
--- old/src/share/classes/com/sun/tools/jdi/EventRequestManagerImpl.java 2014-07-31 10:51:22.000000000 -0700 +++ new/src/share/classes/com/sun/tools/jdi/EventRequestManagerImpl.java 2014-07-31 10:51:22.000000000 -0700
@@ -39,7 +39,7 @@
 // Warnings from List filters and List[] requestLists is  hard to fix.
 // Remove SuppressWarning when we fix the warnings from List filters
 // and List[] requestLists. The generic array is not supported.
-@SuppressWarnings("unchecked")
+@SuppressWarnings({"unchecked", "rawtypes"})
 class EventRequestManagerImpl extends MirrorImpl
                                        implements EventRequestManager
 {
--- old/src/share/classes/jdk/nio/zipfs/ZipFileAttributeView.java 2014-07-31 10:51:22.000000000 -0700 +++ new/src/share/classes/jdk/nio/zipfs/ZipFileAttributeView.java 2014-07-31 10:51:22.000000000 -0700
@@ -59,6 +59,7 @@
         this.isZipView = isZipView;
     }

+    @SuppressWarnings("unchecked") // Cast to V
static <V extends FileAttributeView> V get(ZipPath path, Class<V> type) {
         if (type == null)
             throw new NullPointerException();
--- old/src/share/classes/jdk/nio/zipfs/ZipFileSystemProvider.java 2014-07-31 10:51:23.000000000 -0700 +++ new/src/share/classes/jdk/nio/zipfs/ZipFileSystemProvider.java 2014-07-31 10:51:23.000000000 -0700
@@ -271,6 +271,7 @@
     }

     @Override
+    @SuppressWarnings("unchecked") // Cast to A
     public <A extends BasicFileAttributes> A
         readAttributes(Path path, Class<A> type, LinkOption... options)
         throws IOException
--- old/src/solaris/classes/sun/nio/ch/InheritedChannel.java 2014-07-31 10:51:24.000000000 -0700 +++ new/src/solaris/classes/sun/nio/ch/InheritedChannel.java 2014-07-31 10:51:23.000000000 -0700
@@ -165,7 +165,7 @@
         // Have to use reflection and also make assumption on how FD
         // is implemented.

-        Class paramTypes[] = { int.class };
+        Class<?> paramTypes[] = { int.class };
Constructor<?> ctr = Reflect.lookupConstructor("java.io.FileDescriptor",
                                                        paramTypes);
         Object args[] = { new Integer(fdVal) };

Reply via email to