8241310: Fix warnings in jdk buildtools
Reviewed-by: erikj, forax
This commit is contained in:
parent
618bacec2e
commit
e04080bd0f
@ -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 \
|
||||
|
@ -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;
|
||||
|
@ -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("@.*", ""))
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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();
|
||||
|
@ -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"),
|
||||
|
@ -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]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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.*;
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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++;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user