changeset 58515:3ecfa2b80db2

8241310: Fix warnings in jdk buildtools Reviewed-by: erikj, forax
author ihse
date Mon, 23 Mar 2020 10:26:13 +0100
parents 3df253feab7b
children f81815820cd5
files make/CompileToolsJdk.gmk make/jdk/src/classes/build/tools/cldrconverter/Bundle.java make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java make/jdk/src/classes/build/tools/cldrconverter/PluralsParseHandler.java make/jdk/src/classes/build/tools/dtdbuilder/DTDBuilder.java make/jdk/src/classes/build/tools/dtdbuilder/DTDInputStream.java make/jdk/src/classes/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java make/jdk/src/classes/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java make/jdk/src/classes/build/tools/generatecharacter/CharacterName.java make/jdk/src/classes/build/tools/generatecharacter/CharacterScript.java make/jdk/src/classes/build/tools/generatecharacter/PrintCharacterRanges.java make/jdk/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java make/jdk/src/classes/build/tools/jdwpgen/Parse.java make/jdk/src/classes/build/tools/tzdb/TzdbZoneRulesProvider.java make/jdk/src/classes/build/tools/x11wrappergen/WrapperGenerator.java
diffstat 15 files changed, 165 insertions(+), 105 deletions(-) [+]
line wrap: on
line diff
--- a/make/CompileToolsJdk.gmk	Mon Mar 23 08:37:45 2020 +0800
+++ b/make/CompileToolsJdk.gmk	Mon Mar 23 10:26:13 2020 +0100
@@ -43,7 +43,7 @@
     $(BUILDTOOLS_OUTPUTDIR)/interim_tzdb_classes \
     #
 
