8241310: Fix warnings in jdk buildtools

Reviewed-by: erikj, forax
This commit is contained in:
Magnus Ihse Bursie 2020-03-23 10:26:13 +01:00
parent 618bacec2e
commit e04080bd0f
15 changed files with 165 additions and 105 deletions

View File

@ -43,7 +43,7 @@ BUILD_TOOLS_SRC_DIRS += \
$(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 @@ $(eval $(call SetupJavaCompilation,BUILD_TOOLS_JDK, \
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 \

View File

@ -191,6 +191,7 @@ class Bundle {
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 @@ class Bundle {
}
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;

View File

@ -434,7 +434,7 @@ public class CLDRConverter {
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 @@ public class CLDRConverter {
});
}
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 @@ public class CLDRConverter {
* 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 @@ public class CLDRConverter {
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("@.*", ""))

View File

@ -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 @@ import org.xml.sax.SAXException;
* 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 @@ class PluralsParseHandler extends AbstractLDMLHandler<Object> {
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);

View File

@ -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 @@ class DTDBuilder extends DTD {
}
int i = namesVector.size();
namesVector.addElement(name);
namesHash.put(name, new Integer(i));
namesHash.put(name, i);
return (short) i;
}

View File

@ -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 @@ class DTDInputStream extends FilterReader implements DTDConstants {
* 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();

View File

@ -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 @@ public class GenerateBreakIteratorData {
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"),

View File

@ -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 @@ class RuleBasedBreakIteratorBuilder {
}
lastOpen = c;
parenStack.push(new Character((char)c));
parenStack.push(Character.valueOf((char)c));
if (c == '<') {
sawVarName = true;
}
@ -902,11 +902,11 @@ class RuleBasedBreakIteratorBuilder {
// 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 @@ class RuleBasedBreakIteratorBuilder {
// 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 @@ class RuleBasedBreakIteratorBuilder {
// 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 @@ class RuleBasedBreakIteratorBuilder {
lastState = currentState;
do {
++currentState;
decisionPointList.addElement(new Integer(currentState));
decisionPointList.addElement(Integer.valueOf(currentState));
} while (currentState + 1 < tempStateTable.size());
}
}
@ -1058,7 +1058,7 @@ class RuleBasedBreakIteratorBuilder {
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 @@ class RuleBasedBreakIteratorBuilder {
// 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 @@ class RuleBasedBreakIteratorBuilder {
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 @@ class RuleBasedBreakIteratorBuilder {
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 @@ class RuleBasedBreakIteratorBuilder {
// 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 @@ class RuleBasedBreakIteratorBuilder {
// 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 @@ class RuleBasedBreakIteratorBuilder {
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 @@ class RuleBasedBreakIteratorBuilder {
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 @@ class RuleBasedBreakIteratorBuilder {
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]));
}
}
}

View File

@ -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.*;

View File

@ -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 @@ public class CharacterScript {
// 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 @@ public class CharacterScript {
}
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);

View File

@ -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 @@ public class PrintCharacterRanges {
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 @@ public class PrintCharacterRanges {
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 @@ public class PrintCharacterRanges {
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 @@ public class PrintCharacterRanges {
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 @@ public class PrintCharacterRanges {
}
private static void recoverAndPrintShiftRanges(String methodName) throws Exception {
List ranges = recoverShiftRanges(methodName);
List<ShiftRange> ranges = recoverShiftRanges(methodName);
printShiftRanges(ranges, methodName);
}

View File

@ -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 @@ public class GenerateCurrencyData {
specialCaseNewCurrenciesDefaultFractionDigits[specialCaseCount] = getDefaultFractionDigits(newCurrency);
specialCaseNewCurrenciesNumericCode[specialCaseCount] = getNumericCode(newCurrency);
}
specialCaseMap.put(currencyInfo, new Integer(specialCaseCount));
specialCaseMap.put(currencyInfo, Integer.valueOf(specialCaseCount));
return specialCaseCount++;
}

View File

@ -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 @@ package build.tools.jdwpgen;
import java.util.*;
import java.io.*;
import java.lang.reflect.InvocationTargetException;
class Parse {
@ -144,12 +145,18 @@ class Parse {
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;

View File

@ -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 @@ class TzdbZoneRulesProvider {
}
public Set<String> getZoneIds() {
return new TreeSet(regionIds);
return new TreeSet<String>(regionIds);
}
public Map<String, String> getAliasMap() {
@ -100,6 +100,7 @@ class TzdbZoneRulesProvider {
return (ZoneRules)obj;
}
try {
@SuppressWarnings("unchecked")
ZoneRules zrules = buildRules(zoneId, (List<ZoneLine>)obj);
zones.put(zoneId, zrules);
return zrules;

View File

@ -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 @@ public class WrapperGenerator {
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 @@ public class WrapperGenerator {
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 @@ public class WrapperGenerator {
private static class StructType extends BaseType {
Vector members;
Vector<BaseType> members;
String description;
boolean packed;
int size;
@ -472,7 +472,7 @@ public class WrapperGenerator {
*/
public StructType(String _desc)
{
members = new Vector();
members = new Vector<>();
parseDescription(_desc);
}
public int getNumFields()
@ -495,7 +495,7 @@ public class WrapperGenerator {
return description;
}
public Enumeration getMembers()
public Enumeration<BaseType> getMembers()
{
return members.elements();
}
@ -545,8 +545,8 @@ public class WrapperGenerator {
* 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 class WrapperGenerator {
}
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 @@ public class WrapperGenerator {
private static class FunctionType extends BaseType {
Vector args;
Vector<BaseType> args;
String description;
boolean packed;
String returnType;
@ -582,7 +582,7 @@ public class WrapperGenerator {
public FunctionType(String _desc)
{
args = new Vector();
args = new Vector<>();
description = _desc;
setName(_desc);
}
@ -618,7 +618,7 @@ public class WrapperGenerator {
return description;
}
public Collection getArguments()
public Collection<BaseType> getArguments()
{
return args;
}
@ -653,28 +653,28 @@ public class WrapperGenerator {
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 @@ public class WrapperGenerator {
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 @@ public class WrapperGenerator {
} 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 @@ public class WrapperGenerator {
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 @@ public class WrapperGenerator {
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 class WrapperGenerator {
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 @@ public class WrapperGenerator {
int j=0;
BaseType tp;
StructType stp;
Enumeration eo;
Enumeration<BaseType> eo;
try {
@ -1158,7 +1158,7 @@ public class WrapperGenerator {
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 @@ public class WrapperGenerator {
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 @@ public class WrapperGenerator {
}
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);