OpenJDK / amber / amber
changeset 60872:aa378a711d0d amber-demo-II
Automatic merge with sealed-types
line wrap: on
line diff
--- a/.hgtags Fri Apr 03 14:26:10 2020 +0000 +++ b/.hgtags Fri Apr 10 17:14:06 2020 +0000 @@ -624,3 +624,7 @@ 2ec0ff3042630ddbd3587e340fe0dd40391cb6c4 jdk-15+12 1c06a8ee8acad4d93c782626a233693a73de0add jdk-15+13 1d6ceb13e142665ea833fca01c8c8598e0ddd211 jdk-15+14 +bc54620a3848c26cff9766e5e2a6e5ddab98ed18 jdk-14-ga +82b7c62cf4cc56828a8fb724f57087967232a2a7 jdk-15+15 +5c7ec21f5d13f6eb5cd32288c69b8be2f9cac256 jdk-15+16 +dd5198db2e5b1ebcafe065d987c03ba9fcb50fc3 jdk-15+17
--- a/doc/building.html Fri Apr 03 14:26:10 2020 +0000 +++ b/doc/building.html Fri Apr 10 17:14:06 2020 +0000 @@ -283,7 +283,7 @@ <tbody> <tr class="odd"> <td style="text-align: left;">Linux</td> -<td style="text-align: left;">gcc 8.3.0</td> +<td style="text-align: left;">gcc 9.2.0</td> </tr> <tr class="even"> <td style="text-align: left;">macOS</td> @@ -302,7 +302,7 @@ <p>All compilers are expected to be able to compile to the C99 language standard, as some C99 features are used in the source code. Microsoft Visual Studio doesn't fully support C99 so in practice shared code is limited to using C99 features that it does support.</p> <h3 id="gcc">gcc</h3> <p>The minimum accepted version of gcc is 5.0. Older versions will generate a warning by <code>configure</code> and are unlikely to work.</p> -<p>The JDK is currently known to be able to compile with at least version 8.3 of gcc.</p> +<p>The JDK is currently known to be able to compile with at least version 9.2 of gcc.</p> <p>In general, any version between these two should be usable.</p> <h3 id="clang">clang</h3> <p>The minimum accepted version of clang is 3.2. Older versions will not be accepted by <code>configure</code>.</p>
--- a/doc/building.md Fri Apr 03 14:26:10 2020 +0000 +++ b/doc/building.md Fri Apr 10 17:14:06 2020 +0000 @@ -327,7 +327,7 @@ Operating system Toolchain version ------------------ ------------------------------------------------------- - Linux gcc 8.3.0 + Linux gcc 9.2.0 macOS Apple Xcode 10.1 (using clang 10.0.0) Solaris Oracle Solaris Studio 12.6 (with compiler version 5.15) Windows Microsoft Visual Studio 2017 update 15.9.16 @@ -342,7 +342,7 @@ The minimum accepted version of gcc is 5.0. Older versions will generate a warning by `configure` and are unlikely to work. -The JDK is currently known to be able to compile with at least version 8.3 of +The JDK is currently known to be able to compile with at least version 9.2 of gcc. In general, any version between these two should be usable.
--- a/make/CompileInterimRmic.gmk Fri Apr 03 14:26:10 2020 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,80 +0,0 @@ -# -# Copyright (c) 2011, 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. -# - -default: all - -include $(SPEC) -include MakeBase.gmk -include JavaCompilation.gmk -include SetupJavaCompilers.gmk - -################################################################################ -# Generate interim versions of the module-info.java files for the interim -# langtools modules. Each interim module has ".interim" added as suffix to the -# original module name. - -INTERIM_MODULEINFO_PATTERN := \ - $(foreach m, $(INTERIM_RMIC_BASE_MODULES), -e 's/$m\([,; ]\)/$m.interim\1/g') \ - -e '/ToolProvider[,; ]/d' - -$(BUILDTOOLS_OUTPUTDIR)/gensrc/%.interim/module-info.java: \ - $(TOPDIR)/src/%/share/classes/module-info.java - $(call LogInfo, Generating module-info.java for $*.interim) - $(call MakeDir, $(@D)) - $(SED) $(INTERIM_MODULEINFO_PATTERN) $< > $@ - -TARGETS += $(patsubst %, $(BUILDTOOLS_OUTPUTDIR)/gensrc/%/module-info.java, \ - $(INTERIM_RMIC_MODULES)) - -################################################################################ - -RMIC_PKGS := \ - sun/rmi/rmic \ - sun/tools/asm \ - sun/tools/java \ - sun/tools/javac \ - sun/tools/tree \ - sun/tools/util \ - # - -$(eval $(call SetupJavaCompilation, BUILD_jdk.rmic.interim, \ - SETUP := GENERATE_OLDBYTECODE, \ - SRC := $(TOPDIR)/src/jdk.rmic/share/classes, \ - EXCLUDE_FILES := $(TOPDIR)/src/jdk.rmic/share/classes/module-info.java, \ - EXTRA_FILES := $(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.rmic.interim/module-info.java, \ - INCLUDES := $(RMIC_PKGS), \ - BIN := $(BUILDTOOLS_OUTPUTDIR)/interim_rmic_modules/jdk.rmic.interim, \ - COPY := .properties, \ - DISABLED_WARNINGS := deprecation, \ - ADD_JAVAC_FLAGS := \ - --module-path $(BUILDTOOLS_OUTPUTDIR)/interim_rmic_modules \ - $(INTERIM_RMIC_ADD_EXPORTS), \ -)) - -TARGETS += $(BUILD_jdk.rmic.interim) - -########################################################################################## - -all: $(TARGETS)
--- a/make/CompileToolsJdk.gmk Fri Apr 03 14:26:10 2020 +0000 +++ b/make/CompileToolsJdk.gmk Fri Apr 10 17:14:06 2020 +0000 @@ -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/Docs.gmk Fri Apr 03 14:26:10 2020 +0000 +++ b/make/Docs.gmk Fri Apr 10 17:14:06 2020 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 1997, 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 @@ -57,10 +57,7 @@ ################################################################################ # Javadoc settings -# On top of the sources that was used to compile the JDK, we need some -# extra java.rmi sources that are used just for javadoc. -MODULES_SOURCE_PATH := $(call PathList, $(call GetModuleSrcPath) \ - $(SUPPORT_OUTPUTDIR)/rmic/* $(TOPDIR)/src/*/share/doc/stub) +MODULES_SOURCE_PATH := $(call PathList, $(call GetModuleSrcPath) ) # URLs JAVADOC_BASE_URL := https://docs.oracle.com/pls/topic/lookup?ctx=javase$(VERSION_NUMBER)&id=homepage
--- a/make/Global.gmk Fri Apr 03 14:26:10 2020 +0000 +++ b/make/Global.gmk Fri Apr 10 17:14:06 2020 +0000 @@ -45,7 +45,7 @@ $(info $(_) make <name>-image # Build just the image for any of: ) $(info $(_) # jdk, test, docs, symbols, legacy-jre, static-libs) $(info $(_) make <phase> # Build the specified phase and everything it depends on) - $(info $(_) # (gensrc, java, copy, libs, launchers, gendata, rmic)) + $(info $(_) # (gensrc, java, copy, libs, launchers, gendata)) $(info $(_) make *-only # Applies to most targets and disables building the) $(info $(_) # dependencies for that target. This is faster but may) $(info $(_) # result in incorrect build results!) @@ -82,7 +82,7 @@ $(info $(_) make <module> # Build <module> and everything it depends on) $(info $(_) make <module>-<phase> # Compile the specified phase for the specified module) $(info $(_) # and everything it depends on) - $(info $(_) # (gensrc, java, copy, libs, launchers, gendata, rmic)) + $(info $(_) # (gensrc, java, copy, libs, launchers, gendata)) $(info ) $(info Make control variables) $(info $(_) CONF= # Build all configurations (note, assignment is empty))
--- a/make/Main.gmk Fri Apr 03 14:26:10 2020 +0000 +++ b/make/Main.gmk Fri Apr 10 17:14:06 2020 +0000 @@ -72,9 +72,6 @@ interim-langtools: +($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileInterimLangtools.gmk) -interim-rmic: - +($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileInterimRmic.gmk) - interim-tzdb: +($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CopyInterimTZDB.gmk) @@ -89,7 +86,7 @@ +($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileToolsHotspot.gmk) ALL_TARGETS += buildtools-langtools interim-langtools \ - interim-rmic interim-tzdb buildtools-jdk buildtools-modules \ + interim-tzdb buildtools-jdk buildtools-modules \ buildtools-hotspot ################################################################################ @@ -194,16 +191,6 @@ ALL_TARGETS += $(JAVA_TARGETS) ################################################################################ -# Targets for running rmic. -$(eval $(call DeclareRecipesForPhase, RMIC, \ - TARGET_SUFFIX := rmic, \ - FILE_PREFIX := Rmic, \ - MAKE_SUBDIR := rmic, \ - CHECK_MODULES := $(ALL_MODULES))) - -ALL_TARGETS += $(RMIC_TARGETS) - -################################################################################ # Targets for compiling native libraries $(eval $(call DeclareRecipesForPhase, LIBS, \ TARGET_SUFFIX := libs, \ @@ -688,10 +675,6 @@ $(GENDATA_TARGETS): interim-langtools buildtools-jdk - interim-rmic: interim-langtools - - $(RMIC_TARGETS): interim-langtools interim-rmic - $(JAVA_TARGETS): interim-langtools # Declare dependencies between hotspot-<variant>* targets @@ -732,9 +715,6 @@ # Declare dependencies between the module meta targets $(foreach m, $(ALL_MODULES), $(eval $m: $(call FindDepsForModule,$m))) - # Declare dependencies between <module>-rmic to <module>-java - $(foreach m, $(RMIC_MODULES), $(eval $m-rmic: $m-java)) - # Declare dependencies from <module>-lib to <module>-java # Skip modules that do not have java source. $(foreach m, $(filter $(JAVA_MODULES), $(LIBS_MODULES)), $(eval $m-libs: $m-java)) @@ -768,7 +748,7 @@ jdk.internal.vm.compiler-gensrc-moduleinfo: jdk.internal.vm.compiler-gensrc-src jdk.internal.vm.compiler.management-gensrc-moduleinfo: jdk.internal.vm.compiler.management-gensrc-src - jdk.jdeps-gendata: java rmic + jdk.jdeps-gendata: java # The ct.sym generation uses all the moduleinfos as input jdk.compiler-gendata: $(GENSRC_MODULEINFO_TARGETS) @@ -790,7 +770,6 @@ # Declare dependencies from <module>-jmod to all other module targets $(foreach m, $(JAVA_MODULES), $(eval $m_JMOD_DEPS += $m-java)) $(foreach m, $(GENDATA_MODULES), $(eval $m_JMOD_DEPS += $m-gendata)) - $(foreach m, $(RMIC_MODULES), $(eval $m_JMOD_DEPS += $m-rmic)) $(foreach m, $(LIBS_MODULES), $(eval $m_JMOD_DEPS += $m-libs)) $(foreach m, $(LAUNCHER_MODULES), $(eval $m_JMOD_DEPS += $m-launchers)) $(foreach m, $(COPY_MODULES), $(eval $m_JMOD_DEPS += $m-copy)) @@ -856,7 +835,7 @@ zip-security: java.base-java java.security.jgss-java java.security.jgss-libs \ $(filter jdk.crypto%, $(JAVA_TARGETS)) - zip-source: gensrc rmic + zip-source: gensrc jrtfs-jar: interim-langtools @@ -903,11 +882,11 @@ bootcycle-images: jdk-image - docs-jdk-api-javadoc: $(GENSRC_TARGETS) rmic + docs-jdk-api-javadoc: $(GENSRC_TARGETS) - docs-javase-api-javadoc: $(GENSRC_TARGETS) rmic + docs-javase-api-javadoc: $(GENSRC_TARGETS) - docs-reference-api-javadoc: $(GENSRC_TARGETS) rmic + docs-reference-api-javadoc: $(GENSRC_TARGETS) docs-jdk-api-modulegraph: exploded-image buildtools-modules @@ -989,7 +968,7 @@ # If not already set, set the JVM specific tools targets JVM_TOOLS_TARGETS ?= buildtools-hotspot -buildtools: buildtools-langtools interim-langtools interim-rmic \ +buildtools: buildtools-langtools interim-langtools \ buildtools-jdk $(JVM_TOOLS_TARGETS) # Declare dependencies from hotspot-<variant> targets @@ -1012,8 +991,6 @@ java: $(JAVA_TARGETS) -rmic: $(RMIC_TARGETS) - libs: $(LIBS_TARGETS) static-libs: $(STATIC_LIBS_TARGETS) @@ -1031,7 +1008,6 @@ $(foreach m, $(GENSRC_MODULES), $(eval $m: $m-gensrc)) $(foreach m, $(JAVA_MODULES), $(eval $m: $m-java)) $(foreach m, $(GENDATA_MODULES), $(eval $m: $m-gendata)) -$(foreach m, $(RMIC_MODULES), $(eval $m: $m-rmic)) $(foreach m, $(LIBS_MODULES), $(eval $m: $m-libs)) $(foreach m, $(LAUNCHER_MODULES), $(eval $m: $m-launchers)) $(foreach m, $(ALL_COPY_MODULES), $(eval $m: $m-copy)) @@ -1131,7 +1107,7 @@ all-bundles: product-bundles test-bundles docs-bundles static-libs-bundles ALL_TARGETS += buildtools hotspot hotspot-libs hotspot-gensrc gensrc gendata \ - copy java rmic libs static-libs launchers jmods \ + copy java libs static-libs launchers jmods \ jdk.jdwp.agent-gensrc $(ALL_MODULES) demos \ exploded-image-base exploded-image \ create-buildjdk docs-jdk-api docs-javase-api docs-reference-api docs-jdk \
--- a/make/ZipSource.gmk Fri Apr 03 14:26:10 2020 +0000 +++ b/make/ZipSource.gmk Fri Apr 10 17:14:06 2020 +0000 @@ -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 @@ -39,18 +39,12 @@ # Create the directory structure for src.zip using symlinks. # <module>/<package>/<file>.java -# Find extra source dirs for a module that are not part of normal compilation -# but should be included in src.zip. -# $1: Module to find dirs for -ExtraSrcDirs = \ - $(wildcard $(SUPPORT_OUTPUTDIR)/rmic/$(strip $1)) - ALL_MODULES := $(FindAllModules) # Generate the src dirs in the first make invocation and then call this makefile # again to create src.zip. $(foreach m, $(ALL_MODULES), \ - $(foreach d, $(call FindModuleSrcDirs, $m) $(call ExtraSrcDirs, $m), \ + $(foreach d, $(call FindModuleSrcDirs, $m), \ $(eval $d_TARGET := $(SRC_ZIP_WORK_DIR)/$(patsubst $(TOPDIR)/%,%,$d)/$m) \ $(if $(SRC_GENERATED), , \ $(eval $$($d_TARGET): $d ; \
--- a/make/autoconf/build-performance.m4 Fri Apr 03 14:26:10 2020 +0000 +++ b/make/autoconf/build-performance.m4 Fri Apr 10 17:14:06 2020 +0000 @@ -434,7 +434,7 @@ fi JAVAC_SERVER_AVAILABLE=true - SJAVAC_MEMORY_OPT=-Xms${MS_VALUE}M -Xmx${MX_VALUE}M + SJAVAC_MEMORY_OPT="-Xms${MS_VALUE}M -Xmx${MX_VALUE}M" UTIL_ADD_JVM_ARG_IF_OK([$SJAVAC_MEMORY_OPT],SJAVAC_SERVER_JAVA_FLAGS,[$SJAVAC_SERVER_JAVA]) if test "x$JVM_ARG_OK" = "xfalse"; then AC_MSG_WARN([Could not set '$SJAVAC_MEMORY_OPT' on bootjdk, disabling sjavac and javac server])
--- a/make/autoconf/compare.sh.in Fri Apr 03 14:26:10 2020 +0000 +++ b/make/autoconf/compare.sh.in Fri Apr 10 17:14:06 2020 +0000 @@ -95,6 +95,9 @@ fi fi +export HOTSPOT_BUILD_TIME="@HOTSPOT_BUILD_TIME@" +export USE_PRECOMPILED_HEADER="@USE_PRECOMPILED_HEADER@" + # Now locate the main script and run it. REAL_COMPARE_SCRIPT="$TOPDIR/make/scripts/compare.sh" if [ ! -e "$REAL_COMPARE_SCRIPT" ]; then
--- a/make/autoconf/flags-cflags.m4 Fri Apr 03 14:26:10 2020 +0000 +++ b/make/autoconf/flags-cflags.m4 Fri Apr 10 17:14:06 2020 +0000 @@ -697,7 +697,10 @@ # JDK libraries. STATIC_LIBS_CFLAGS="-DSTATIC_BUILD=1" if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then - STATIC_LIBS_CFLAGS="$STATIC_LIBS_CFLAGS -ffunction-sections -fdata-sections" + STATIC_LIBS_CFLAGS="$STATIC_LIBS_CFLAGS -ffunction-sections -fdata-sections \ + -DJNIEXPORT='__attribute__((visibility(\"hidden\")))'" + else + STATIC_LIBS_CFLAGS="$STATIC_LIBS_CFLAGS -DJNIEXPORT=" fi if test "x$TOOLCHAIN_TYPE" = xgcc; then # Disable relax-relocation to enable compatibility with older linkers
--- a/make/autoconf/flags-ldflags.m4 Fri Apr 03 14:26:10 2020 +0000 +++ b/make/autoconf/flags-ldflags.m4 Fri Apr 10 17:14:06 2020 +0000 @@ -69,9 +69,10 @@ LIBJSIG_HASHSTYLE_LDFLAGS="-Wl,--hash-style=both" fi - # Add -z defs, to forbid undefined symbols in object files. - # add relro (mark relocations read only) for all libs - BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,-z,defs -Wl,-z,relro" + # Add -z,defs, to forbid undefined symbols in object files. + # add -z,relro (mark relocations read only) for all libs + # add -z,now ("full relro" - more of the Global Offset Table GOT is marked read only) + BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,-z,defs -Wl,-z,relro -Wl,-z,now" # Linux : remove unused code+data in link step if test "x$ENABLE_LINKTIME_GC" = xtrue; then if test "x$OPENJDK_TARGET_CPU" = xs390x; then @@ -129,10 +130,6 @@ if test x$DEBUG_LEVEL = xrelease; then DEBUGLEVEL_LDFLAGS_JDK_ONLY="$DEBUGLEVEL_LDFLAGS_JDK_ONLY -Wl,-O1" fi - if test x$DEBUG_LEVEL = xslowdebug; then - # do relocations at load - DEBUGLEVEL_LDFLAGS="-Wl,-z,now" - fi fi elif test "x$TOOLCHAIN_TYPE" = xxlc; then
--- a/make/autoconf/hotspot.m4 Fri Apr 03 14:26:10 2020 +0000 +++ b/make/autoconf/hotspot.m4 Fri Apr 10 17:14:06 2020 +0000 @@ -157,6 +157,15 @@ HOTSPOT_TARGET_CPU_ARCH=zero fi + AC_ARG_WITH([hotspot-build-time], [AS_HELP_STRING([--with-hotspot-build-time], + [timestamp to use in hotspot version string, empty for on-the-fly @<:@empty@:>@])]) + + if test "x$with_hotspot_build_time" != x; then + HOTSPOT_BUILD_TIME="$with_hotspot_build_time" + fi + AC_SUBST(HOTSPOT_BUILD_TIME) + + # Override hotspot cpu definitions for ARM platforms if test "x$OPENJDK_TARGET_CPU" = xarm; then HOTSPOT_TARGET_CPU=arm_32
--- a/make/autoconf/platform.m4 Fri Apr 03 14:26:10 2020 +0000 +++ b/make/autoconf/platform.m4 Fri Apr 10 17:14:06 2020 +0000 @@ -120,6 +120,12 @@ VAR_CPU_BITS=64 VAR_CPU_ENDIAN=little ;; + riscv64) + VAR_CPU=riscv64 + VAR_CPU_ARCH=riscv + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=little + ;; s390) VAR_CPU=s390 VAR_CPU_ARCH=s390 @@ -485,6 +491,8 @@ HOTSPOT_$1_CPU_DEFINE=S390 elif test "x$OPENJDK_$1_CPU" = xs390x; then HOTSPOT_$1_CPU_DEFINE=S390 + elif test "x$OPENJDK_$1_CPU" = xriscv64; then + HOTSPOT_$1_CPU_DEFINE=RISCV elif test "x$OPENJDK_$1_CPU" != x; then HOTSPOT_$1_CPU_DEFINE=$(echo $OPENJDK_$1_CPU | tr a-z A-Z) fi
--- a/make/autoconf/spec.gmk.in Fri Apr 03 14:26:10 2020 +0000 +++ b/make/autoconf/spec.gmk.in Fri Apr 10 17:14:06 2020 +0000 @@ -156,6 +156,7 @@ IMPORT_MODULES_MAKE:=@IMPORT_MODULES_MAKE@ COPYRIGHT_YEAR:=@COPYRIGHT_YEAR@ +HOTSPOT_BUILD_TIME:=@HOTSPOT_BUILD_TIME@ # Platform naming variables LAUNCHER_NAME:=@LAUNCHER_NAME@ @@ -245,7 +246,7 @@ # Only export "VENDOR" to the build if COMPANY_NAME contains a real value. # Otherwise the default value for VENDOR, which is used to set the "java.vendor" # and "java.vm.vendor" properties is hard-coded into the source code (i.e. in - # VersionProps.java.template in the jdk for "vm.vendor" and + # VersionProps.java.template in the jdk for "java.vendor" and # vm_version.cpp in the VM for "java.vm.vendor") ifneq ($(COMPANY_NAME), N/A) VERSION_CFLAGS += -DVENDOR='"$(COMPANY_NAME)"' @@ -656,7 +657,7 @@ BUILD_JAVA=@FIXPATH@ $(BUILD_JDK)/bin/java $(BUILD_JAVA_FLAGS) BUILD_JAR=@FIXPATH@ $(BUILD_JDK)/bin/jar -# Interim langtools and rmic modules and arguments +# Interim langtools modules and arguments INTERIM_LANGTOOLS_BASE_MODULES := java.compiler jdk.compiler jdk.javadoc INTERIM_LANGTOOLS_MODULES := $(addsuffix .interim, $(INTERIM_LANGTOOLS_BASE_MODULES)) INTERIM_LANGTOOLS_ADD_EXPORTS := \ @@ -676,15 +677,6 @@ JAVAC_MAIN_CLASS = -m jdk.compiler.interim/com.sun.tools.javac.Main JAVADOC_MAIN_CLASS = -m jdk.javadoc.interim/jdk.javadoc.internal.tool.Main -INTERIM_RMIC_BASE_MODULES := jdk.rmic -INTERIM_RMIC_MODULES := $(addsuffix .interim, $(INTERIM_RMIC_BASE_MODULES)) - # -# Use = to delay expansion of PathList since it's not available in this file. -INTERIM_RMIC_ARGS = --limit-modules java.base,jdk.compiler,jdk.javadoc \ - --module-path $(call PathList, $(BUILDTOOLS_OUTPUTDIR)/interim_rmic_modules \ - $(BUILDTOOLS_OUTPUTDIR)/interim_langtools_modules) \ - # - # You run the new javac using the boot jdk with $(BOOT_JDK)/bin/java $(NEW_JAVAC) ... # Use = assignment to be able to override in bootcycle-spec.gmk NEW_JAVAC = $(INTERIM_LANGTOOLS_ARGS) $(JAVAC_MAIN_CLASS) @@ -771,7 +763,6 @@ SETFILE:=@SETFILE@ XATTR:=@XATTR@ JT_HOME:=@JT_HOME@ -JTREGEXE:=@JTREGEXE@ JIB_HOME:=@JIB_HOME@ XCODEBUILD=@XCODEBUILD@ DTRACE := @DTRACE@
--- a/make/autoconf/toolchain.m4 Fri Apr 03 14:26:10 2020 +0000 +++ b/make/autoconf/toolchain.m4 Fri Apr 10 17:14:06 2020 +0000 @@ -1092,15 +1092,10 @@ AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg is not a valid jtreg home]) fi - JTREGEXE="$JT_HOME/bin/jtreg" - if test ! -x "$JTREGEXE"; then - AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg does not contain valid jtreg executable]) - fi - AC_MSG_CHECKING([for jtreg test harness]) AC_MSG_RESULT([$JT_HOME]) else - # Try to locate jtreg + # Try to locate jtreg using the JT_HOME environment variable if test "x$JT_HOME" != x; then # JT_HOME set in environment, use it if test ! -d "$JT_HOME"; then @@ -1110,11 +1105,7 @@ if test ! -e "$JT_HOME/lib/jtreg.jar"; then AC_MSG_WARN([Ignoring JT_HOME which is not a valid jtreg home: $JT_HOME]) JT_HOME= - elif test ! -x "$JT_HOME/bin/jtreg"; then - AC_MSG_WARN([Ignoring JT_HOME which does not contain valid jtreg executable: $JT_HOME]) - JT_HOME= else - JTREGEXE="$JT_HOME/bin/jtreg" AC_MSG_NOTICE([Located jtreg using JT_HOME from environment]) fi fi @@ -1130,7 +1121,6 @@ if test ! -e "$JT_HOME/lib/jtreg.jar"; then AC_MSG_WARN([Ignoring jtreg from path since a valid jtreg home cannot be found]) JT_HOME= - JTREGEXE= else AC_MSG_NOTICE([Located jtreg using jtreg executable in path]) fi @@ -1149,10 +1139,8 @@ fi fi - UTIL_FIXUP_EXECUTABLE(JTREGEXE) UTIL_FIXUP_PATH(JT_HOME) AC_SUBST(JT_HOME) - AC_SUBST(JTREGEXE) ]) # Setup the JIB dependency resolver
--- a/make/autoconf/util.m4 Fri Apr 03 14:26:10 2020 +0000 +++ b/make/autoconf/util.m4 Fri Apr 10 17:14:06 2020 +0000 @@ -275,20 +275,11 @@ ############################################################################### # Register a --enable argument but mark it as deprecated # $1: The name of the with argument to deprecate, not including --enable- -# $2: The name of the argument to deprecate, in shell variable style (i.e. with _ instead of -) -# $3: Messages to user. AC_DEFUN([UTIL_DEPRECATED_ARG_ENABLE], [ AC_ARG_ENABLE($1, [AS_HELP_STRING([--enable-$1], - [Deprecated. Option is kept for backwards compatibility and is ignored])]) - if test "x$enable_$2" != x; then - AC_MSG_WARN([Option --enable-$1 is deprecated and will be ignored.]) - - if test "x$3" != x; then - AC_MSG_WARN([$3]) - fi - - fi + [Deprecated. Option is kept for backwards compatibility and is ignored])], + [AC_MSG_WARN([Option --enable-$1 is deprecated and will be ignored.])]) ]) ###############################################################################
--- a/make/common/Modules.gmk Fri Apr 03 14:26:10 2020 +0000 +++ b/make/common/Modules.gmk Fri Apr 10 17:14:06 2020 +0000 @@ -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 @@ -171,6 +171,7 @@ jdk.naming.dns \ jdk.naming.rmi \ jdk.net \ + jdk.nio.mapmode \ jdk.rmic \ jdk.scripting.nashorn \ jdk.sctp \
--- a/make/common/RMICompilation.gmk Fri Apr 03 14:26:10 2020 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,94 +0,0 @@ -# -# Copyright (c) 2011, 2019, 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. -# - -# Setup make rules for creating an RMI compilation. -# -# Parameter 1 is the name of the rule. This name is used as variable prefix, -# and the targets generated are listed in a variable by that name. -# -# Remaining parameters are named arguments. These include: -# CLASSES:=List of classes to generate stubs for -# CLASSES_DIR:=Directory where to look for classes -# STUB_CLASSES_DIR:=Directory in where to put stub classes -# RUN_V11:=Set to run rmic with -v1.1 -# RUN_V12:=Set to run rmic with -v1.2 -# KEEP_GENERATED:=Set to keep generated sources around -# STUB_SOURCES_DIR:=Directory to put generated sources in -SetupRMICompilation = $(NamedParamsMacroTemplate) -define SetupRMICompilationBody - - $1_DEP_FILE := $$($1_STUB_CLASSES_DIR)/_the.$1_rmic.generated - - $1_CLASSES_SLASH := $$(subst .,/,$$($1_CLASSES)) - $1_CLASS_FILES := $$(addprefix $$($1_CLASSES_DIR)/,$$(addsuffix .class,$$($1_CLASSES_SLASH))) - $1_STUB_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Stub.class,$$($1_CLASSES_SLASH))) - $1_TARGETS := $$($1_STUB_FILES) - $1_ARGS := - ifneq (,$$($1_RUN_V11)) - $1_SKEL_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Skel.class,$$($1_CLASSES_SLASH))) - $1_TARGETS += $$($1_SKEL_FILES) - $1_ARGS += -v1.1 - endif - ifneq (,$$($1_RUN_V12)) - $1_ARGS += -v1.2 - endif - - $1_TIE_BASE_FILES := $$(foreach f,$$($1_CLASSES_SLASH),$$(dir $$f)_$$(notdir $$f)) - $1_TIE_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/org/omg/stub/,$$(addsuffix _Tie.class,$$($1_TIE_BASE_FILES))) - $1_TIE_STDPKG_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Tie.class,$$($1_TIE_BASE_FILES))) - - ifneq ($$($1_KEEP_GENERATED), ) - $1_ARGS += -keepgenerated - $1_JAVA_TARGETS := $$(subst .class,.java,$$($1_TARGETS)) - ifneq ($$($1_STUB_SOURCES_DIR), ) - # This is where the java files are created by rmic - $1_JAVA_TARGETS_REL := $$(subst $$($1_STUB_CLASSES_DIR),, $$($1_JAVA_TARGETS)) - # This is where the caller wants the java files - $1_JAVA_TARGETS := $$(addprefix $$($1_STUB_SOURCES_DIR), $$($1_JAVA_TARGETS_REL)) - endif - $1_TARGETS += $$($1_JAVA_TARGETS) - endif - - $1_DOLLAR_SAFE_CLASSES := $$(subst $$$$,\$$$$,$$($1_CLASSES)) - - $$($1_TARGETS): $$($1_DEP_FILE) $$($1_CLASS_FILES) - - $$($1_DEP_FILE): $$($1_CLASS_FILES) - $$(call LogInfo, Running rmic $$($1_ARGS) for $$($1_DOLLAR_SAFE_CLASSES)) - $$(call MakeDir, $$($1_STUB_CLASSES_DIR)) - $(RMIC) $$($1_ARGS) -classpath "$$($1_CLASSES_DIR)" \ - -d $$($1_STUB_CLASSES_DIR) $$($1_DOLLAR_SAFE_CLASSES); \ - $$(if $$($1_STUB_SOURCES_DIR), \ - $$(foreach f, $$($1_JAVA_TARGETS_REL), \ - $(MKDIR) -p $$(dir $$($1_STUB_SOURCES_DIR)/$$f) ; \ - $(MV) $$($1_STUB_CLASSES_DIR)/$$f $$($1_STUB_SOURCES_DIR)/$$f ; \ - ) \ - ) \ - $(TOUCH) $$@ - - - $1 := $$($1_TARGETS) $$($1_DEP_FILE) - -endef
--- a/make/conf/jib-profiles.js Fri Apr 03 14:26:10 2020 +0000 +++ b/make/conf/jib-profiles.js Fri Apr 10 17:14:06 2020 +0000 @@ -248,7 +248,7 @@ common.main_profile_base = { dependencies: ["boot_jdk", "gnumake", "jtreg", "jib", "autoconf", "jmh", "jcov"], default_make_targets: ["product-bundles", "test-bundles", "static-libs-bundles"], - configure_args: concat(["--enable-jtreg-failure-handler"], + configure_args: concat("--enable-jtreg-failure-handler", "--with-exclude-translations=de,es,fr,it,ko,pt_BR,sv,ca,tr,cs,sk,ja_JP_A,ja_JP_HA,ja_JP_HI,ja_JP_I,zh_TW,zh_HK", "--disable-manpages", "--disable-jvm-feature-shenandoahgc", @@ -776,6 +776,10 @@ = concat(profiles[cmpBaselineName].default_make_targets, "docs"); } profiles[cmpBaselineName].make_args = [ "COMPARE_BUILD=CONF=" ]; + profiles[cmpBaselineName].configure_args = concat( + profiles[cmpBaselineName].configure_args, + "--with-hotspot-build-time=n/a", + "--disable-precompiled-headers"); // Do not inherit artifact definitions from base profile delete profiles[cmpBaselineName].artifacts; }); @@ -881,6 +885,7 @@ make_args: testOnlyMake, environment: { "BOOT_JDK": common.boot_jdk_home, + "JT_HOME": input.get("jtreg", "home_path"), "JDK_IMAGE_DIR": input.get(testedProfileJdk, "home_path"), "TEST_IMAGE_DIR": input.get(testedProfileTest, "home_path") }, @@ -968,7 +973,7 @@ var getJibProfilesDependencies = function (input, common) { var devkit_platform_revisions = { - linux_x64: "gcc8.3.0-OL6.4+1.0", + linux_x64: "gcc9.2.0-OL6.4+1.0", macosx_x64: "Xcode10.1-MacOSX10.14+1.0", solaris_x64: "SS12u4-Solaris11u1+1.0", solaris_sparcv9: "SS12u6-Solaris11u3+1.0", @@ -1059,7 +1064,8 @@ checksum_file: "MD5_VALUES", file: "bundles/jtreg_bin-5.0.zip", environment_name: "JT_HOME", - environment_path: input.get("jtreg", "install_path") + "/jtreg/bin" + environment_path: input.get("jtreg", "home_path") + "/bin", + configure_args: "--with-jtreg=" + input.get("jtreg", "home_path"), }, jmh: {
--- a/make/data/charsetmapping/MS950.map Fri Apr 03 14:26:10 2020 +0000 +++ b/make/data/charsetmapping/MS950.map Fri Apr 10 17:14:06 2020 +0000 @@ -23,10 +23,10 @@ # 0xF9FD -> u256F -> 0xA2A3 # 0xA2CC -> u5341 -> 0xA451 # 0xA2CE -> u5345 -> 0xA4CA -# 0xF9F9 -> u2550 -> 0xA2A4 -# 0xF9E9 -> u255E -> 0xA2A5 -# 0xF9EA -> u256A -> 0xA2A6 -# 0xF9EB -> u2561 -> 0xA2A7 +# 0xA2A4 -> u2550 -> 0xF9F9 +# 0xA2A5 -> u255E -> 0xF9E9 +# 0xA2A6 -> u256A -> 0xF9EA +# 0xA2A7 -> u2561 -> 0xF9EB # # Column #1 is the cp950 code (in hex) # Column #2 is the Unicode (in hex as 0xXXXX)
--- a/make/data/charsetmapping/MS950.nr Fri Apr 03 14:26:10 2020 +0000 +++ b/make/data/charsetmapping/MS950.nr Fri Apr 10 17:14:06 2020 +0000 @@ -6,13 +6,13 @@ # (we don't need a MS950.c2b, the entries of MS950.c2b-irreversible # are added in MS950.b2c already) # -0xF9FA 0x256D +0xA2A4 0x2550 +0xA2A5 0x255E +0xA2A6 0x256A +0xA2A7 0x2561 +0xA2CC 0x5341 +0xA2CE 0x5345 +0xF9FA 0x256D 0xF9FB 0x256E 0xF9FC 0x2570 0xF9FD 0x256F -0xA2CC 0x5341 -0xA2CE 0x5345 -0xF9F9 0x2550 -0xF9E9 0x255E -0xF9EA 0x256A -0xF9EB 0x2561
--- a/make/data/lsrdata/language-subtag-registry.txt Fri Apr 03 14:26:10 2020 +0000 +++ b/make/data/lsrdata/language-subtag-registry.txt Fri Apr 10 17:14:06 2020 +0000 @@ -1,4 +1,4 @@ -File-Date: 2019-09-16 +File-Date: 2020-03-16 %% Type: language Subtag: aa @@ -47129,6 +47129,16 @@ Creole continuum in Eastern Suriname and Western French Guiana %% Type: variant +Subtag: peano +Description: Latino Sine Flexione +Description: Interlingua de API +Description: Interlingua de Peano +Prefix: la +Comments: Peano’s Interlingua, created in 1903 by Giuseppe Peano as an + international auxiliary language +Added: 2020-03-12 +%% +Type: variant Subtag: petr1708 Description: Petrine orthography Added: 2010-10-10
--- a/make/devkit/Tools.gmk Fri Apr 03 14:26:10 2020 +0000 +++ b/make/devkit/Tools.gmk Fri Apr 10 17:14:06 2020 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2013, 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,8 +87,16 @@ # Define external dependencies # Latest that could be made to work. -GCC_VER := 8.3.0 -ifeq ($(GCC_VER), 8.3.0) +GCC_VER := 9.2.0 +ifeq ($(GCC_VER), 9.2.0) + gcc_ver := gcc-9.2.0 + binutils_ver := binutils-2.34 + ccache_ver := 3.7.3 + mpfr_ver := mpfr-3.1.5 + gmp_ver := gmp-6.1.2 + mpc_ver := mpc-1.0.3 + gdb_ver := gdb-8.3 +else ifeq ($(GCC_VER), 8.3.0) gcc_ver := gcc-8.3.0 binutils_ver := binutils-2.32 ccache_ver := 3.7.3
--- a/make/devkit/createJMHBundle.sh Fri Apr 03 14:26:10 2020 +0000 +++ b/make/devkit/createJMHBundle.sh Fri Apr 10 17:14:06 2020 +0000 @@ -40,10 +40,10 @@ cd $JAR_DIR rm -f * -wget http://central.maven.org/maven2/org/apache/commons/commons-math3/$COMMONS_MATH3_VERSION/commons-math3-$COMMONS_MATH3_VERSION.jar -wget http://central.maven.org/maven2/net/sf/jopt-simple/jopt-simple/$JOPT_SIMPLE_VERSION/jopt-simple-$JOPT_SIMPLE_VERSION.jar -wget http://central.maven.org/maven2/org/openjdk/jmh/jmh-core/$JMH_VERSION/jmh-core-$JMH_VERSION.jar -wget http://central.maven.org/maven2/org/openjdk/jmh/jmh-generator-annprocess/$JMH_VERSION/jmh-generator-annprocess-$JMH_VERSION.jar +wget https://repo.maven.apache.org/maven2/org/apache/commons/commons-math3/$COMMONS_MATH3_VERSION/commons-math3-$COMMONS_MATH3_VERSION.jar +wget https://repo.maven.apache.org/maven2/net/sf/jopt-simple/jopt-simple/$JOPT_SIMPLE_VERSION/jopt-simple-$JOPT_SIMPLE_VERSION.jar +wget https://repo.maven.apache.org/maven2/org/openjdk/jmh/jmh-core/$JMH_VERSION/jmh-core-$JMH_VERSION.jar +wget https://repo.maven.apache.org/maven2/org/openjdk/jmh/jmh-generator-annprocess/$JMH_VERSION/jmh-generator-annprocess-$JMH_VERSION.jar tar -cvzf ../$BUNDLE_NAME *
--- a/make/gensrc/Gensrc-java.base.gmk Fri Apr 03 14:26:10 2020 +0000 +++ b/make/gensrc/Gensrc-java.base.gmk Fri Apr 10 17:14:06 2020 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 2019, 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 @@ -101,7 +101,7 @@ ################################################################################ INTPOLY_GEN_DONE := $(GENSRC_DIR)/_intpoly-gensrc.marker -INTPOLY_HEADER := $(TOPDIR)/make/templates/gpl-cp-header +INTPOLY_HEADER := $(TOPDIR)/make/jdk/src/classes/build/tools/intpoly/header.txt $(INTPOLY_GEN_DONE): $(INTPLOY_HEADER) $(BUILD_TOOLS_JDK) $(call MakeDir, $(GENSRC_DIR)) $(call LogInfo, Generating fixed-field math classes for java.base)
--- a/make/hotspot/lib/CompileJvm.gmk Fri Apr 03 14:26:10 2020 +0000 +++ b/make/hotspot/lib/CompileJvm.gmk Fri Apr 10 17:14:06 2020 +0000 @@ -75,6 +75,10 @@ -DCPU='"$(OPENJDK_TARGET_CPU_VM_VERSION)"' \ # +ifneq ($(HOTSPOT_BUILD_TIME), ) + CFLAGS_VM_VERSION += -DHOTSPOT_BUILD_TIME='"$(HOTSPOT_BUILD_TIME)"' +endif + ################################################################################ # Disabled warnings
--- a/make/hotspot/lib/JvmFeatures.gmk Fri Apr 03 14:26:10 2020 +0000 +++ b/make/hotspot/lib/JvmFeatures.gmk Fri Apr 10 17:14:06 2020 +0000 @@ -173,6 +173,7 @@ ifneq ($(call check-jvm-feature, jfr), true) JVM_CFLAGS_FEATURES += -DINCLUDE_JFR=0 JVM_EXCLUDE_PATTERNS += jfr + JVM_EXCLUDE_FILES += compilerEvent.cpp endif ################################################################################
--- a/make/jdk/netbeans/jmx/build.xml Fri Apr 03 14:26:10 2020 +0000 +++ b/make/jdk/netbeans/jmx/build.xml Fri Apr 10 17:14:06 2020 +0000 @@ -1,5 +1,5 @@ <!-- - Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2007, 2020, Oracle and/or its affiliates. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions @@ -60,37 +60,7 @@ </target> - <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~ --> - <!-- Call rmic-jmx subtargets --> - - <target name="-rmic-jmx" depends="-init,-rmic-jmx-jrmp" - description="Calls -init,-rmic-jmx-jrmp" - /> - - - <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> - <!-- Generate RMI JRMP stub class files for remote objects --> - <!-- Generated java files are kept in a separate directory --> - - <target name="-rmic-jmx-jrmp" depends="-init" - description="Generate RMI JRMP stub class files for remote objects. Keep generated java files in separate dir." > - - <!-- Dir to keep generated stub source --> - <mkdir dir="${gensrc.dir}" /> - - <rmic base="${classes.dir}/javax/management" - sourcebase="${gensrc.dir}" - includeAntRuntime="no" - includeJavaRuntime="no" - stubversion="1.2" - > - <include name="javax/management/remote/rmi/RMIConnectionImpl.class" /> - <include name="javax/management/remote/rmi/RMIServerImpl.class" /> - </rmic> - - </target> - - <target name="-post-compile" depends="-init,-rmic-jmx" + <target name="-post-compile" depends="-init" description="Jar JMX class files (including RMI stubs)" > <mkdir dir="${dist.dir}/lib"/> <jar jarfile="${dist.dir}/lib/${jar.jmx.name}"
--- a/make/jdk/src/classes/build/tools/cldrconverter/Bundle.java Fri Apr 03 14:26:10 2020 +0000 +++ b/make/jdk/src/classes/build/tools/cldrconverter/Bundle.java Fri Apr 10 17:14:06 2020 +0000 @@ -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; @@ -286,7 +289,7 @@ handleMultipleInheritance(myMap, parentsMap, calendarPrefix + "QuarterAbbreviations"); handleMultipleInheritance(myMap, parentsMap, calendarPrefix + "QuarterNarrows"); - adjustEraNames(myMap, calendarType); + adjustEraNames(myMap, parentsMap, calendarType); handleDateTimeFormatPatterns(TIME_PATTERN_KEYS, myMap, parentsMap, calendarType, "TimePatterns"); handleDateTimeFormatPatterns(DATE_PATTERN_KEYS, myMap, parentsMap, calendarType, "DatePatterns"); @@ -410,8 +413,9 @@ } /** - * Fills in any empty elements with its parent element. Returns true if the resulting array is - * identical to its parent array. + * Fills in any empty elements with its parent element, falling back to + * aliased one if parent element is not found. Returns true if the resulting + * array is identical to its parent array. * * @param parents * @param key @@ -423,7 +427,7 @@ return false; } if (value instanceof String[]) { - Object pvalue = parents.get(key); + Object pvalue = parents.getOrDefault(key, parents.get(CLDRConverter.aliases.get(key))); if (pvalue != null && pvalue instanceof String[]) { String[] strings = (String[]) value; String[] pstrings = (String[]) pvalue; @@ -442,7 +446,7 @@ * Adjusts String[] for era names because JRE's Calendars use different * ERA value indexes in the Buddhist, Japanese Imperial, and Islamic calendars. */ - private void adjustEraNames(Map<String, Object> map, CalendarType type) { + private void adjustEraNames(Map<String, Object> map, Map<String, Object> pMap, CalendarType type) { String[][] eraNames = new String[ERA_KEYS.length][]; String[] realKeys = new String[ERA_KEYS.length]; int index = 0; @@ -450,6 +454,9 @@ String realKey = type.keyElementName() + key; String[] value = (String[]) map.get(realKey); if (value != null) { + // first fill in missing elements from parents map. + fillInElements(pMap, realKey, value); + switch (type) { case GREGORIAN: break;
--- a/make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java Fri Apr 03 14:26:10 2020 +0000 +++ b/make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java Fri Apr 10 17:14:06 2020 +0000 @@ -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 Fri Apr 03 14:26:10 2020 +0000 +++ b/make/jdk/src/classes/build/tools/cldrconverter/PluralsParseHandler.java Fri Apr 10 17:14:06 2020 +0000 @@ -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 Fri Apr 03 14:26:10 2020 +0000 +++ b/make/jdk/src/classes/build/tools/dtdbuilder/DTDBuilder.java Fri Apr 10 17:14:06 2020 +0000 @@ -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 Fri Apr 03 14:26:10 2020 +0000 +++ b/make/jdk/src/classes/build/tools/dtdbuilder/DTDInputStream.java Fri Apr 10 17:14:06 2020 +0000 @@ -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 Fri Apr 03 14:26:10 2020 +0000 +++ b/make/jdk/src/classes/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java Fri Apr 10 17:14:06 2020 +0000 @@ -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 Fri Apr 03 14:26:10 2020 +0000 +++ b/make/jdk/src/classes/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java Fri Apr 10 17:14:06 2020 +0000 @@ -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 Fri Apr 03 14:26:10 2020 +0000 +++ b/make/jdk/src/classes/build/tools/generatecharacter/CharacterName.java Fri Apr 10 17:14:06 2020 +0000 @@ -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 Fri Apr 03 14:26:10 2020 +0000 +++ b/make/jdk/src/classes/build/tools/generatecharacter/CharacterScript.java Fri Apr 10 17:14:06 2020 +0000 @@ -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 Fri Apr 03 14:26:10 2020 +0000 +++ b/make/jdk/src/classes/build/tools/generatecharacter/PrintCharacterRanges.java Fri Apr 10 17:14:06 2020 +0000 @@ -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 Fri Apr 03 14:26:10 2020 +0000 +++ b/make/jdk/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java Fri Apr 10 17:14:06 2020 +0000 @@ -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/generatelsrequivmaps/EquivMapsGenerator.java Fri Apr 03 14:26:10 2020 +0000 +++ b/make/jdk/src/classes/build/tools/generatelsrequivmaps/EquivMapsGenerator.java Fri Apr 10 17:14:06 2020 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 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 @@ -215,10 +215,7 @@ + " static final Map<String, String[]> multiEquivsMap;\n" + " static final Map<String, String> regionVariantEquivMap;\n\n" + " static {\n" - + " singleEquivMap = new HashMap<>();\n" - + " multiEquivsMap = new HashMap<>();\n" - + " regionVariantEquivMap = new HashMap<>();\n\n" - + " // This is an auto-generated file and should not be manually edited.\n"; + + " singleEquivMap = new HashMap<>("; private static final String footerText = " }\n\n" @@ -242,6 +239,12 @@ Paths.get(fileName))) { writer.write(getOpenJDKCopyright()); writer.write(headerText + + (int)(sortedLanguageMap1.size() / 0.75f + 1) + ");\n" + + " multiEquivsMap = new HashMap<>(" + + (int)(sortedLanguageMap2.size() / 0.75f + 1) + ");\n" + + " regionVariantEquivMap = new HashMap<>(" + + (int)(sortedRegionVariantMap.size() / 0.75f + 1) + ");\n\n" + + " // This is an auto-generated file and should not be manually edited.\n" + " // LSR Revision: " + LSRrevisionDate); writer.newLine();
--- a/make/jdk/src/classes/build/tools/intpoly/FieldGen.java Fri Apr 03 14:26:10 2020 +0000 +++ b/make/jdk/src/classes/build/tools/intpoly/FieldGen.java Fri Apr 10 17:14:06 2020 +0000 @@ -1,12 +1,10 @@ /* - * Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2018, 2019, 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. + * published by the Free Software Foundation. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or @@ -23,13 +21,12 @@ * questions. */ + /* * This file is used to generated optimized finite field implementations. */ package build.tools.intpoly; -import build.tools.util.Header; - import java.io.*; import java.math.BigInteger; import java.nio.file.Files; @@ -587,16 +584,8 @@ private String generate(FieldParams params) throws IOException { CodeBuffer result = new CodeBuffer(); - for (String line : Header.javaHeader(headerPath)) { - result.appendLine(line); - } - - result.appendLine(); - result.appendLine("/*"); - result.appendLine(" * This file is generated by FieldGen.java. " - + "Do not modify it directly."); - result.appendLine(" */"); - result.appendLine(); + String header = readHeader(); + result.appendLine(header); if (packageName != null) { result.appendLine("package " + packageName + ";"); @@ -921,4 +910,12 @@ result.freeTemporary(temp); } } + + private String readHeader() throws IOException { + BufferedReader reader + = Files.newBufferedReader(headerPath); + StringBuffer result = new StringBuffer(); + reader.lines().forEach(s -> result.append(s + "\n")); + return result.toString(); + } }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/jdk/src/classes/build/tools/intpoly/header.txt Fri Apr 10 17:14:06 2020 +0000 @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2018, 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. + */ + +/* + * This file is generated by FieldGen.java. Do not modify it directly. + */
--- a/make/jdk/src/classes/build/tools/jdwpgen/Parse.java Fri Apr 03 14:26:10 2020 +0000 +++ b/make/jdk/src/classes/build/tools/jdwpgen/Parse.java Fri Apr 10 17:14:06 2020 +0000 @@ -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/taglet/ModuleGraph.java Fri Apr 03 14:26:10 2020 +0000 +++ b/make/jdk/src/classes/build/tools/taglet/ModuleGraph.java Fri Apr 10 17:14:06 2020 +0000 @@ -75,7 +75,7 @@ } return "<dt>Module Graph:</dt>" + "<dd>" - + "<a class=moduleGraph href=\"" + imageFile + "\">" + + "<a class=\"module-graph\" href=\"" + imageFile + "\">" + getImage(moduleName, imageFile, thumbnailHeight, false) + hoverImage + "</a>"
--- a/make/jdk/src/classes/build/tools/tzdb/TzdbZoneRulesProvider.java Fri Apr 03 14:26:10 2020 +0000 +++ b/make/jdk/src/classes/build/tools/tzdb/TzdbZoneRulesProvider.java Fri Apr 10 17:14:06 2020 +0000 @@ -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/util/Header.java Fri Apr 03 14:26:10 2020 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ -/* - * Copyright (c) 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.util; - -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.List; - -public class Header { - - // template: a file inside make/template/ - // years: "2020," or "2000, 2020," - public static List<String> javaHeader(Path template, String years) - throws IOException { - List<String> result = new ArrayList<>(); - result.add("/*"); - int emptyLines = 0; - for (String line : Files.readAllLines(template)) { - if (line.isEmpty()) { - emptyLines++; - } else { - // Only add empty lines when they are not at the end - for (int i = 0; i < emptyLines; i++) { - result.add(" *"); - } - emptyLines = 0; - result.add(" * " + line.replace("%YEARS%", years)); - } - } - result.add(" */"); - return result; - } - - public static List<String> javaHeader(Path template) - throws IOException { - return javaHeader(template, LocalDate.now().getYear() + ","); - } -}
--- a/make/jdk/src/classes/build/tools/x11wrappergen/WrapperGenerator.java Fri Apr 03 14:26:10 2020 +0000 +++ b/make/jdk/src/classes/build/tools/x11wrappergen/WrapperGenerator.java Fri Apr 10 17:14:06 2020 +0000 @@ -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);
--- a/make/launcher/LauncherCommon.gmk Fri Apr 03 14:26:10 2020 +0000 +++ b/make/launcher/LauncherCommon.gmk Fri Apr 10 17:14:06 2020 +0000 @@ -144,7 +144,7 @@ -DPROGNAME='"$1"' \ $$($1_CFLAGS), \ CFLAGS_linux := -fPIC, \ - CFLAGS_solaris := -KPIC -DHAVE_GETHRTIME, \ + CFLAGS_solaris := -KPIC, \ CFLAGS_windows := $$($1_CFLAGS_windows), \ DISABLED_WARNINGS_gcc := unused-function, \ LDFLAGS := $$(LDFLAGS_JDKEXE) \
--- a/make/lib/Lib-jdk.incubator.jpackage.gmk Fri Apr 03 14:26:10 2020 +0000 +++ b/make/lib/Lib-jdk.incubator.jpackage.gmk Fri Apr 10 17:14:06 2020 +0000 @@ -59,7 +59,8 @@ SRC := $(JPACKAGE_APPLAUNCHER_SRC), \ TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ OPTIMIZATION := LOW, \ - CFLAGS := $(CXXFLAGS_JDKEXE), \ + CFLAGS := $(CFLAGS_JDKEXE), \ + CXXFLAGS := $(CXXFLAGS_JDKEXE), \ CFLAGS_windows := -EHsc -DLAUNCHERC -DUNICODE -D_UNICODE, \ LDFLAGS := $(LDFLAGS_JDKEXE), \ LIBS_macosx := -framework Cocoa, \
--- a/make/rmic/Rmic-java.management.rmi.gmk Fri Apr 03 14:26:10 2020 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -# -# Copyright (c) 2011, 2019, 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. -# - -default: all - -include RmicCommon.gmk - -########################################################################################## -# -# Generate RMI stubs -# - -JMX_RMI_CLASSES := javax.management.remote.rmi.RMIConnectionImpl \ - javax.management.remote.rmi.RMIServerImpl - -# Generate into gensrc dir where sources get picked up for javadoc, then move the classes -# into the stub classes dir. -$(eval $(call SetupRMICompilation,RMI_GEN, \ - CLASSES := $(JMX_RMI_CLASSES), \ - CLASSES_DIR := $(CLASSES_DIR)/java.management.rmi, \ - STUB_CLASSES_DIR := $(STUB_CLASSES_DIR)/java.management.rmi, \ - RUN_V12 := true, \ - KEEP_GENERATED := true, \ - STUB_SOURCES_DIR := $(RMIC_GENSRC_DIR)/java.management.rmi, \ -)) - -########################################################################################## - -all: $(RMI_GEN) - -.PHONY: all
--- a/make/rmic/Rmic-java.rmi.gmk Fri Apr 03 14:26:10 2020 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -# -# Copyright (c) 2011, 2013, 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. -# - -default: all - -include RmicCommon.gmk - -################################################################################ -# -# Generate RMI stubs -# - -$(eval $(call SetupRMICompilation,RMI_12, \ - CLASSES := sun.rmi.server.Activation$$ActivationSystemImpl \ - java.rmi.activation.ActivationGroup, \ - CLASSES_DIR := $(CLASSES_DIR)/java.rmi, \ - STUB_CLASSES_DIR := $(STUB_CLASSES_DIR)/java.rmi, \ - RUN_V12 := true)) -GENCLASSES += $(RMI_12) - - -################################################################################ - -all: $(RMI_12) - -.PHONY: all
--- a/make/rmic/Rmic-jdk.naming.rmi.gmk Fri Apr 03 14:26:10 2020 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ -# -# Copyright (c) 2011, 2013, 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. -# - -default: all - -include RmicCommon.gmk - -########################################################################################## -# -# Generate RMI stubs -# - -$(eval $(call SetupRMICompilation,RMI_12, \ - CLASSES := com.sun.jndi.rmi.registry.ReferenceWrapper, \ - CLASSES_DIR := $(CLASSES_DIR)/jdk.naming.rmi, \ - STUB_CLASSES_DIR := $(STUB_CLASSES_DIR)/jdk.naming.rmi, \ - RUN_V12 := true)) - -########################################################################################## - -all: $(RMI_12) - -.PHONY: all
--- a/make/rmic/RmicCommon.gmk Fri Apr 03 14:26:10 2020 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ -# -# Copyright (c) 2011, 2017, 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. -# - -default: all - -include $(SPEC) -include MakeBase.gmk -include RMICompilation.gmk - -################################################################################ - -RMIC_MAIN_CLASS := -m jdk.rmic.interim/sun.rmi.rmic.Main - -RMIC := $(JAVA_SMALL) $(INTERIM_RMIC_ARGS) $(RMIC_MAIN_CLASS) - -CLASSES_DIR := $(JDK_OUTPUTDIR)/modules -# NOTE: If the smart javac dependency management is reintroduced, these classes -# risk interfering with the dependency checking. In that case they will need to -# be kept separate. -STUB_CLASSES_DIR := $(JDK_OUTPUTDIR)/modules -RMIC_GENSRC_DIR := $(SUPPORT_OUTPUTDIR)/rmic - -################################################################################
--- a/make/scripts/compare_exceptions.sh.incl Fri Apr 03 14:26:10 2020 +0000 +++ b/make/scripts/compare_exceptions.sh.incl Fri Apr 10 17:14:06 2020 +0000 @@ -36,13 +36,15 @@ # Diff exceptions if [ "$OPENJDK_TARGET_OS" = "linux" ]; then - ACCEPTED_BIN_DIFF=" - ./lib/server/libjvm.so - ./hotspot/gtest/server/libjvm.so - " - STRIP_BEFORE_COMPARE=" - ./hotspot/gtest/server/libjvm.so - " + if [ "$HOTSPOT_BUILD_TIME" = "" -o "$USE_PRECOMPILED_HEADER" = "true" ]; then + ACCEPTED_BIN_DIFF=" + ./lib/server/libjvm.so + ./hotspot/gtest/server/libjvm.so + " + STRIP_BEFORE_COMPARE=" + ./hotspot/gtest/server/libjvm.so + " + fi elif [ "$OPENJDK_TARGET_OS" = "solaris" ]; then SKIP_BIN_DIFF="true" SKIP_FULLDUMP_DIFF="true"
--- a/make/test/BuildFailureHandler.gmk Fri Apr 03 14:26:10 2020 +0000 +++ b/make/test/BuildFailureHandler.gmk Fri Apr 10 17:14:06 2020 +0000 @@ -107,7 +107,8 @@ test: $(RM) -r $(RUN_DIR) $(MKDIR) -p $(RUN_DIR) - $(CD) $(FH_BASEDIR)/test && JT_JAVA=$(BOOT_JDK) $(JTREGEXE) \ + $(CD) $(FH_BASEDIR)/test && $(JAVA) -Dprogram=jtreg \ + -jar $(JT_HOME)/lib/jtreg.jar \ -jdk:$(BOOT_JDK) \ $(JTREG_TEST_OPTS) \ -timeout:0.1 -va -retain:all \
--- a/make/test/JtregNativeJdk.gmk Fri Apr 03 14:26:10 2020 +0000 +++ b/make/test/JtregNativeJdk.gmk Fri Apr 10 17:14:06 2020 +0000 @@ -55,7 +55,7 @@ # Platform specific setup ifeq ($(call isTargetOs, windows), true) - BUILD_JDK_JTREG_EXCLUDE += libDirectIO.c libInheritedChannel.c + BUILD_JDK_JTREG_EXCLUDE += libDirectIO.c libInheritedChannel.c exelauncher.c WIN_LIB_JAVA := $(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib BUILD_JDK_JTREG_LIBRARIES_LIBS_libstringPlatformChars := $(WIN_LIB_JAVA) @@ -69,14 +69,17 @@ BUILD_JDK_JTREG_EXCLUDE += exerevokeall.c ifeq ($(call isTargetOs, linux), true) BUILD_JDK_JTREG_LIBRARIES_LIBS_libInheritedChannel := -ljava + BUILD_JDK_JTREG_EXECUTABLES_LIBS_exelauncher := -ldl else ifeq ($(call isTargetOs, solaris), true) BUILD_JDK_JTREG_LIBRARIES_LIBS_libInheritedChannel := -ljava -lsocket -lnsl + BUILD_JDK_JTREG_EXECUTABLES_LIBS_exelauncher := -lthread -ldl endif BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeJliLaunchTest := -ljli BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeCallerAccessTest := -ljvm endif ifeq ($(call isTargetOs, macosx), true) + BUILD_JDK_JTREG_EXCLUDE += exelauncher.c BUILD_JDK_JTREG_LIBRARIES_CFLAGS_libTestMainKeyWindow := -ObjC BUILD_JDK_JTREG_LIBRARIES_LIBS_libTestMainKeyWindow := -framework JavaVM \ -framework Cocoa -framework JavaNativeFoundation
--- a/src/demo/share/jfc/FileChooserDemo/FileChooserDemo.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/FileChooserDemo/FileChooserDemo.java Fri Apr 10 17:14:06 2020 +0000 @@ -136,7 +136,7 @@ private JRadioButton openRadioButton; private JRadioButton saveRadioButton; private JRadioButton customButton; - private JComboBox lafComboBox; + private JComboBox<SupportedLaF> lafComboBox; private JRadioButton justFilesRadioButton; private JRadioButton justDirectoriesRadioButton; private JRadioButton bothFilesAndDirectoriesRadioButton; @@ -158,7 +158,7 @@ for (UIManager.LookAndFeelInfo lafInfo : installedLafs) { try { Class<?> lnfClass = Class.forName(lafInfo.getClassName()); - LookAndFeel laf = (LookAndFeel) (lnfClass.newInstance()); + LookAndFeel laf = (LookAndFeel) (lnfClass.getDeclaredConstructor().newInstance()); if (laf.isSupportedLookAndFeel()) { String name = lafInfo.getName(); SupportedLaF supportedLaF = new SupportedLaF(name, laf); @@ -292,7 +292,7 @@ showButton.setMnemonic('s'); // Create laf combo box - lafComboBox = new JComboBox(supportedLaFs.toArray()); + lafComboBox = new JComboBox<>(supportedLaFs.toArray(new SupportedLaF[0])); lafComboBox.setSelectedItem(nimbusLaF); lafComboBox.setEditable(false); lafComboBox.addActionListener(optionListener); @@ -729,7 +729,7 @@ frame.pack(); } catch (UnsupportedLookAndFeelException exc) { // This should not happen because we already checked - ((DefaultComboBoxModel) lafComboBox.getModel()). + ((DefaultComboBoxModel<?>) lafComboBox.getModel()). removeElement(supportedLaF); } }
--- a/src/demo/share/jfc/Font2DTest/Font2DTest.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/Font2DTest/Font2DTest.java Fri Apr 10 17:14:06 2020 +0000 @@ -67,7 +67,6 @@ import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; -import java.util.EnumSet; import java.util.StringTokenizer; import java.util.BitSet; import javax.swing.*; @@ -101,8 +100,8 @@ private final ChoiceV2 transformMenu; private final ChoiceV2 transformMenuG2; private final ChoiceV2 methodsMenu; - private final JComboBox antiAliasMenu; - private final JComboBox fracMetricsMenu; + private final JComboBox<FontPanel.AAValues> antiAliasMenu; + private final JComboBox<FontPanel.FMValues> fracMetricsMenu; private final JSlider contrastSlider; @@ -151,10 +150,10 @@ methodsMenu = new ChoiceV2( this ); antiAliasMenu = - new JComboBox(EnumSet.allOf(FontPanel.AAValues.class).toArray()); + new JComboBox<>(FontPanel.AAValues.values()); antiAliasMenu.addActionListener(this); fracMetricsMenu = - new JComboBox(EnumSet.allOf(FontPanel.FMValues.class).toArray()); + new JComboBox<>(FontPanel.FMValues.values()); fracMetricsMenu.addActionListener(this); contrastSlider = new JSlider(JSlider.HORIZONTAL, 100, 250, @@ -359,7 +358,7 @@ userTextDialog.pack(); userTextDialog.addWindowListener( new WindowAdapter() { public void windowClosing( WindowEvent e ) { - userTextDialog.hide(); + userTextDialog.setVisible(false); } }); @@ -385,7 +384,7 @@ printDialog.setResizable( false ); printDialog.addWindowListener( new WindowAdapter() { public void windowClosing( WindowEvent e ) { - printDialog.hide(); + printDialog.setVisible(false); } }); printDialog.getContentPane().setLayout( new GridLayout( printModeCBs.length + 2, 1 )); @@ -402,7 +401,7 @@ fontInfoDialog.setResizable( false ); fontInfoDialog.addWindowListener( new WindowAdapter() { public void windowClosing( WindowEvent e ) { - fontInfoDialog.hide(); + fontInfoDialog.setVisible(false); showFontInfoCBMI.setState( false ); } }); @@ -467,7 +466,7 @@ int style = fontStyles[styleMenu.getSelectedIndex()]; Font f; for (int i = 0; i < listCount; i++) { - String fontName = (String)fontMenu.getItemAt(i); + String fontName = fontMenu.getItemAt(i); f = new Font(fontName, style, size); if ((rm.getSelectedIndex() != RangeMenu.SURROGATES_AREA_INDEX) && canDisplayRange(f, rangeStart, rangeEnd)) { @@ -673,9 +672,9 @@ /// Set the visibility of User Text dialog if ( selectedText == fp.USER_TEXT ) - userTextDialog.show(); + userTextDialog.setVisible(true); else - userTextDialog.hide(); + userTextDialog.setVisible(false); /// Change the visibility/status/availability of Print JDialog buttons printModeCBs[ fp.ONE_PAGE ].setSelected( true ); if ( selectedText == fp.FILE_TEXT || selectedText == fp.USER_TEXT ) { @@ -793,10 +792,10 @@ lcdContrast, userTextOpt ); if ( showFontInfoOpt ) { fireUpdateFontInfo(); - fontInfoDialog.show(); + fontInfoDialog.setVisible(true); } else - fontInfoDialog.hide(); + fontInfoDialog.setVisible(false); } catch ( Exception ex ) { fireChangeStatus( "ERROR: Failed to Load Options File; See Stack Trace", true ); @@ -819,7 +818,7 @@ } }); f.pack(); - f.show(); + f.setVisible(true); } catch ( Exception ex ) { fireChangeStatus( "ERROR: Failed to Load PNG File; See Stack Trace", true ); @@ -861,7 +860,7 @@ else if ( itemName.equals( "Page Setup..." )) fp.doPageSetup(); else if ( itemName.equals( "Print..." )) - printDialog.show(); + printDialog.setVisible(true); else if ( itemName.equals( "Close" )) parent.dispose(); else if ( itemName.equals( "Exit" )) @@ -893,19 +892,19 @@ if ( itemName.equals( "Print" )) { for ( int i = 0; i < printModeCBs.length; i++ ) if ( printModeCBs[i].isSelected() ) { - printDialog.hide(); + printDialog.setVisible(false); fp.doPrint( i ); } } else if ( itemName.equals( "Cancel" )) - printDialog.hide(); + printDialog.setVisible(false); /// Update button from Usert Text JDialog... else if ( itemName.equals( "Update" )) fp.setTextToDraw( fp.USER_TEXT, null, parseUserText( userTextArea.getText() ), null ); } else if ( source instanceof JComboBox ) { - JComboBox c = (JComboBox) source; + JComboBox<?> c = (JComboBox<?>) source; /// RangeMenu handles actions by itself and then calls fireRangeChanged, /// so it is not listed or handled here @@ -996,10 +995,10 @@ else if ( cbmi == showFontInfoCBMI ) { if ( showFontInfoCBMI.getState() ) { fireUpdateFontInfo(); - fontInfoDialog.show(); + fontInfoDialog.setVisible(true); } else - fontInfoDialog.hide(); + fontInfoDialog.setVisible(false); } } } @@ -1039,7 +1038,7 @@ f.getContentPane().add( f2dt ); f.pack(); - f.show(); + f.setVisible(true); } /// Inner class definitions... @@ -1070,7 +1069,7 @@ } } - private final class ChoiceV2 extends JComboBox { + private final class ChoiceV2 extends JComboBox<String> { private BitSet bitSet = null; @@ -1141,7 +1140,7 @@ this.choice = choice; } - public Component getListCellRendererComponent(JList list, + public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean isSelected,
--- a/src/demo/share/jfc/Font2DTest/Font2DTestApplet.java Fri Apr 03 14:26:10 2020 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,91 +0,0 @@ -/* - * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * - Neither the name of Oracle nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS - * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * This source code is provided to illustrate the usage of a given feature - * or technique and has been deliberately simplified. Additional steps - * required for a production-quality application, such as security checks, - * input validation and proper error handling, might not be present in - * this sample code. - */ - - -/* - */ - -import java.awt.AWTPermission; -import java.awt.Frame; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; - -import javax.swing.*; - -/** - * Font2DTestApplet.java - * - * @author Shinsuke Fukuda - * @author Ankit Patel [Conversion to Swing - 01/07/30] - */ - -/// Applet version of Font2DTest that wraps the actual demo - -public final class Font2DTestApplet extends JApplet { - public void init() { - /// Check if necessary permission is given... - SecurityManager security = System.getSecurityManager(); - if ( security != null ) { - try { - security.checkPermission( new AWTPermission( "showWindowWithoutWarningBanner" )); - } - catch ( SecurityException e ) { - System.out.println( "NOTE: showWindowWithoutWarningBanner AWTPermission not given.\n" + - "Zoom window will contain warning banner at bottom when shown\n" ); - } - try { - security.checkPrintJobAccess(); - } - catch ( SecurityException e ) { - System.out.println( "NOTE: queuePrintJob RuntimePermission not given.\n" + - "Printing feature will not be available\n" ); - } - } - - final JFrame f = new JFrame( "Font2DTest" ); - final Font2DTest f2dt = new Font2DTest( f, true ); - f.addWindowListener( new WindowAdapter() { - public void windowClosing( WindowEvent e ) { f.dispose(); } - }); - - f.getContentPane().add( f2dt ); - f.pack(); - f.show(); - } -}
--- a/src/demo/share/jfc/Font2DTest/FontPanel.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/Font2DTest/FontPanel.java Fri Apr 10 17:14:06 2020 +0000 @@ -74,7 +74,6 @@ import java.io.BufferedOutputStream; import java.io.FileOutputStream; import java.text.AttributedString; -import java.util.EnumSet; import java.util.Vector; import javax.imageio.*; @@ -392,7 +391,7 @@ setTransformG2( g2transform ); // ABP setDrawMethod( method ); setRenderingHints(AAValues.getValue(aa), FMValues.getValue(fm), - new Integer(contrast)); + Integer.valueOf(contrast)); } /// Writes the current screen to PNG file @@ -434,7 +433,7 @@ private int canvasInset_X = 5, canvasInset_Y = 5; /// LineBreak'ed TextLayout vector - private Vector lineBreakTLs = null; + private Vector<TextLayout> lineBreakTLs = null; /// Whether the current draw command requested is for printing private boolean isPrinting = false; @@ -800,7 +799,7 @@ if ( textToUse == FILE_TEXT ) { if ( !isPrinting ) f2dt.fireChangeStatus( "LineBreaking Text... Please Wait", false ); - lineBreakTLs = new Vector(); + lineBreakTLs = new Vector<>(); for ( int i = 0; i < fileText.length; i++ ) { AttributedString as = new AttributedString( fileText[i], g2.getFont().getAttributes() ); @@ -929,7 +928,7 @@ float xPos, yPos = (float) canvasInset_Y; g2.drawRect( 0, 0, w - 1, h - 1 ); for ( int i = drawStart; i <= drawEnd; i++ ) { - TextLayout oneLine = (TextLayout) lineBreakTLs.elementAt( i ); + TextLayout oneLine = lineBreakTLs.elementAt( i ); xPos = oneLine.isLeftToRight() ? canvasInset_X : ( (float) w - oneLine.getAdvance() - canvasInset_X ); @@ -992,9 +991,9 @@ /// Back up metrics and other drawing info before printing modifies it int backupDrawStart = drawStart, backupDrawEnd = drawEnd; int backupNumCharAcross = numCharAcross, backupNumCharDown = numCharDown; - Vector backupLineBreakTLs = null; + Vector<TextLayout> backupLineBreakTLs = null; if ( textToUse == FILE_TEXT ) - backupLineBreakTLs = (Vector) lineBreakTLs.clone(); + backupLineBreakTLs = new Vector<>(lineBreakTLs); printPageNumber = pageIndex; isPrinting = true; @@ -1137,7 +1136,7 @@ zoomAreaWidth / 2, (int) ( maxAscent * ZOOM )); g2.dispose(); if ( !nowZooming ) - zoomWindow.show(); + zoomWindow.setVisible(true); /// This is sort of redundant... since there is a paint function /// inside zoomWindow definition that does the drawImage. /// (I should be able to call just repaint() here) @@ -1176,7 +1175,7 @@ public void mouseReleased( MouseEvent e ) { if ( textToUse == RANGE_TEXT || textToUse == ALL_GLYPHS ) { if ( nowZooming ) - zoomWindow.hide(); + zoomWindow.setVisible(false); nowZooming = false; } this.setCursor( Cursor.getDefaultCursor() ); @@ -1246,7 +1245,7 @@ } public static Object getValue(int ordinal) { if (valArray == null) { - valArray = (FMValues[])EnumSet.allOf(FMValues.class).toArray(new FMValues[0]); + valArray = FMValues.values(); } for (int i=0;i<valArray.length;i++) { if (valArray[i].ordinal() == ordinal) { @@ -1257,7 +1256,7 @@ } private static FMValues[] getArray() { if (valArray == null) { - valArray = (FMValues[])EnumSet.allOf(FMValues.class).toArray(new FMValues[0]); + valArray = FMValues.values(); } return valArray; } @@ -1308,7 +1307,7 @@ public static Object getValue(int ordinal) { if (valArray == null) { - valArray = (AAValues[])EnumSet.allOf(AAValues.class).toArray(new AAValues[0]); + valArray = AAValues.values(); } for (int i=0;i<valArray.length;i++) { if (valArray[i].ordinal() == ordinal) { @@ -1320,8 +1319,7 @@ private static AAValues[] getArray() { if (valArray == null) { - Object [] oa = EnumSet.allOf(AAValues.class).toArray(new AAValues[0]); - valArray = (AAValues[])(EnumSet.allOf(AAValues.class).toArray(new AAValues[0])); + valArray = AAValues.values(); } return valArray; }
--- a/src/demo/share/jfc/Font2DTest/RangeMenu.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/Font2DTest/RangeMenu.java Fri Apr 10 17:14:06 2020 +0000 @@ -62,7 +62,7 @@ /// Custom made choice menu that holds data for unicode range -public final class RangeMenu extends JComboBox implements ActionListener { +public final class RangeMenu extends JComboBox<String> implements ActionListener { private static final int[][] UNICODE_RANGES = getUnicodeRanges(); private static final String[] UNICODE_RANGE_NAMES = getUnicodeRangeNames(); @@ -181,12 +181,12 @@ Object source = e.getSource(); if ( source instanceof JComboBox ) { - String rangeName = (String)((JComboBox)source).getSelectedItem(); + String rangeName = (String)((JComboBox<?>)source).getSelectedItem(); if ( rangeName.equals("Custom...") ) { useCustomRange = true; customRangeDialog.setLocationRelativeTo(parent); - customRangeDialog.show(); + customRangeDialog.setVisible(true); } else { useCustomRange = false; @@ -195,7 +195,7 @@ } else if ( source instanceof JButton ) { /// Since it is only "OK" button that sends any action here... - customRangeDialog.hide(); + customRangeDialog.setVisible(false); } }
--- a/src/demo/share/jfc/J2Ddemo/java2d/DemoPanel.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/J2Ddemo/java2d/DemoPanel.java Fri Apr 10 17:14:06 2020 +0000 @@ -64,7 +64,7 @@ try { if (obj instanceof String) { className = (String) obj; - obj = Class.forName(className).newInstance(); + obj = Class.forName(className).getDeclaredConstructor().newInstance(); } if (obj instanceof Component) { add((Component) obj);
--- a/src/demo/share/jfc/J2Ddemo/java2d/GlobalControls.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/J2Ddemo/java2d/GlobalControls.java Fri Apr 10 17:14:06 2020 +0000 @@ -63,7 +63,7 @@ "USHORT_x555_RGB", "BYTE_GRAY", "USHORT_GRAY", "BYTE_BINARY", "BYTE_INDEXED", "BYTE_BINARY 2 bit", "BYTE_BINARY 4 bit", "INT_RGBx", "USHORT_555x_RGB" }; - public final JComboBox screenCombo; + public final JComboBox<String> screenCombo; public TextureChooser texturechooser; public JCheckBox aliasCB, renderCB, toolBarCB; public JCheckBox compositeCB, textureCB; @@ -83,7 +83,7 @@ textureCB = createCheckBox("Texture", false, 2); compositeCB = createCheckBox("AlphaComposite", false, 3); - screenCombo = new JComboBox(); + screenCombo = new JComboBox<>(); screenCombo.setPreferredSize(new Dimension(120, 18)); screenCombo.setLightWeightPopupEnabled(true); screenCombo.setFont(font);
--- a/src/demo/share/jfc/J2Ddemo/java2d/Tools.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/J2Ddemo/java2d/Tools.java Fri Apr 10 17:14:06 2020 +0000 @@ -94,7 +94,7 @@ protected boolean focus; public JToggleButton toggleB; public JButton printB; - public JComboBox screenCombo; + public JComboBox<String> screenCombo; public JToggleButton renderB, aliasB; public JToggleButton textureB, compositeB; public JButton startStopB; @@ -167,7 +167,7 @@ toolbar.setPreferredSize(new Dimension(6*25, 26)); } - screenCombo = new JComboBox(); + screenCombo = new JComboBox<>(); screenCombo.setPreferredSize(new Dimension(100, 18)); screenCombo.setFont(font); for (String name : GlobalControls.screenNames) {
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Clipping/Areas.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Clipping/Areas.java Fri Apr 10 17:14:06 2020 +0000 @@ -151,7 +151,6 @@ Areas demo; JToolBar toolbar; - JComboBox combo; public DemoControls(Areas demo) { super(demo.name);
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Fonts/Tree.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Fonts/Tree.java Fri Apr 10 17:14:06 2020 +0000 @@ -51,8 +51,8 @@ public class Tree extends AnimatingSurface { private char theC = 'A'; - private Character theT = new Character(theC); - private Character theR = new Character((char) (theC + 1)); + private Character theT = Character.valueOf(theC); + private Character theR = Character.valueOf((char) (theC + 1)); public Tree() { setBackground(WHITE); @@ -65,9 +65,9 @@ @Override public void step(int w, int h) { setSleepAmount(4000); - theT = new Character(theC = ((char) (theC + 1))); - theR = new Character((char) (theC + 1)); - if (theR.compareTo(new Character('z')) == 0) { + theT = Character.valueOf(theC = ((char) (theC + 1))); + theR = Character.valueOf((char) (theC + 1)); + if (theR.compareTo(Character.valueOf('z')) == 0) { theC = 'A'; } }
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Images/ImageOps.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Images/ImageOps.java Fri Apr 10 17:14:06 2020 +0000 @@ -188,20 +188,20 @@ static class DemoControls extends CustomControls implements ActionListener { ImageOps demo; - JComboBox imgCombo, opsCombo; + JComboBox<String> imgCombo, opsCombo; Font font = new Font(Font.SERIF, Font.PLAIN, 10); @SuppressWarnings("LeakingThisInConstructor") public DemoControls(ImageOps demo) { super(demo.name); this.demo = demo; - add(imgCombo = new JComboBox()); + add(imgCombo = new JComboBox<>()); imgCombo.setFont(font); for (String name : ImageOps.imgName) { imgCombo.addItem(name); } imgCombo.addActionListener(this); - add(opsCombo = new JComboBox()); + add(opsCombo = new JComboBox<>()); opsCombo.setFont(font); for (String name : ImageOps.opsName) { opsCombo.addItem(name);
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Mix/Balls.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Mix/Balls.java Fri Apr 10 17:14:06 2020 +0000 @@ -71,7 +71,7 @@ private boolean active; protected Ball[] balls = new Ball[colors.length]; protected boolean clearToggle; - protected JComboBox combo; + protected JComboBox<String> combo; public Balls() { setBackground(WHITE); @@ -279,7 +279,7 @@ addTool("B", demo.balls[4].isSelected); addTool("I", demo.balls[5].isSelected); addTool("V", demo.balls[6].isSelected); - add(combo = new JComboBox()); + add(combo = new JComboBox<>()); combo.addItem("10"); combo.addItem("20"); combo.addItem("30");
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Mix/BezierScroller.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Mix/BezierScroller.java Fri Apr 10 17:14:06 2020 +0000 @@ -60,7 +60,6 @@ import java2d.AnimatingControlsSurface; import java2d.CustomControls; import javax.swing.AbstractButton; -import javax.swing.JComboBox; import javax.swing.JToggleButton; import javax.swing.JToolBar; @@ -320,7 +319,6 @@ BezierScroller demo; JToolBar toolbar; - JComboBox combo; public DemoControls(BezierScroller demo) { super(demo.name);
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Paint/GradAnim.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Paint/GradAnim.java Fri Apr 10 17:14:06 2020 +0000 @@ -266,13 +266,13 @@ class DemoControls extends CustomControls implements ActionListener { GradAnim demo; - JComboBox combo; + JComboBox<String> combo; @SuppressWarnings("LeakingThisInConstructor") public DemoControls(GradAnim demo) { super(demo.name); this.demo = demo; - combo = new JComboBox(); + combo = new JComboBox<>(); combo.addActionListener(this); combo.addItem("2-color GradientPaint"); combo.addItem("3-color LinearGradientPaint");
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Paint/TextureAnim.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Paint/TextureAnim.java Fri Apr 10 17:14:06 2020 +0000 @@ -299,7 +299,7 @@ TextureAnim demo; JToolBar toolbar; - JComboBox combo; + JComboBox<String> combo; JMenu menu; JMenuItem[] menuitems; int iconSize = 20; @@ -318,7 +318,7 @@ addTool("RO", "rotate", false); addTool("SX", "shear x", false); addTool("SY", "shear y", false); - add(combo = new JComboBox()); + add(combo = new JComboBox<>()); combo.addActionListener(this); combo.addItem("8"); combo.addItem("16");
--- a/src/demo/share/jfc/Metalworks/MetalworksPrefs.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/Metalworks/MetalworksPrefs.java Fri Apr 10 17:14:06 2020 +0000 @@ -162,7 +162,7 @@ JPanel protoPanel = new JPanel(); JLabel protoLabel = new JLabel("Protocol"); - JComboBox protocol = new JComboBox(); + JComboBox<String> protocol = new JComboBox<>(); protocol.addItem("SMTP"); protocol.addItem("IMAP"); protocol.addItem("Other..."); @@ -171,7 +171,7 @@ JPanel attachmentPanel = new JPanel(); JLabel attachmentLabel = new JLabel("Attachments"); - JComboBox attach = new JComboBox(); + JComboBox<String> attach = new JComboBox<>(); attach.addItem("Download Always"); attach.addItem("Ask size > 1 Meg"); attach.addItem("Ask size > 5 Meg");
--- a/src/demo/share/jfc/Notepad/ElementTreePanel.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/Notepad/ElementTreePanel.java Fri Apr 10 17:14:06 2020 +0000 @@ -115,7 +115,7 @@ if (as != null) { StringBuilder retBuffer = new StringBuilder("["); - Enumeration names = as.getAttributeNames(); + Enumeration<?> names = as.getAttributeNames(); while (names.hasMoreElements()) { Object nextName = names.nextElement();
--- a/src/demo/share/jfc/Stylepad/Stylepad.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/Stylepad/Stylepad.java Fri Apr 10 17:14:06 2020 +0000 @@ -255,8 +255,8 @@ w.loadDocument(); } - JComboBox createFamilyChoices() { - JComboBox b = new JComboBox(); + JComboBox<String> createFamilyChoices() { + JComboBox<String> b = new JComboBox<>(); String[] fontNames = GraphicsEnvironment.getLocalGraphicsEnvironment(). getAvailableFontFamilyNames(); for (String fontName : fontNames) {
--- a/src/demo/share/jfc/SwingSet2/ButtonDemo.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/SwingSet2/ButtonDemo.java Fri Apr 10 17:14:06 2020 +0000 @@ -61,12 +61,12 @@ JPanel radioButtonPanel = new JPanel(); JPanel toggleButtonPanel = new JPanel(); - Vector buttons = new Vector(); - Vector checkboxes = new Vector(); - Vector radiobuttons = new Vector(); - Vector togglebuttons = new Vector(); + Vector<Component> buttons = new Vector<>(); + Vector<Component> checkboxes = new Vector<>(); + Vector<Component> radiobuttons = new Vector<>(); + Vector<Component> togglebuttons = new Vector<>(); - Vector currentControls = buttons; + Vector<Component> currentControls = buttons; JButton button; JCheckBox check; @@ -466,12 +466,12 @@ String command = cb.getActionCommand(); if(command == "Enabled") { for(int i = 0; i < currentControls.size(); i++) { - c = (Component) currentControls.elementAt(i); + c = currentControls.elementAt(i); c.setEnabled(cb.isSelected()); c.invalidate(); } } else if(command == "PaintBorder") { - c = (Component) currentControls.elementAt(0); + c = currentControls.elementAt(0); if(c instanceof AbstractButton) { for(int i = 0; i < currentControls.size(); i++) { b = (AbstractButton) currentControls.elementAt(i); @@ -480,7 +480,7 @@ } } } else if(command == "PaintFocus") { - c = (Component) currentControls.elementAt(0); + c = currentControls.elementAt(0); if(c instanceof AbstractButton) { for(int i = 0; i < currentControls.size(); i++) { b = (AbstractButton) currentControls.elementAt(i); @@ -489,7 +489,7 @@ } } } else if(command == "ContentFilled") { - c = (Component) currentControls.elementAt(0); + c = currentControls.elementAt(0); if(c instanceof AbstractButton) { for(int i = 0; i < currentControls.size(); i++) { b = (AbstractButton) currentControls.elementAt(i); @@ -549,7 +549,7 @@ } } - public Vector getCurrentControls() { + public Vector<Component> getCurrentControls() { return currentControls; } }
--- a/src/demo/share/jfc/SwingSet2/ColorChooserDemo.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/SwingSet2/ColorChooserDemo.java Fri Apr 10 17:14:06 2020 +0000 @@ -128,7 +128,7 @@ okListener, null); - dialog.show(); + dialog.setVisible(true); if(e.getSource() == outerColorButton) { bezAnim.setOuterColor(chosen);
--- a/src/demo/share/jfc/SwingSet2/ComboBoxDemo.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/SwingSet2/ComboBoxDemo.java Fri Apr 10 17:14:06 2020 +0000 @@ -57,13 +57,13 @@ Face face; JLabel faceLabel; - JComboBox hairCB; - JComboBox eyesCB; - JComboBox mouthCB; + JComboBox<?> hairCB; + JComboBox<?> eyesCB; + JComboBox<?> mouthCB; - JComboBox presetCB; + JComboBox<?> presetCB; - Hashtable parts = new Hashtable(); + Hashtable<String, Object> parts = new Hashtable<>(); /** * main method allows us to run as a standalone demo. @@ -111,28 +111,31 @@ JLabel l = (JLabel) comboBoxPanel.add(new JLabel(getString("ComboBoxDemo.presets"))); l.setAlignmentX(JLabel.LEFT_ALIGNMENT); - presetCB = (JComboBox) comboBoxPanel.add(createPresetComboBox()); + presetCB = createPresetComboBox(); presetCB.setAlignmentX(JComboBox.LEFT_ALIGNMENT); l.setLabelFor(presetCB); + comboBoxPanel.add(presetCB); comboBoxPanel.add(Box.createRigidArea(VGAP30)); l = (JLabel) comboBoxPanel.add(new JLabel(getString("ComboBoxDemo.hair_description"))); l.setAlignmentX(JLabel.LEFT_ALIGNMENT); - hairCB = (JComboBox) comboBoxPanel.add(createHairComboBox()); + hairCB = createHairComboBox(); hairCB.setAlignmentX(JComboBox.LEFT_ALIGNMENT); l.setLabelFor(hairCB); + comboBoxPanel.add(hairCB); comboBoxPanel.add(Box.createRigidArea(VGAP15)); l = (JLabel) comboBoxPanel.add(new JLabel(getString("ComboBoxDemo.eyes_description"))); l.setAlignmentX(JLabel.LEFT_ALIGNMENT); - eyesCB = (JComboBox) comboBoxPanel.add(createEyesComboBox()); + eyesCB = createEyesComboBox(); eyesCB.setAlignmentX(JComboBox.LEFT_ALIGNMENT); l.setLabelFor(eyesCB); + comboBoxPanel.add(eyesCB); comboBoxPanel.add(Box.createRigidArea(VGAP15)); l = (JLabel) comboBoxPanel.add(new JLabel(getString("ComboBoxDemo.mouth_description"))); l.setAlignmentX(JLabel.LEFT_ALIGNMENT); - mouthCB = (JComboBox) comboBoxPanel.add(createMouthComboBox()); + mouthCB = (JComboBox<?>) comboBoxPanel.add(createMouthComboBox()); mouthCB.setAlignmentX(JComboBox.LEFT_ALIGNMENT); l.setLabelFor(mouthCB); comboBoxPanel.add(Box.createRigidArea(VGAP15)); @@ -217,36 +220,36 @@ return face; } - JComboBox createHairComboBox() { - JComboBox cb = new JComboBox(); + JComboBox<String> createHairComboBox() { + JComboBox<String> cb = new JComboBox<>(); fillComboBox(cb); cb.addActionListener(this); return cb; } - JComboBox createEyesComboBox() { - JComboBox cb = new JComboBox(); + JComboBox<String> createEyesComboBox() { + JComboBox<String> cb = new JComboBox<>(); fillComboBox(cb); cb.addActionListener(this); return cb; } - JComboBox createNoseComboBox() { - JComboBox cb = new JComboBox(); + JComboBox<String> createNoseComboBox() { + JComboBox<String> cb = new JComboBox<>(); fillComboBox(cb); cb.addActionListener(this); return cb; } - JComboBox createMouthComboBox() { - JComboBox cb = new JComboBox(); + JComboBox<String> createMouthComboBox() { + JComboBox<String> cb = new JComboBox<>(); fillComboBox(cb); cb.addActionListener(this); return cb; } - JComboBox createPresetComboBox() { - JComboBox cb = new JComboBox(); + JComboBox<String> createPresetComboBox() { + JComboBox<String> cb = new JComboBox<>(); cb.addItem(getString("ComboBoxDemo.preset1")); cb.addItem(getString("ComboBoxDemo.preset2")); cb.addItem(getString("ComboBoxDemo.preset3")); @@ -261,7 +264,7 @@ return cb; } - void fillComboBox(JComboBox cb) { + void fillComboBox(JComboBox<String> cb) { cb.addItem(getString("ComboBoxDemo.brent")); cb.addItem(getString("ComboBoxDemo.georges")); cb.addItem(getString("ComboBoxDemo.hans")); @@ -279,15 +282,15 @@ public void actionPerformed(ActionEvent e) { if(e.getSource() == hairCB) { - String name = (String) parts.get((String) hairCB.getSelectedItem()); + String name = (String) parts.get(hairCB.getSelectedItem()); face.setHair((ImageIcon) parts.get(name + "hair")); faceLabel.repaint(); } else if(e.getSource() == eyesCB) { - String name = (String) parts.get((String) eyesCB.getSelectedItem()); + String name = (String) parts.get(eyesCB.getSelectedItem()); face.setEyes((ImageIcon) parts.get(name + "eyes")); faceLabel.repaint(); } else if(e.getSource() == mouthCB) { - String name = (String) parts.get((String) mouthCB.getSelectedItem()); + String name = (String) parts.get(mouthCB.getSelectedItem()); face.setMouth((ImageIcon) parts.get(name + "mouth")); faceLabel.repaint(); } else if(e.getSource() == presetCB) {
--- a/src/demo/share/jfc/SwingSet2/DemoModule.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/SwingSet2/DemoModule.java Fri Apr 10 17:14:06 2020 +0000 @@ -51,7 +51,7 @@ * * @author Jeff Dinkins */ -public class DemoModule extends JApplet { +public class DemoModule extends JFrame { // The preferred size of the demo private int PREFERRED_WIDTH = 680; @@ -190,7 +190,7 @@ frame.getContentPane().add(getDemoPanel(), BorderLayout.CENTER); getDemoPanel().setPreferredSize(new Dimension(PREFERRED_WIDTH, PREFERRED_HEIGHT)); frame.pack(); - frame.show(); + frame.setVisible(true); } public JPanel createHorizontalPanel(boolean threeD) {
--- a/src/demo/share/jfc/SwingSet2/DirectionPanel.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/SwingSet2/DirectionPanel.java Fri Apr 10 17:14:06 2020 +0000 @@ -92,9 +92,9 @@ } public void setSelection( String selection ) { - Enumeration e = group.getElements(); + Enumeration<AbstractButton> e = group.getElements(); while( e.hasMoreElements() ) { - JRadioButton b = (JRadioButton)e.nextElement(); + AbstractButton b = e.nextElement(); if( b.getActionCommand().equals(selection) ) { b.setSelected(true); } @@ -147,10 +147,7 @@ getAccessibleContext().setAccessibleName(direction); getAccessibleContext().setAccessibleDescription(description); setSelected(selected); - } - - public boolean isFocusTraversable() { - return false; + setFocusable(false); } public void setBorder(Border b) {
--- a/src/demo/share/jfc/SwingSet2/ExampleFileView.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/SwingSet2/ExampleFileView.java Fri Apr 10 17:14:06 2020 +0000 @@ -59,9 +59,9 @@ * @author Jeff Dinkins */ public class ExampleFileView extends FileView { - private Hashtable icons = new Hashtable(5); - private Hashtable fileDescriptions = new Hashtable(5); - private Hashtable typeDescriptions = new Hashtable(5); + private Hashtable<String, Icon> icons = new Hashtable<>(5); + private Hashtable<File, String> fileDescriptions = new Hashtable<>(5); + private Hashtable<String, String> typeDescriptions = new Hashtable<>(5); /** * The name of the file. Do nothing special here. Let @@ -85,7 +85,7 @@ * @see FileView#getDescription */ public String getDescription(File f) { - return (String) fileDescriptions.get(f); + return fileDescriptions.get(f); }; /** @@ -111,7 +111,7 @@ * @see FileView#getTypeDescription */ public String getTypeDescription(File f) { - return (String) typeDescriptions.get(getExtension(f)); + return typeDescriptions.get(getExtension(f)); } /** @@ -149,7 +149,7 @@ Icon icon = null; String extension = getExtension(f); if(extension != null) { - icon = (Icon) icons.get(extension); + icon = icons.get(extension); } return icon; }
--- a/src/demo/share/jfc/SwingSet2/FileChooserDemo.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/SwingSet2/FileChooserDemo.java Fri Apr 10 17:14:06 2020 +0000 @@ -273,7 +273,7 @@ dialog.getContentPane().add(custom, BorderLayout.CENTER); dialog.pack(); dialog.setLocationRelativeTo(getDemoPanel()); - dialog.show(); + dialog.setVisible(true); } }; return createButton(a);
--- a/src/demo/share/jfc/SwingSet2/InternalFrameDemo.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/SwingSet2/InternalFrameDemo.java Fri Apr 10 17:14:06 2020 +0000 @@ -59,9 +59,9 @@ ImageIcon icon1, icon2, icon3, icon4; ImageIcon smIcon1, smIcon2, smIcon3, smIcon4; - public Integer FIRST_FRAME_LAYER = new Integer(1); - public Integer DEMO_FRAME_LAYER = new Integer(2); - public Integer PALETTE_LAYER = new Integer(3); + public Integer FIRST_FRAME_LAYER = Integer.valueOf(1); + public Integer DEMO_FRAME_LAYER = Integer.valueOf(2); + public Integer PALETTE_LAYER = Integer.valueOf(3); public int FRAME0_X = 15; public int FRAME0_Y = 280;
--- a/src/demo/share/jfc/SwingSet2/LayoutControlPanel.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/SwingSet2/LayoutControlPanel.java Fri Apr 10 17:14:06 2020 +0000 @@ -104,7 +104,7 @@ // Make sure the controls' text position and label alignment match // the initial value of the associated direction panel. for(int i = 0; i < demo.getCurrentControls().size(); i++) { - Component c = (Component) demo.getCurrentControls().elementAt(i); + Component c = demo.getCurrentControls().elementAt(i); setPosition(c, RIGHT, CENTER); setAlignment(c,CENTER,CENTER); } @@ -173,7 +173,7 @@ } for(int i = 0; i < demo.getCurrentControls().size(); i++) { - Component c = (Component) demo.getCurrentControls().elementAt(i); + Component c = demo.getCurrentControls().elementAt(i); int hPos, vPos, hAlign, vAlign; if( c instanceof AbstractButton ) { hPos = ((AbstractButton)c).getHorizontalTextPosition(); @@ -228,7 +228,7 @@ hPos = RIGHT; vPos = BOTTOM; } for(int i = 0; i < demo.getCurrentControls().size(); i++) { - Component c = (Component) demo.getCurrentControls().elementAt(i); + Component c = demo.getCurrentControls().elementAt(i); setPosition(c, hPos, vPos); } demo.invalidate(); @@ -267,7 +267,7 @@ hPos = RIGHT; vPos = BOTTOM; } for(int i = 0; i < demo.getCurrentControls().size(); i++) { - Component c = (Component) demo.getCurrentControls().elementAt(i); + Component c = demo.getCurrentControls().elementAt(i); setAlignment(c,hPos,vPos); c.invalidate(); }
--- a/src/demo/share/jfc/SwingSet2/ListDemo.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/SwingSet2/ListDemo.java Fri Apr 10 17:14:06 2020 +0000 @@ -59,7 +59,7 @@ * @author Jeff Dinkins */ public class ListDemo extends DemoModule { - JList list; + JList<String> list; JPanel prefixList; JPanel suffixList; @@ -69,7 +69,7 @@ GeneratedListModel listModel; - Vector checkboxes = new Vector(); + Vector<JCheckBox> checkboxes = new Vector<>(); /** * main method allows us to run as a standalone demo. @@ -103,7 +103,7 @@ centerPanel.add(Box.createRigidArea(HGAP30)); // Create the list - list = new JList(); + list = new JList<>(); list.setCellRenderer(new CompanyLogoListCellRenderer()); listModel = new GeneratedListModel(this); list.setModel(listModel); @@ -293,12 +293,12 @@ } - class GeneratedListModel extends AbstractListModel { + class GeneratedListModel extends AbstractListModel<String> { ListDemo demo; Permuter permuter; - public Vector prefix = new Vector(); - public Vector suffix = new Vector(); + public Vector<String> prefix = new Vector<>(); + public Vector<String> suffix = new Vector<>(); public GeneratedListModel (ListDemo demo) { this.demo = demo; @@ -337,7 +337,7 @@ return prefix.size() * suffix.size(); } - public Object getElementAt(int index) { + public String getElementAt(int index) { if(permuter == null) { update(); } @@ -363,7 +363,7 @@ class CompanyLogoListCellRenderer extends DefaultListCellRenderer { public Component getListCellRendererComponent( - JList list, + JList<?> list, Object value, int index, boolean isSelected,
--- a/src/demo/share/jfc/SwingSet2/OptionPaneDemo.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/SwingSet2/OptionPaneDemo.java Fri Apr 10 17:14:06 2020 +0000 @@ -163,7 +163,7 @@ message[0] = getString("OptionPaneDemo.componentmessage"); message[1] = new JTextField(getString("OptionPaneDemo.componenttextfield")); - JComboBox cb = new JComboBox(); + JComboBox<String> cb = new JComboBox<>(); cb.addItem(getString("OptionPaneDemo.component_cb1")); cb.addItem(getString("OptionPaneDemo.component_cb2")); cb.addItem(getString("OptionPaneDemo.component_cb3"));
--- a/src/demo/share/jfc/SwingSet2/SliderDemo.java Fri Apr 03 14:26:10 2020 +0000 +++ b/src/demo/share/jfc/SwingSet2/SliderDemo.java Fri Apr 10 17:14:06 2020 +0000 @@ -164,7 +164,9 @@ s.setPaintLabels( true ); s.setSnapToTicks( true ); - s.getLabelTable().put(new Integer(11), new JLabel(new Integer(11).toString(), JLabel.CENTER)); + @SuppressWarnings("unchecked") + Dictionary<Object, Object> labelTable = s.getLabelTable(); + labelTable.put(Integer.valueOf(11), new JLabel(Integer.valueOf(11).toString(), JLabel.CENTER)); s.setLabelTable( s.getLabelTable() ); s.getAccessibleContext().setAccessibleName(getString("SliderDemo.minorticks"));