-$(eval $(call SetupJavaCompilation,BUILD_TOOLS_JDK, \
+$(eval $(call SetupJavaCompilation, BUILD_TOOLS_JDK, \
     SETUP := GENERATE_OLDBYTECODE, \
     SRC := $(BUILD_TOOLS_SRC_DIRS), \
     EXCLUDES := \
@@ -53,7 +53,6 @@
         build/tools/jigsaw \
         build/tools/depend \
         , \
-    DISABLED_WARNINGS := unchecked rawtypes deprecation cast, \
     BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes, \
     ADD_JAVAC_FLAGS := \
         --add-exports java.desktop/sun.awt=ALL-UNNAMED \
--- a/make/jdk/src/classes/build/tools/cldrconverter/Bundle.java	Mon Mar 23 08:37:45 2020 +0800
+++ b/make/jdk/src/classes/build/tools/cldrconverter/Bundle.java	Mon Mar 23 10:26:13 2020 +0100
@@ -191,6 +191,7 @@
         String[] cldrBundles = getCLDRPath().split(",");
 
         // myMap contains resources for id.
+        @SuppressWarnings("unchecked")
         Map<String, Object> myMap = new HashMap<>();
         int index;
         for (index = 0; index < cldrBundles.length; index++) {
@@ -230,10 +231,12 @@
         }
 
         for (String k : COMPACT_NUMBER_PATTERN_KEYS) {
+            @SuppressWarnings("unchecked")
             List<String> patterns = (List<String>) myMap.remove(k);
             if (patterns != null) {
                 // Convert the map value from List<String> to String[], replacing any missing
                 // entry from the parents map, if any.
+                @SuppressWarnings("unchecked")
                 final List<String> pList = (List<String>)parentsMap.get(k);
                 int size = patterns.size();
                 int psize = pList != null ? pList.size() : 0;
--- a/make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java	Mon Mar 23 08:37:45 2020 +0800
+++ b/make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java	Mon Mar 23 10:26:13 2020 +0100
@@ -434,7 +434,7 @@
         parentData.keySet().stream()
                 .filter(key -> key.startsWith(PARENT_LOCALE_PREFIX))
                 .forEach(key -> {
-                parentLocalesMap.put(key, new TreeSet(
+                parentLocalesMap.put(key, new TreeSet<String>(
                     Arrays.asList(((String)parentData.get(key)).split(" "))));
             });
 
@@ -481,7 +481,7 @@
         });
     }
 
-    private static void parseLDMLFile(File srcfile, AbstractLDMLHandler handler) throws Exception {
+    private static void parseLDMLFile(File srcfile, AbstractLDMLHandler<?> handler) throws Exception {
         info("..... Parsing " + srcfile.getName() + " .....");
         SAXParserFactory pf = SAXParserFactory.newInstance();
         pf.setValidating(true);
@@ -574,7 +574,7 @@
      * Translate the aliases into the real entries in the bundle map.
      */
     static void handleAliases(Map<String, Object> bundleMap) {
-        Set bundleKeys = bundleMap.keySet();
+        Set<String> bundleKeys = bundleMap.keySet();
         try {
             for (String key : aliases.keySet()) {
                 String targetKey = aliases.get(key);
@@ -1158,10 +1158,10 @@
 
     private static Stream<String> pluralRulesStream() {
         return handlerPlurals.getData().entrySet().stream()
-            .filter(e -> !((Map<String, String>)e.getValue()).isEmpty())
+            .filter(e -> !(e.getValue()).isEmpty())
             .map(e -> {
                 String loc = e.getKey();
-                Map<String, String> rules = (Map<String, String>)e.getValue();
+                Map<String, String> rules = e.getValue();
                 return "        {\"" + loc + "\", \"" +
                     rules.entrySet().stream()
                         .map(rule -> rule.getKey() + ":" + rule.getValue().replaceFirst("@.*", ""))
--- a/make/jdk/src/classes/build/tools/cldrconverter/PluralsParseHandler.java	Mon Mar 23 08:37:45 2020 +0800
+++ b/make/jdk/src/classes/build/tools/cldrconverter/PluralsParseHandler.java	Mon Mar 23 10:26:13 2020 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -40,7 +40,7 @@
  * plurals.xml
  */
 
-class PluralsParseHandler extends AbstractLDMLHandler<Object> {
+class PluralsParseHandler extends AbstractLDMLHandler<Map<String, String>> {
     @Override
     public InputSource resolveEntity(String publicID, String systemID) throws IOException, SAXException {
         // avoid HTTP traffic to unicode.org
@@ -82,13 +82,13 @@
         switch (qName) {
             case "pluralRule":
                 assert !(currentContainer instanceof Entry);
-                Entry entry = (Entry)currentContainer;
+                Entry<?> entry = (Entry<?>)currentContainer;
                 final String count = entry.getKey();
                 final String rule = (String)entry.getValue();
                 String locales = ((KeyContainer)(currentContainer.getParent())).getKey();
                 Arrays.stream(locales.split("\\s"))
                         .forEach(loc -> {
-                            Map<String, String> rules = (Map<String, String>)get(loc);
+                            Map<String, String> rules = get(loc);
                             if (rules == null) {
                                 rules = new HashMap<>();
                                 put(loc, rules);
--- a/make/jdk/src/classes/build/tools/dtdbuilder/DTDBuilder.java	Mon Mar 23 08:37:45 2020 +0800
+++ b/make/jdk/src/classes/build/tools/dtdbuilder/DTDBuilder.java	Mon Mar 23 10:26:13 2020 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2020, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -139,7 +139,7 @@
         }
         int i = namesVector.size();
         namesVector.addElement(name);
-        namesHash.put(name, new Integer(i));
+        namesHash.put(name, i);
         return (short) i;
     }
 
--- a/make/jdk/src/classes/build/tools/dtdbuilder/DTDInputStream.java	Mon Mar 23 08:37:45 2020 +0800
+++ b/make/jdk/src/classes/build/tools/dtdbuilder/DTDInputStream.java	Mon Mar 23 10:26:13 2020 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2020, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -92,8 +92,8 @@
      * Push an entire input stream
      */
     void push(Reader in) throws IOException {
-        stack.push(new Integer(ln));
-        stack.push(new Integer(ch));
+        stack.push(Integer.valueOf(ln));
+        stack.push(Integer.valueOf(ch));
         stack.push(this.in);
         this.in = in;
         ch = in.read();
--- a/make/jdk/src/classes/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java	Mon Mar 23 08:37:45 2020 +0800
+++ b/make/jdk/src/classes/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java	Mon Mar 23 10:26:13 2020 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -87,12 +87,12 @@
         ResourceBundle rules, info;
 
         info = (ResourceBundle) Class.forName(
-            localizedBundleName("sun.text.resources", "BreakIteratorInfo")).newInstance();
+            localizedBundleName("sun.text.resources", "BreakIteratorInfo")).getDeclaredConstructor().newInstance();
 
         classNames = info.getStringArray("BreakIteratorClasses");
 
         rules = (ResourceBundle) Class.forName(
-            localizedBundleName("sun.text.resources", "BreakIteratorRules")).newInstance();
+            localizedBundleName("sun.text.resources", "BreakIteratorRules")).getDeclaredConstructor().newInstance();
 
         if (info.containsKey("CharacterData")) {
             generateDataFile(info.getString("CharacterData"),
--- a/make/jdk/src/classes/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java	Mon Mar 23 08:37:45 2020 +0800
+++ b/make/jdk/src/classes/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java	Mon Mar 23 10:26:13 2020 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -290,7 +290,7 @@
                     }
 
                     lastOpen = c;
-                    parenStack.push(new Character((char)c));
+                    parenStack.push(Character.valueOf((char)c));
                     if (c == '<') {
                         sawVarName = true;
                     }
@@ -902,11 +902,11 @@
         // if we're adding rules to the backward state table, mark the initial state
         // as a looping state
         if (!forward) {
-            loopingStates.addElement(new Integer(1));
+            loopingStates.addElement(Integer.valueOf(1));
         }
 
         // put the current state on the decision point list before we start
-        decisionPointList.addElement(new Integer(currentState)); // we want currentState to
+        decisionPointList.addElement(Integer.valueOf(currentState)); // we want currentState to
                                                                  // be 1 here...
         currentState = tempStateTable.size() - 1;   // but after that, we want it to be
                                                     // 1 less than the state number of the next state
@@ -978,7 +978,7 @@
                     // if the period is followed by an asterisk, then just set the current
                     // state to loop back on itself
                     if (p + 1 < rule.length() && rule.charAt(p + 1) == '*' && state[0] != 0) {
-                        decisionPointList.addElement(new Integer(state[0]));
+                        decisionPointList.addElement(Integer.valueOf(state[0]));
                         pendingChars = "";
                         ++p;
                     }
@@ -1012,7 +1012,7 @@
                     // it to the end of the state table
                     int newState = tempStateTable.size();
                     if (loopingStates.size() != 0) {
-                        statesToBackfill.addElement(new Integer(newState));
+                        statesToBackfill.addElement(Integer.valueOf(newState));
                     }
                     state = new short[numCategories + 1];
                     if (sawEarlyBreak) {
@@ -1032,7 +1032,7 @@
                     lastState = currentState;
                     do {
                         ++currentState;
-                        decisionPointList.addElement(new Integer(currentState));
+                        decisionPointList.addElement(Integer.valueOf(currentState));
                     } while (currentState + 1 < tempStateTable.size());
                 }
             }
@@ -1058,7 +1058,7 @@
                 if (c == '*') {
                     for (int i = lastState + 1; i < tempStateTable.size(); i++) {
                         Vector<Integer> temp = new Vector<>();
-                        temp.addElement(new Integer(i));
+                        temp.addElement(Integer.valueOf(i));
                         updateStateTable(temp, pendingChars, (short)(lastState + 1));
                     }
                 }
@@ -1121,7 +1121,7 @@
 
                 // add the current state to the decision point list (add it at the
                 // BEGINNING so we can find it later)
-                decisionPointList.insertElementAt(new Integer(currentState), 0);
+                decisionPointList.insertElementAt(Integer.valueOf(currentState), 0);
 
                 // finally, push a copy of the current decision point list onto the
                 // stack (this keeps track of the active decision point list before
@@ -1208,7 +1208,7 @@
                     for (int i = 0; i < tempState.length; i++) {
                         if (tempState[i] > tempStateNum) {
                             updateStateTable(exitPoints,
-                                             new Character((char)(i + 0x100)).toString(),
+                                             Character.valueOf((char)(i + 0x100)).toString(),
                                              tempState[i]);
                         }
                     }
@@ -1330,7 +1330,7 @@
                              short[] newValues,
                              Vector<Integer> rowsBeingUpdated) {
         short[] oldValues = tempStateTable.elementAt(rowNum);
-        boolean isLoopingState = loopingStates.contains(new Integer(rowNum));
+        boolean isLoopingState = loopingStates.contains(Integer.valueOf(rowNum));
 
         // for each of the cells in the rows we're reconciling, do...
         for (int i = 0; i < oldValues.length; i++) {
@@ -1343,7 +1343,7 @@
             // if oldValues is a looping state and the state the current cell points to
             // is too, then we can just stomp over the current value of that cell (and
             // set the clear-looping-states flag if necessary)
-            else if (isLoopingState && loopingStates.contains(new Integer(oldValues[i]))) {
+            else if (isLoopingState && loopingStates.contains(Integer.valueOf(oldValues[i]))) {
                 if (newValues[i] != 0) {
                     if (oldValues[i] == 0) {
                         clearLoopingStates = true;
@@ -1401,29 +1401,29 @@
 
                     // if the decision point list contains either of the parent rows,
                     // update it to include the new row as well
-                    if ((decisionPointList.contains(new Integer(oldRowNum))
-                            || decisionPointList.contains(new Integer(newRowNum)))
-                        && !decisionPointList.contains(new Integer(combinedRowNum))
+                    if ((decisionPointList.contains(Integer.valueOf(oldRowNum))
+                            || decisionPointList.contains(Integer.valueOf(newRowNum)))
+                        && !decisionPointList.contains(Integer.valueOf(combinedRowNum))
                     ) {
-                        decisionPointList.addElement(new Integer(combinedRowNum));
+                        decisionPointList.addElement(Integer.valueOf(combinedRowNum));
                     }
 
                     // do the same thing with the list of rows being updated
-                    if ((rowsBeingUpdated.contains(new Integer(oldRowNum))
-                            || rowsBeingUpdated.contains(new Integer(newRowNum)))
-                        && !rowsBeingUpdated.contains(new Integer(combinedRowNum))
+                    if ((rowsBeingUpdated.contains(Integer.valueOf(oldRowNum))
+                            || rowsBeingUpdated.contains(Integer.valueOf(newRowNum)))
+                        && !rowsBeingUpdated.contains(Integer.valueOf(combinedRowNum))
                     ) {
-                        decisionPointList.addElement(new Integer(combinedRowNum));
+                        decisionPointList.addElement(Integer.valueOf(combinedRowNum));
                     }
                     // now (groan) do the same thing for all the entries on the
                     // decision point stack
                     for (int k = 0; k < decisionPointStack.size(); k++) {
                         Vector<Integer> dpl = decisionPointStack.elementAt(k);
-                        if ((dpl.contains(new Integer(oldRowNum))
-                                || dpl.contains(new Integer(newRowNum)))
-                            && !dpl.contains(new Integer(combinedRowNum))
+                        if ((dpl.contains(Integer.valueOf(oldRowNum))
+                                || dpl.contains(Integer.valueOf(newRowNum)))
+                            && !dpl.contains(Integer.valueOf(combinedRowNum))
                         ) {
-                            dpl.addElement(new Integer(combinedRowNum));
+                            dpl.addElement(Integer.valueOf(combinedRowNum));
                         }
                     }
 
@@ -1536,10 +1536,10 @@
     private void eliminateBackfillStates(int baseState) {
 
         // don't do anything unless this state is actually in the backfill list...
-        if (statesToBackfill.contains(new Integer(baseState))) {
+        if (statesToBackfill.contains(Integer.valueOf(baseState))) {
 
             // if it is, take it out
-            statesToBackfill.removeElement(new Integer(baseState));
+            statesToBackfill.removeElement(Integer.valueOf(baseState));
 
             // then go through and recursively call this function for every
             // state that the base state points to
@@ -1608,7 +1608,7 @@
 
         int[] rowNumMap = new int[tempStateTable.size()];
         Stack<Integer> rowsToFollow = new Stack<>();
-        rowsToFollow.push(new Integer(1));
+        rowsToFollow.push(Integer.valueOf(1));
         rowNumMap[1] = 1;
 
         // determine which states are no longer reachable from the start state
@@ -1622,7 +1622,7 @@
                 if (row[i] != 0) {
                     if (rowNumMap[row[i]] == 0) {
                         rowNumMap[row[i]] = row[i];
-                        rowsToFollow.push(new Integer(row[i]));
+                        rowsToFollow.push(Integer.valueOf(row[i]));
                     }
                 }
             }
--- a/make/jdk/src/classes/build/tools/generatecharacter/CharacterName.java	Mon Mar 23 08:37:45 2020 +0800
+++ b/make/jdk/src/classes/build/tools/generatecharacter/CharacterName.java	Mon Mar 23 10:26:13 2020 +0100
@@ -1,3 +1,28 @@
+/*
+ * Copyright (c) 2010, 2020, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
 package build.tools.generatecharacter;
 
 import java.io.*;
--- a/make/jdk/src/classes/build/tools/generatecharacter/CharacterScript.java	Mon Mar 23 08:37:45 2020 +0800
+++ b/make/jdk/src/classes/build/tools/generatecharacter/CharacterScript.java	Mon Mar 23 10:26:13 2020 +0100
@@ -1,3 +1,28 @@
+/*
+ * Copyright (c) 2010, 2020, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
 package build.tools.generatecharacter;
 
 import java.util.regex.*;
@@ -118,7 +143,7 @@
             //    Character.getType() !=  Character.UNASSIGNED
             // first (return UNKNOWN for unassigned)
 
-            ArrayList<int[]> list = new ArrayList();
+            ArrayList<int[]> list = new ArrayList<>();
             list.add(scripts[0]);
 
             int[] last = scripts[0];
@@ -156,7 +181,7 @@
             }
 
             for (i = 0; i < list.size(); i++) {
-                int[] a = (int[])list.get(i);
+                int[] a = list.get(i);
                 String name = "UNKNOWN";
                 if (a[2] != -1)
                     name = names[a[2]].toUpperCase(Locale.US);
--- a/make/jdk/src/classes/build/tools/generatecharacter/PrintCharacterRanges.java	Mon Mar 23 08:37:45 2020 +0800
+++ b/make/jdk/src/classes/build/tools/generatecharacter/PrintCharacterRanges.java	Mon Mar 23 10:26:13 2020 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2020, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -45,16 +45,16 @@
     int end()   { return end;   }
   }
 
-  private static List/*<BooleanRange>*/ recoverBooleanRanges(String methodName) throws Exception {
-    List result = new ArrayList();
+  private static List<BooleanRange> recoverBooleanRanges(String methodName) throws Exception {
+    List<BooleanRange> result = new ArrayList<>();
     int currentRangeStart = -1;
-    Method method = Character.class.getDeclaredMethod(methodName, new Class[] { Character.TYPE });
+    Method method = Character.class.getDeclaredMethod(methodName, new Class<?>[] { Character.TYPE });
     if (method == null) {
       throw new RuntimeException("No method \"" + methodName + "\"(C) found");
     }
 
     for (int i = 0; i <= 255; i++) {
-      boolean methodRes = ((Boolean) method.invoke(null, new Object[] { new Character((char) i) })).booleanValue();
+      boolean methodRes = ((Boolean) method.invoke(null, new Object[] { Character.valueOf((char) i) })).booleanValue();
       if (methodRes) {
         if (currentRangeStart < 0) {
           currentRangeStart = i;
@@ -91,17 +91,17 @@
     return s.toString();
   }
 
-  private static void printBooleanRanges(List/*<BooleanRange>*/ ranges, String methodName) {
+  private static void printBooleanRanges(List<BooleanRange> ranges, String methodName) {
     System.out.print(methodName + ":");
-    for (Iterator iter = ranges.iterator(); iter.hasNext();) {
-      BooleanRange range = (BooleanRange) iter.next();
+    for (Iterator<BooleanRange> iter = ranges.iterator(); iter.hasNext();) {
+      BooleanRange range = iter.next();
       System.out.print(" [ " + describe(range.begin()) + ", " + describe(range.end()) + " ]");
     }
     System.out.println("");
   }
 
   private static void recoverAndPrintBooleanRanges(String methodName) throws Exception {
-    List ranges = recoverBooleanRanges(methodName);
+    List<BooleanRange> ranges = recoverBooleanRanges(methodName);
     printBooleanRanges(ranges, methodName);
   }
 
@@ -121,17 +121,17 @@
     int offset() { return offset; }
   }
 
-  private static List/*<ShiftRange>*/ recoverShiftRanges(String methodName) throws Exception {
-    List result = new ArrayList();
+  private static List<ShiftRange> recoverShiftRanges(String methodName) throws Exception {
+    List<ShiftRange> result = new ArrayList<>();
     int currentRangeStart = -1;
     int currentRangeOffset = -1;
-    Method method = Character.class.getDeclaredMethod(methodName, new Class[] { Character.TYPE });
+    Method method = Character.class.getDeclaredMethod(methodName, new Class<?>[] { Character.TYPE });
     if (method == null) {
       throw new RuntimeException("No method \"" + methodName + "\"(C) found");
     }
 
     for (int i = 0; i <= 255; i++) {
-      char methodRes = ((Character) method.invoke(null, new Object[] { new Character((char) i) })).charValue();
+      char methodRes = ((Character) method.invoke(null, new Object[] { Character.valueOf((char) i) })).charValue();
       if (methodRes != i) {
         int offset = methodRes - i;
         if (currentRangeStart < 0) {
@@ -155,11 +155,11 @@
     return result;
   }
 
-  private static void printShiftRanges(List/*<ShiftRange>*/ ranges, String methodName) {
+  private static void printShiftRanges(List<ShiftRange> ranges, String methodName) {
     System.out.print(methodName + ":");
     boolean isFirst = true;
-    for (Iterator iter = ranges.iterator(); iter.hasNext();) {
-      ShiftRange range = (ShiftRange) iter.next();
+    for (Iterator<ShiftRange> iter = ranges.iterator(); iter.hasNext();) {
+      ShiftRange range = iter.next();
       if (isFirst) {
         isFirst = false;
       } else {
@@ -173,7 +173,7 @@
   }
 
   private static void recoverAndPrintShiftRanges(String methodName) throws Exception {
-    List ranges = recoverShiftRanges(methodName);
+    List<ShiftRange> ranges = recoverShiftRanges(methodName);
     printShiftRanges(ranges, methodName);
   }
 
--- a/make/jdk/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java	Mon Mar 23 08:37:45 2020 +0800
+++ b/make/jdk/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java	Mon Mar 23 10:26:13 2020 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2020, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -322,7 +322,7 @@
             specialCaseNewCurrenciesDefaultFractionDigits[specialCaseCount] = getDefaultFractionDigits(newCurrency);
             specialCaseNewCurrenciesNumericCode[specialCaseCount] = getNumericCode(newCurrency);
         }
-        specialCaseMap.put(currencyInfo, new Integer(specialCaseCount));
+        specialCaseMap.put(currencyInfo, Integer.valueOf(specialCaseCount));
         return specialCaseCount++;
     }
 
--- a/make/jdk/src/classes/build/tools/jdwpgen/Parse.java	Mon Mar 23 08:37:45 2020 +0800
+++ b/make/jdk/src/classes/build/tools/jdwpgen/Parse.java	Mon Mar 23 10:26:13 2020 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2020, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,6 +27,7 @@
 
 import java.util.*;
 import java.io.*;
+import java.lang.reflect.InvocationTargetException;
 
 class Parse {
 
@@ -144,12 +145,18 @@
                         return null;
                     } else {
                         try {
-                            Node node = (Node)proto.getClass().newInstance();
+                            Node node = (Node)proto.getClass().getDeclaredConstructor().newInstance();
                             node.set(kind, list, izer.lineno());
                             return node;
                         } catch (InstantiationException exc) {
                             error(exc.toString());
                             return null;
+                        } catch (NoSuchMethodException exc) {
+                            error(exc.toString());
+                            return null;
+                        } catch (InvocationTargetException exc) {
+                            error(exc.toString());
+                            return null;
                         } catch (IllegalAccessException exc) {
                             error(exc.toString());
                             return null;
--- a/make/jdk/src/classes/build/tools/tzdb/TzdbZoneRulesProvider.java	Mon Mar 23 08:37:45 2020 +0800
+++ b/make/jdk/src/classes/build/tools/tzdb/TzdbZoneRulesProvider.java	Mon Mar 23 10:26:13 2020 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -67,7 +67,7 @@
     }
 
     public Set<String> getZoneIds() {
-        return new TreeSet(regionIds);
+        return new TreeSet<String>(regionIds);
     }
 
     public Map<String, String> getAliasMap() {
@@ -100,6 +100,7 @@
             return (ZoneRules)obj;
         }
         try {
+            @SuppressWarnings("unchecked")
             ZoneRules zrules = buildRules(zoneId, (List<ZoneLine>)obj);
             zones.put(zoneId, zrules);
             return zrules;
--- a/make/jdk/src/classes/build/tools/x11wrappergen/WrapperGenerator.java	Mon Mar 23 08:37:45 2020 +0800
+++ b/make/jdk/src/classes/build/tools/x11wrappergen/WrapperGenerator.java	Mon Mar 23 10:26:13 2020 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -47,11 +47,11 @@
     String defaultBaseClass = "XWrapperBase";
 
     String compile_options = "-lX11";
-    static Hashtable symbolTable = new Hashtable();
-    static Hashtable sizeTable32bit = new Hashtable();
-    static Hashtable sizeTable64bit = new Hashtable();
-    static Hashtable knownSizes32 = new Hashtable();
-    static Hashtable knownSizes64 = new Hashtable();
+    static Hashtable<String, BaseType> symbolTable = new Hashtable<>();
+    static Hashtable<String, String> sizeTable32bit = new Hashtable<>();
+    static Hashtable<String, String> sizeTable64bit = new Hashtable<>();
+    static Hashtable<String, Integer> knownSizes32 = new Hashtable<>();
+    static Hashtable<String, Integer> knownSizes64 = new Hashtable<>();
     static {
 /*
         knownSizes64.put("", Integer.valueOf());
@@ -391,7 +391,7 @@
                 alias = true;
                 aliasName = attributes[4];
             } else if (type == TYPE_ARRAY || type == TYPE_PTR || type == TYPE_STRUCT) {
-                referencedType = (BaseType)symbolTable.get(mod);
+                referencedType = symbolTable.get(mod);
                 if (referencedType == null) {
                     log.warning("Can't find type for name " + mod);
                 }
@@ -457,7 +457,7 @@
 
     private static class StructType extends BaseType {
 
-        Vector members;
+        Vector<BaseType> members;
         String description;
         boolean packed;
         int size;
@@ -472,7 +472,7 @@
          */
         public StructType(String _desc)
         {
-            members = new Vector();
+            members = new Vector<>();
             parseDescription(_desc);
         }
         public int getNumFields()
@@ -495,7 +495,7 @@
             return description;
         }
 
-        public Enumeration getMembers()
+        public Enumeration<BaseType> getMembers()
         {
             return members.elements();
         }
@@ -545,8 +545,8 @@
          * Returns String containing Java code calculating size of the structure depending on the data model
          */
         public String getSize() {
-            String s32 = (String) WrapperGenerator.sizeTable32bit.get(getName());
-            String s64 = (String) WrapperGenerator.sizeTable64bit.get(getName());
+            String s32 = WrapperGenerator.sizeTable32bit.get(getName());
+            String s64 = WrapperGenerator.sizeTable64bit.get(getName());
             if (s32 == null || s64 == null) {
                 return (s32 == null)?(s64):(s32);
             }
@@ -558,8 +558,8 @@
         }
         public String getOffset(AtomicType atp) {
             String key = getName()+"."+(atp.isAlias() ? atp.getAliasName() : atp.getName());
-            String s64 = (String) WrapperGenerator.sizeTable64bit.get(key);
-            String s32 = (String) WrapperGenerator.sizeTable32bit.get(key);
+            String s64 = WrapperGenerator.sizeTable64bit.get(key);
+            String s32 = WrapperGenerator.sizeTable32bit.get(key);
             if (s32 == null || s64 == null) {
                 return (s32 == null)?(s64):(s32);
             }
@@ -573,7 +573,7 @@
 
     private static class FunctionType extends BaseType {
 
-        Vector args;
+        Vector<BaseType> args;
         String description;
         boolean packed;
         String returnType;
@@ -582,7 +582,7 @@
 
         public FunctionType(String _desc)
         {
-            args = new Vector();
+            args = new Vector<>();
             description = _desc;
             setName(_desc);
         }
@@ -618,7 +618,7 @@
             return description;
         }
 
-        public Collection getArguments()
+        public Collection<BaseType> getArguments()
         {
             return args;
         }
@@ -653,28 +653,28 @@
     public String getOffsets(StructType stp,AtomicType atp, boolean wide)
     {
         String key = stp.getName()+"."+atp.getName();
-        return wide == true ? (String) sizeTable64bit.get(key) : (String) sizeTable32bit.get(key);
+        return wide == true ? sizeTable64bit.get(key) : sizeTable32bit.get(key);
     }
 
     public String getStructSize(StructType stp, boolean wide)
     {
-        return wide == true ? (String) sizeTable64bit.get(stp.getName()) : (String) sizeTable32bit.get(stp.getName());
+        return wide == true ? sizeTable64bit.get(stp.getName()) : sizeTable32bit.get(stp.getName());
     }
 
     public int getLongSize(boolean wide)
     {
-        return Integer.parseInt(wide == true ? (String)sizeTable64bit.get("long") : (String)sizeTable32bit.get("long"));
+        return Integer.parseInt(wide == true ? sizeTable64bit.get("long") : sizeTable32bit.get("long"));
     }
 
     public int getPtrSize(boolean wide)
     {
-        return Integer.parseInt(wide == true ? (String)sizeTable64bit.get("ptr") : (String)sizeTable32bit.get("ptr"));
+        return Integer.parseInt(wide == true ? sizeTable64bit.get("ptr") : sizeTable32bit.get("ptr"));
     }
     public int getBoolSize(boolean wide) {
         return getOrdinalSize("Bool", wide);
     }
     public int getOrdinalSize(String ordinal, boolean wide) {
-        return Integer.parseInt(wide == true ? (String)sizeTable64bit.get(ordinal) : (String)sizeTable32bit.get(ordinal));
+        return Integer.parseInt(wide == true ? sizeTable64bit.get(ordinal) : sizeTable32bit.get(ordinal));
     }
 
     public void writeToString(StructType stp, PrintWriter pw) {
@@ -682,7 +682,7 @@
         pw.println("\n\n\tString getName() {\n\t\treturn \"" + stp.getName()+ "\"; \n\t}");
         pw.println("\n\n\tString getFieldsAsString() {\n\t\tStringBuilder ret = new StringBuilder(" + stp.getNumFields() * 40 + ");\n");
 
-        for (Enumeration e = stp.getMembers() ; e.hasMoreElements() ;) {
+        for (Enumeration<BaseType> e = stp.getMembers() ; e.hasMoreElements() ;) {
             AtomicType tp = (AtomicType) e.nextElement();
 
             type = tp.getType();
@@ -718,7 +718,7 @@
         } else {
             prefix = "\t";
         }
-        for (Enumeration e = stp.getMembers() ; e.hasMoreElements() ;) {
+        for (Enumeration<BaseType> e = stp.getMembers() ; e.hasMoreElements() ;) {
             AtomicType tp = (AtomicType) e.nextElement();
 
             type = tp.getType();
@@ -753,7 +753,7 @@
         int acc_size_32 = 0;
         int acc_size_64 = 0;
         String s_log = (generateLog?"log.finest(\"\");":"");
-        for (Enumeration e = stp.getMembers() ; e.hasMoreElements() ;) {
+        for (Enumeration<BaseType> e = stp.getMembers() ; e.hasMoreElements() ;) {
             AtomicType tp = (AtomicType) e.nextElement();
 
             type = tp.getType();
@@ -946,7 +946,7 @@
             pw.println("\tprivate static Unsafe unsafe = XlibWrapper.unsafe;");
             pw.println("\tprivate boolean __executed = false;");
             pw.println("\tprivate boolean __disposed = false;");
-            Iterator iter = ft.getArguments().iterator();
+            Iterator<BaseType> iter = ft.getArguments().iterator();
             while (iter.hasNext()) {
                 AtomicType at = (AtomicType)iter.next();
                 if (at.isIn()) {
@@ -1110,8 +1110,8 @@
 
     public void writeJavaWrapperClass(String outputDir) {
         try {
-            for (Enumeration e = symbolTable.elements() ; e.hasMoreElements() ;) {
-                BaseType tp = (BaseType) e.nextElement();
+            for (Enumeration<BaseType> e = symbolTable.elements() ; e.hasMoreElements() ;) {
+                BaseType tp = e.nextElement();
                 if (tp instanceof StructType) {
                     StructType st = (StructType) tp;
                     writeWrapper(outputDir, st);
@@ -1132,7 +1132,7 @@
         int j=0;
         BaseType tp;
         StructType stp;
-        Enumeration eo;
+        Enumeration<BaseType> eo;
 
         try {
 
@@ -1158,7 +1158,7 @@
             pw.println("\n\nint main(){");
             j=0;
             for ( eo = symbolTable.elements() ; eo.hasMoreElements() ;) {
-                tp = (BaseType) eo.nextElement();
+                tp = eo.nextElement();
                 if (tp instanceof StructType)
                 {
                     stp = (StructType) tp;
@@ -1181,14 +1181,14 @@
             for (eo = symbolTable.elements() ; eo.hasMoreElements() ;) {
 
 
-                tp = (BaseType) eo.nextElement();
+                tp = eo.nextElement();
                 if (tp instanceof StructType)
                 {
                     stp = (StructType) tp;
                     if (stp.getIsInterface()) {
                         continue;
                     }
-                    for (Enumeration e = stp.getMembers() ; e.hasMoreElements() ;) {
+                    for (Enumeration<BaseType> e = stp.getMembers() ; e.hasMoreElements() ;) {
                         AtomicType atp = (AtomicType) e.nextElement();
                         if (atp.isAlias()) continue;
                         pw.println("printf(\""+ stp.getName() + "." + atp.getName() + "\t%d\\n\""+
@@ -1277,7 +1277,7 @@
 
                 }
                 else  if (line != null) {
-                    BaseType bt = (BaseType) symbolTable.get(line);
+                    BaseType bt = symbolTable.get(line);
                     if (bt == null) {
                         if (line.startsWith("!")) {
                             FunctionType ft = new FunctionType(line);