diff --git a/make/com/sun/java/pack/Makefile b/make/com/sun/java/pack/Makefile index f0841521fb9327422480a29ca6b6c0a560f933df..e9cce3cbb58328d0c8eab253ffd16617648256b5 100644 --- a/make/com/sun/java/pack/Makefile +++ b/make/com/sun/java/pack/Makefile @@ -32,6 +32,8 @@ PACKAGE = com.sun.java.util.jar.pack LIBRARY = unpack PRODUCT = sun PGRM = unpack200 +JAVAC_MAX_WARNINGS=true +JAVAC_WARNINGS_FATAL=true include $(BUILDDIR)/common/Defs.gmk CPLUSPLUSLIBRARY=true diff --git a/make/com/sun/nio/Makefile b/make/com/sun/nio/Makefile index bdff717c8635938c93a9e84b96d3495bbce68bf2..b3a20f0e2668926e3985dc706b6c89ec126d003c 100644 --- a/make/com/sun/nio/Makefile +++ b/make/com/sun/nio/Makefile @@ -1,5 +1,5 @@ # -# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2011, 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 @@ -28,6 +28,8 @@ # BUILDDIR = ../../.. +SUBDIRS_MAKEFLAGS += JAVAC_MAX_WARNINGS=true +SUBDIRS_MAKEFLAGS += JAVAC_WARNINGS_FATAL=true include $(BUILDDIR)/common/Defs.gmk SUBDIRS = sctp diff --git a/make/com/sun/nio/sctp/Makefile b/make/com/sun/nio/sctp/Makefile index e71a92bc6ad7c9d1b022b233ac62790730b6726d..4a9a5c36ff12d7b14a8d6234d32ea4f68d1442a3 100644 --- a/make/com/sun/nio/sctp/Makefile +++ b/make/com/sun/nio/sctp/Makefile @@ -31,7 +31,6 @@ BUILDDIR = ../../../.. PACKAGE = com.sun.nio.sctp LIBRARY = sctp PRODUCT = sun -#OTHER_JAVACFLAGS += -Xmaxwarns 1000 -Xlint include $(BUILDDIR)/common/Defs.gmk # diff --git a/make/common/shared/Defs-java.gmk b/make/common/shared/Defs-java.gmk index d4a27e3b6c6d472fc85a76810ce29f85b441497d..d98a87c0d2e3f41a6e8bcf641a4fbc3d88ef906b 100644 --- a/make/common/shared/Defs-java.gmk +++ b/make/common/shared/Defs-java.gmk @@ -116,12 +116,17 @@ ifeq ($(DEBUG_CLASSFILES),true) JAVACFLAGS += -g endif ifeq ($(JAVAC_MAX_WARNINGS), true) - JAVACFLAGS += -Xlint:all + JAVAC_LINT_OPTIONS += -Xlint:all endif ifeq ($(JAVAC_WARNINGS_FATAL), true) JAVACFLAGS += -Werror endif +# TODO: Workaround for CR 7063027. Remove -path eventually. +JAVAC_LINT_OPTIONS += -Xlint:-path + +JAVACFLAGS += $(JAVAC_LINT_OPTIONS) + # # Some licensees do not get the Security Source bundles. We will # fall back on the prebuilt jce.jar so that we can do a best @@ -211,16 +216,12 @@ endif # The javac options supplied to the boot javac is limited. This compiler # should only be used to build the 'make/tools' sources, which are not # class files that end up in the classes directory. -ifeq ($(JAVAC_MAX_WARNINGS), true) - BOOT_JAVACFLAGS += -Xlint:all -endif +BOOT_JAVACFLAGS += $(JAVAC_LINT_OPTIONS) ifeq ($(JAVAC_WARNINGS_FATAL), true) BOOT_JAVACFLAGS += -Werror endif -BOOT_SOURCE_LANGUAGE_VERSION = 6 -BOOT_TARGET_CLASS_VERSION = 6 -BOOT_JAVACFLAGS += -encoding ascii -source $(BOOT_SOURCE_LANGUAGE_VERSION) -target $(BOOT_TARGET_CLASS_VERSION) +BOOT_JAVACFLAGS += -encoding ascii BOOT_JAR_JFLAGS += $(JAR_JFLAGS) BOOT_JAVACFLAGS += $(NO_PROPRIETARY_API_WARNINGS) diff --git a/make/common/shared/Defs-versions.gmk b/make/common/shared/Defs-versions.gmk index 6e00b22f00f640f6672f1b429500baa8d60208dd..01aa7ee391a5471d7e30c0aca1e0a8eed8cc92a4 100644 --- a/make/common/shared/Defs-versions.gmk +++ b/make/common/shared/Defs-versions.gmk @@ -191,7 +191,7 @@ endif # Generic REQUIRED_ANT_VER = 1.7.1 -REQUIRED_BOOT_VER = 1.6 +REQUIRED_BOOT_VER = 1.7 REQUIRED_FREETYPE_VERSION = 2.3.0 REQUIRED_MAKE_VER = 3.81 REQUIRED_UNZIP_VER = 5.12 diff --git a/make/java/fdlibm/FILES_c.gmk b/make/java/fdlibm/FILES_c.gmk index 0252c0f8eb3cd756ab62c21e473677d9660e5b24..cc7a1ad06d134fcee1d04c0848b18db2cef232ac 100644 --- a/make/java/fdlibm/FILES_c.gmk +++ b/make/java/fdlibm/FILES_c.gmk @@ -30,21 +30,13 @@ FILES_c = \ k_sin.c \ k_tan.c \ e_acos.c \ - e_acosh.c \ e_asin.c \ e_atan2.c \ e_atanh.c \ e_cosh.c \ e_exp.c \ e_fmod.c \ - e_gamma.c \ - e_gamma_r.c \ e_hypot.c \ - e_j0.c \ - e_j1.c \ - e_jn.c \ - e_lgamma.c \ - e_lgamma_r.c \ e_log.c \ e_log10.c \ e_pow.c \ @@ -54,21 +46,13 @@ FILES_c = \ e_sinh.c \ e_sqrt.c \ w_acos.c \ - w_acosh.c \ w_asin.c \ w_atan2.c \ w_atanh.c \ w_cosh.c \ w_exp.c \ w_fmod.c \ - w_gamma.c \ - w_gamma_r.c \ w_hypot.c \ - w_j0.c \ - w_j1.c \ - w_jn.c \ - w_lgamma.c \ - w_lgamma_r.c \ w_log.c \ w_log10.c \ w_pow.c \ @@ -76,13 +60,11 @@ FILES_c = \ w_scalb.c \ w_sinh.c \ w_sqrt.c \ - s_asinh.c \ s_atan.c \ s_cbrt.c \ s_ceil.c \ s_copysign.c \ s_cos.c \ - s_erf.c \ s_expm1.c \ s_fabs.c \ s_finite.c \ diff --git a/make/java/java/Makefile b/make/java/java/Makefile index 787d881b6ee05a52d2c59d7d559c39942da51c1f..a9c5d8373f18c5a0ee8833e7fde462497ff6daf1 100644 --- a/make/java/java/Makefile +++ b/make/java/java/Makefile @@ -32,6 +32,8 @@ BUILDDIR = ../.. PACKAGE = java.lang LIBRARY = java PRODUCT = java +SUBDIRS_MAKEFLAGS += JAVAC_MAX_WARNINGS=true +SUBDIRS_MAKEFLAGS += JAVAC_WARNINGS_FATAL=true include $(BUILDDIR)/common/Defs.gmk # windows compiler flags diff --git a/make/java/math/Makefile b/make/java/math/Makefile index cbadcca615eececa44a0cd5d7eadd41a6068c70b..df07e06f8d2999849adb104a825579518fc42354 100644 --- a/make/java/math/Makefile +++ b/make/java/math/Makefile @@ -1,5 +1,5 @@ # -# Copyright (c) 1996, 2003, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 1996, 2011, 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,8 @@ BUILDDIR = ../.. PACKAGE = java.math PRODUCT = sun +JAVAC_MAX_WARNINGS = true +JAVAC_WARNINGS_FATAL = true include $(BUILDDIR)/common/Defs.gmk # diff --git a/make/java/nio/Makefile b/make/java/nio/Makefile index cedc64bfa467916275d90f78de6d6709e4c45916..7a802d03531907512f85a91bb01eb311f70593c4 100644 --- a/make/java/nio/Makefile +++ b/make/java/nio/Makefile @@ -31,7 +31,8 @@ BUILDDIR = ../.. PACKAGE = java.nio LIBRARY = nio PRODUCT = java -OTHER_JAVACFLAGS += -Xmaxwarns 1000 -Xlint:serial -Werror +JAVAC_MAX_WARNINGS = true +JAVAC_WARNINGS_FATAL = true include $(BUILDDIR)/common/Defs.gmk NIO_SRC = $(SHARE_SRC)/classes/java/nio diff --git a/make/java/sun_nio/Makefile b/make/java/sun_nio/Makefile index a2f2f6d614109f2dd48cf4619c884790116cace5..ebe1546d51814fb40eea0499cc436ca83fbbf1a4 100644 --- a/make/java/sun_nio/Makefile +++ b/make/java/sun_nio/Makefile @@ -1,5 +1,5 @@ # -# Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2003, 2011, 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 @@ -31,7 +31,9 @@ BUILDDIR = ../.. PACKAGE = sun.nio PRODUCT = sun -OTHER_JAVACFLAGS += -Xlint:serial,-deprecation -Werror +JAVAC_MAX_WARNINGS = false +JAVAC_LINT_OPTIONS = -Xlint:all,-deprecation +JAVAC_WARNINGS_FATAL = true include $(BUILDDIR)/common/Defs.gmk # diff --git a/make/jprt.properties b/make/jprt.properties index b479e22f06a6678c0667145369cf5a8a2ff3c605..0759ecd8ef8f6b2dcfa58e98240bb8ef66fab965 100644 --- a/make/jprt.properties +++ b/make/jprt.properties @@ -25,22 +25,12 @@ # Properties for jprt -# At submit time, the release supplied will be in jprt.submit.release -# and will be one of the official release names defined in jprt. -# jprt supports property value expansion using ${property.name} syntax. - -# This tells jprt what default release we want to build -jprt.tools.default.release=${jprt.submit.release} +# Release to build for +jprt.tools.default.release=jdk8 # The different build flavors we want, we override here so we just get these 2 jprt.build.flavors=product,fastdebug -# Define the Windows we want (temporary) -jprt.my.windows.i586.jdk7b107=windows_i586_5.0 -jprt.my.windows.i586.jdk7temp=windows_i586_5.0 -jprt.my.windows.i586.jdk7=windows_i586_5.1 -jprt.my.windows.i586=${jprt.my.windows.i586.${jprt.tools.default.release}} - # Standard list of jprt build targets for this source tree jprt.build.targets= \ solaris_sparc_5.10-{product|fastdebug}, \ @@ -49,7 +39,7 @@ jprt.build.targets= \ solaris_x64_5.10-{product|fastdebug}, \ linux_i586_2.6-{product|fastdebug}, \ linux_x64_2.6-{product|fastdebug}, \ - ${jprt.my.windows.i586}-{product|fastdebug}, \ + windows_i586_5.1-{product|fastdebug}, \ windows_x64_5.2-{product|fastdebug} # User can select the test set with jprt submit "-testset name" option @@ -63,7 +53,7 @@ jprt.vm.default.test.targets= \ solaris_x64_5.10-product-c2-jvm98, \ linux_i586_2.6-product-{c1|c2}-jvm98, \ linux_x64_2.6-product-c2-jvm98, \ - ${jprt.my.windows.i586}-product-c1-jvm98, \ + windows_i586_5.1-product-c1-jvm98, \ windows_x64_5.2-product-c2-jvm98 # Select vm testlist to use (allow for testset to be empty too) @@ -80,7 +70,7 @@ jprt.make.rule.default.test.targets= \ solaris_x64_5.10-product-c2-jdk_beans1, \ linux_i586_2.6-product-{c1|c2}-jdk_beans1, \ linux_x64_2.6-product-c2-jdk_beans1, \ - ${jprt.my.windows.i586}-product-c1-jdk_beans1, \ + windows_i586_5.1-product-c1-jdk_beans1, \ windows_x64_5.2-product-c2-jdk_beans1, \ \ solaris_sparc_5.10-product-c1-jdk_io, \ @@ -89,7 +79,7 @@ jprt.make.rule.default.test.targets= \ solaris_x64_5.10-product-c2-jdk_io, \ linux_i586_2.6-product-{c1|c2}-jdk_io, \ linux_x64_2.6-product-c2-jdk_io, \ - ${jprt.my.windows.i586}-product-c1-jdk_io, \ + windows_i586_5.1-product-c1-jdk_io, \ windows_x64_5.2-product-c2-jdk_io, \ \ solaris_sparc_5.10-product-c1-jdk_lang, \ @@ -98,7 +88,7 @@ jprt.make.rule.default.test.targets= \ solaris_x64_5.10-product-c2-jdk_lang, \ linux_i586_2.6-product-{c1|c2}-jdk_lang, \ linux_x64_2.6-product-c2-jdk_lang, \ - ${jprt.my.windows.i586}-product-c1-jdk_lang, \ + windows_i586_5.1-product-c1-jdk_lang, \ windows_x64_5.2-product-c2-jdk_lang, \ \ solaris_sparc_5.10-product-c1-jdk_math, \ @@ -107,7 +97,7 @@ jprt.make.rule.default.test.targets= \ solaris_x64_5.10-product-c2-jdk_math, \ linux_i586_2.6-product-{c1|c2}-jdk_math, \ linux_x64_2.6-product-c2-jdk_math, \ - ${jprt.my.windows.i586}-product-c1-jdk_math, \ + windows_i586_5.1-product-c1-jdk_math, \ windows_x64_5.2-product-c2-jdk_math, \ \ solaris_sparc_5.10-product-c1-jdk_misc, \ @@ -116,7 +106,7 @@ jprt.make.rule.default.test.targets= \ solaris_x64_5.10-product-c2-jdk_misc, \ linux_i586_2.6-product-{c1|c2}-jdk_misc, \ linux_x64_2.6-product-c2-jdk_misc, \ - ${jprt.my.windows.i586}-product-c1-jdk_misc, \ + windows_i586_5.1-product-c1-jdk_misc, \ windows_x64_5.2-product-c2-jdk_misc, \ \ solaris_sparc_5.10-product-c1-jdk_net, \ @@ -125,7 +115,7 @@ jprt.make.rule.default.test.targets= \ solaris_x64_5.10-product-c2-jdk_net, \ linux_i586_2.6-product-{c1|c2}-jdk_net, \ linux_x64_2.6-product-c2-jdk_net, \ - ${jprt.my.windows.i586}-product-c1-jdk_net, \ + windows_i586_5.1-product-c1-jdk_net, \ windows_x64_5.2-product-c2-jdk_net, \ \ solaris_sparc_5.10-product-c1-jdk_nio1, \ @@ -134,7 +124,7 @@ jprt.make.rule.default.test.targets= \ solaris_x64_5.10-product-c2-jdk_nio1, \ linux_i586_2.6-product-{c1|c2}-jdk_nio1, \ linux_x64_2.6-product-c2-jdk_nio1, \ - ${jprt.my.windows.i586}-product-c1-jdk_nio1, \ + windows_i586_5.1-product-c1-jdk_nio1, \ windows_x64_5.2-product-c2-jdk_nio1, \ \ solaris_sparc_5.10-product-c1-jdk_nio2, \ @@ -143,7 +133,7 @@ jprt.make.rule.default.test.targets= \ solaris_x64_5.10-product-c2-jdk_nio2, \ linux_i586_2.6-product-{c1|c2}-jdk_nio2, \ linux_x64_2.6-product-c2-jdk_nio2, \ - ${jprt.my.windows.i586}-product-c1-jdk_nio2, \ + windows_i586_5.1-product-c1-jdk_nio2, \ windows_x64_5.2-product-c2-jdk_nio2, \ \ solaris_sparc_5.10-product-c1-jdk_nio3, \ @@ -152,7 +142,7 @@ jprt.make.rule.default.test.targets= \ solaris_x64_5.10-product-c2-jdk_nio3, \ linux_i586_2.6-product-{c1|c2}-jdk_nio3, \ linux_x64_2.6-product-c2-jdk_nio3, \ - ${jprt.my.windows.i586}-product-c1-jdk_nio3, \ + windows_i586_5.1-product-c1-jdk_nio3, \ windows_x64_5.2-product-c2-jdk_nio3, \ \ solaris_sparc_5.10-product-c1-jdk_security1, \ @@ -161,7 +151,7 @@ jprt.make.rule.default.test.targets= \ solaris_x64_5.10-product-c2-jdk_security1, \ linux_i586_2.6-product-{c1|c2}-jdk_security1, \ linux_x64_2.6-product-c2-jdk_security1, \ - ${jprt.my.windows.i586}-product-c1-jdk_security1, \ + windows_i586_5.1-product-c1-jdk_security1, \ windows_x64_5.2-product-c2-jdk_security1, \ \ solaris_sparc_5.10-product-c1-jdk_text, \ @@ -170,7 +160,7 @@ jprt.make.rule.default.test.targets= \ solaris_x64_5.10-product-c2-jdk_text, \ linux_i586_2.6-product-{c1|c2}-jdk_text, \ linux_x64_2.6-product-c2-jdk_text, \ - ${jprt.my.windows.i586}-product-c1-jdk_text, \ + windows_i586_5.1-product-c1-jdk_text, \ windows_x64_5.2-product-c2-jdk_text, \ \ solaris_sparc_5.10-product-c1-jdk_tools1, \ @@ -179,7 +169,7 @@ jprt.make.rule.default.test.targets= \ solaris_x64_5.10-product-c2-jdk_tools1, \ linux_i586_2.6-product-{c1|c2}-jdk_tools1, \ linux_x64_2.6-product-c2-jdk_tools1, \ - ${jprt.my.windows.i586}-product-c1-jdk_tools1, \ + windows_i586_5.1-product-c1-jdk_tools1, \ windows_x64_5.2-product-c2-jdk_tools1, \ \ solaris_sparc_5.10-product-c1-jdk_util, \ @@ -188,7 +178,7 @@ jprt.make.rule.default.test.targets= \ solaris_x64_5.10-product-c2-jdk_util, \ linux_i586_2.6-product-{c1|c2}-jdk_util, \ linux_x64_2.6-product-c2-jdk_util, \ - ${jprt.my.windows.i586}-product-c1-jdk_util, \ + windows_i586_5.1-product-c1-jdk_util, \ windows_x64_5.2-product-c2-jdk_util # All jdk test targets in test/Makefile (still no fastdebug & limited c2) @@ -202,7 +192,7 @@ jprt.make.rule.all.test.targets= \ solaris_x64_5.10-product-c2-jdk_awt, \ linux_i586_2.6-product-{c1|c2}-jdk_awt, \ linux_x64_2.6-product-c2-jdk_awt, \ - ${jprt.my.windows.i586}-product-c1-jdk_awt, \ + windows_i586_5.1-product-c1-jdk_awt, \ windows_x64_5.2-product-c2-jdk_awt, \ \ solaris_sparc_5.10-product-c1-jdk_beans2, \ @@ -211,7 +201,7 @@ jprt.make.rule.all.test.targets= \ solaris_x64_5.10-product-c2-jdk_beans2, \ linux_i586_2.6-product-{c1|c2}-jdk_beans2, \ linux_x64_2.6-product-c2-jdk_beans2, \ - ${jprt.my.windows.i586}-product-c1-jdk_beans2, \ + windows_i586_5.1-product-c1-jdk_beans2, \ windows_x64_5.2-product-c2-jdk_beans2, \ \ solaris_sparc_5.10-product-c1-jdk_beans3, \ @@ -220,7 +210,7 @@ jprt.make.rule.all.test.targets= \ solaris_x64_5.10-product-c2-jdk_beans3, \ linux_i586_2.6-product-{c1|c2}-jdk_beans3, \ linux_x64_2.6-product-c2-jdk_beans3, \ - ${jprt.my.windows.i586}-product-c1-jdk_beans3, \ + windows_i586_5.1-product-c1-jdk_beans3, \ windows_x64_5.2-product-c2-jdk_beans3, \ \ solaris_sparc_5.10-product-c1-jdk_management1, \ @@ -229,7 +219,7 @@ jprt.make.rule.all.test.targets= \ solaris_x64_5.10-product-c2-jdk_management1, \ linux_i586_2.6-product-{c1|c2}-jdk_management1, \ linux_x64_2.6-product-c2-jdk_management1, \ - ${jprt.my.windows.i586}-product-c1-jdk_management1, \ + windows_i586_5.1-product-c1-jdk_management1, \ windows_x64_5.2-product-c2-jdk_management1, \ \ solaris_sparc_5.10-product-c1-jdk_management2, \ @@ -238,7 +228,7 @@ jprt.make.rule.all.test.targets= \ solaris_x64_5.10-product-c2-jdk_management2, \ linux_i586_2.6-product-{c1|c2}-jdk_management2, \ linux_x64_2.6-product-c2-jdk_management2, \ - ${jprt.my.windows.i586}-product-c1-jdk_management2, \ + windows_i586_5.1-product-c1-jdk_management2, \ windows_x64_5.2-product-c2-jdk_management2, \ \ solaris_sparc_5.10-product-c1-jdk_rmi, \ @@ -247,7 +237,7 @@ jprt.make.rule.all.test.targets= \ solaris_x64_5.10-product-c2-jdk_rmi, \ linux_i586_2.6-product-{c1|c2}-jdk_rmi, \ linux_x64_2.6-product-c2-jdk_rmi, \ - ${jprt.my.windows.i586}-product-c1-jdk_rmi, \ + windows_i586_5.1-product-c1-jdk_rmi, \ windows_x64_5.2-product-c2-jdk_rmi, \ \ solaris_sparc_5.10-product-c1-jdk_security2, \ @@ -256,7 +246,7 @@ jprt.make.rule.all.test.targets= \ solaris_x64_5.10-product-c2-jdk_security2, \ linux_i586_2.6-product-{c1|c2}-jdk_security2, \ linux_x64_2.6-product-c2-jdk_security2, \ - ${jprt.my.windows.i586}-product-c1-jdk_security2, \ + windows_i586_5.1-product-c1-jdk_security2, \ windows_x64_5.2-product-c2-jdk_security2, \ \ solaris_sparc_5.10-product-c1-jdk_security3, \ @@ -265,7 +255,7 @@ jprt.make.rule.all.test.targets= \ solaris_x64_5.10-product-c2-jdk_security3, \ linux_i586_2.6-product-{c1|c2}-jdk_security3, \ linux_x64_2.6-product-c2-jdk_security3, \ - ${jprt.my.windows.i586}-product-c1-jdk_security3, \ + windows_i586_5.1-product-c1-jdk_security3, \ windows_x64_5.2-product-c2-jdk_security3, \ \ solaris_sparc_5.10-product-c1-jdk_swing, \ @@ -274,7 +264,7 @@ jprt.make.rule.all.test.targets= \ solaris_x64_5.10-product-c2-jdk_swing, \ linux_i586_2.6-product-{c1|c2}-jdk_swing, \ linux_x64_2.6-product-c2-jdk_swing, \ - ${jprt.my.windows.i586}-product-c1-jdk_swing, \ + windows_i586_5.1-product-c1-jdk_swing, \ windows_x64_5.2-product-c2-jdk_swing, \ \ solaris_sparc_5.10-product-c1-jdk_tools2, \ @@ -283,7 +273,7 @@ jprt.make.rule.all.test.targets= \ solaris_x64_5.10-product-c2-jdk_tools2, \ linux_i586_2.6-product-{c1|c2}-jdk_tools2, \ linux_x64_2.6-product-c2-jdk_tools2, \ - ${jprt.my.windows.i586}-product-c1-jdk_tools2, \ + windows_i586_5.1-product-c1-jdk_tools2, \ windows_x64_5.2-product-c2-jdk_tools2 # JCK test targets in test/Makefile (no fastdebug & limited c2, windows broken) diff --git a/make/sun/nio/Makefile b/make/sun/nio/Makefile index e5eb929c6c37f9c9e895de8a40d7d11b55923abe..10b8c833be366c0e9bee47bacbda8aa061614c00 100644 --- a/make/sun/nio/Makefile +++ b/make/sun/nio/Makefile @@ -1,5 +1,5 @@ # -# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2011, 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 @@ -26,6 +26,8 @@ BUILDDIR = ../.. PACKAGE = sun.nio PRODUCT = sun +SUBDIRS_MAKEFLAGS += JAVAC_MAX_WARNINGS=true +SUBDIRS_MAKEFLAGS += JAVAC_WARNINGS_FATAL=true include $(BUILDDIR)/common/Defs.gmk SUBDIRS = cs diff --git a/make/sun/nio/cs/Makefile b/make/sun/nio/cs/Makefile index d60d8a528d544c2e328ef7c9dec0b0d2aed0fa38..73fe55fbd082f7e543d40fe3825a951cff41aa11 100644 --- a/make/sun/nio/cs/Makefile +++ b/make/sun/nio/cs/Makefile @@ -36,7 +36,9 @@ PRODUCT = sun # This re-directs all the class files to a separate location CLASSDESTDIR = $(TEMPDIR)/classes -OTHER_JAVACFLAGS += -Xlint:serial,-deprecation -Werror +JAVAC_MAX_WARNINGS = false +JAVAC_LINT_OPTIONS = -Xlint:all,-deprecation +JAVAC_WARNINGS_FATAL = true include $(BUILDDIR)/common/Defs.gmk # diff --git a/make/sun/security/ec/Makefile b/make/sun/security/ec/Makefile index b0d4090ff72fd54a66e30830545d2b979c13b58e..e7b6315f7655ec80db7749a33b18d16b30d73a89 100644 --- a/make/sun/security/ec/Makefile +++ b/make/sun/security/ec/Makefile @@ -156,7 +156,7 @@ ifeq ($(NATIVE_ECC_AVAILABLE), true) $(PKGDIR)/ECDSASignature.java \ $(PKGDIR)/ECKeyPairGenerator.java - JAVAHFLAGS += -classpath $(CLASSDESTDIR) + JAVAHFLAGS += -Xbootclasspath/p:$(CLASSDESTDIR) # # C and C++ files diff --git a/make/sun/security/mscapi/Makefile b/make/sun/security/mscapi/Makefile index d19db5cc1ced1fe4269cfe699fbc8ccbeb79f5f4..405941fe7bad6ec73dd2319a7937cd98260855d3 100644 --- a/make/sun/security/mscapi/Makefile +++ b/make/sun/security/mscapi/Makefile @@ -149,7 +149,7 @@ OTHER_INCLUDES += \ # Rules # CLASSDESTDIR = $(TEMPDIR)/classes -JAVAHFLAGS += -classpath $(CLASSDESTDIR) +JAVAHFLAGS += -Xbootclasspath/p:$(CLASSDESTDIR) include $(BUILDDIR)/common/Mapfile-vers.gmk diff --git a/make/tools/Makefile b/make/tools/Makefile index 13fc5c9c31b02b02df7de6130c51cab97dbce801..ad3089477a0f65d73db3822faf36aebb10cb51e8 100644 --- a/make/tools/Makefile +++ b/make/tools/Makefile @@ -28,6 +28,8 @@ # BUILDDIR = .. + +SUBDIRS_MAKEFLAGS += JAVAC_MAX_WARNINGS=true JAVAC_WARNINGS_FATAL=true include $(BUILDDIR)/common/Defs.gmk # Note: freetypecheck is built by Sanity.gmk if needed diff --git a/make/tools/src/build/tools/buildmetaindex/BuildMetaIndex.java b/make/tools/src/build/tools/buildmetaindex/BuildMetaIndex.java index ad755db2fc6d52d7585480d807604d0277a2673a..73feec3d2bb7a32b058fff6415855d4b69a284b7 100644 --- a/make/tools/src/build/tools/buildmetaindex/BuildMetaIndex.java +++ b/make/tools/src/build/tools/buildmetaindex/BuildMetaIndex.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2011, 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 @@ -114,8 +114,8 @@ public class BuildMetaIndex { */ out.println(jmi.getJarFileKind().getMarkerChar() + " " + filename); - for (Iterator iter = index.iterator(); iter.hasNext(); ) { - out.println(iter.next()); + for (String entry : index) { + out.println(entry); } } @@ -171,8 +171,7 @@ class JarMetaIndex { * A hashmap contains a mapping from the prefix string to * a hashset which contains a set of the second level of prefix string. */ - private HashMap> knownPrefixMap = new - HashMap>(); + private HashMap> knownPrefixMap = new HashMap<>(); /* * We add maximum 5 second level entries to "sun", "java" and @@ -195,12 +194,12 @@ class JarMetaIndex { if (indexSet == null) { synchronized(this) { if (indexSet == null) { - indexSet = new HashSet(); - Enumeration entries = jar.entries(); + indexSet = new HashSet<>(); + Enumeration entries = jar.entries(); boolean containsOnlyClass = true; boolean containsOnlyResource = true; while (entries.hasMoreElements()) { - JarEntry entry = (JarEntry) entries.nextElement(); + JarEntry entry = entries.nextElement(); String name = entry.getName(); /* We only look at the non-directory entry. MANIFEST file is also skipped. */ @@ -338,9 +337,7 @@ class JarMetaIndex { /* Iterate through the hash map, add the second level package names * to the indexSet if has any. */ - for (Iterator keysIterator = knownPrefixMap.keySet().iterator(); - keysIterator.hasNext();) { - String key = keysIterator.next(); + for (String key : knownPrefixMap.keySet()) { HashSet pkgSetStartsWithKey = knownPrefixMap.get(key); int setSize = pkgSetStartsWithKey.size(); @@ -353,9 +350,8 @@ class JarMetaIndex { /* If the set contains less than MAX_PKGS_WITH_KNOWN_PREFIX, add * them to the indexSet of the MetaIndex object. */ - for (Iterator secondPkgElements = pkgSetStartsWithKey.iterator(); - secondPkgElements.hasNext();) { - indexSet.add(key + "/" + secondPkgElements.next()); + for (String secondPkgElement : pkgSetStartsWithKey) { + indexSet.add(key + "/" + secondPkgElement); } } } // end the outer "for" diff --git a/make/tools/src/build/tools/compileproperties/CompileProperties.java b/make/tools/src/build/tools/compileproperties/CompileProperties.java index 17576579a8da7bd28ec986b3f7a2367216899b3a..cf9f4510263ddb3467cf35a76fa638cd96f770c1 100644 --- a/make/tools/src/build/tools/compileproperties/CompileProperties.java +++ b/make/tools/src/build/tools/compileproperties/CompileProperties.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2011, 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 @@ -36,7 +36,6 @@ import java.io.Writer; import java.text.MessageFormat; import java.util.ArrayList; import java.util.Collections; -import java.util.Iterator; import java.util.List; import java.util.Properties; @@ -223,18 +222,16 @@ public class CompileProperties { if ( ok ) { String packageName = inferPackageName(propertiesPath, outputPath); System.out.println("inferred package name: " + packageName); - List sortedKeys = new ArrayList(); + List sortedKeys = new ArrayList<>(); for ( Object key : p.keySet() ) { sortedKeys.add((String)key); } Collections.sort(sortedKeys); - Iterator keys = sortedKeys.iterator(); StringBuffer data = new StringBuffer(); - while (keys.hasNext()) { - Object key = keys.next(); - data.append(" { \"" + escape((String)key) + "\", \"" + + for (String key : sortedKeys) { + data.append(" { \"" + escape(key) + "\", \"" + escape((String)p.get(key)) + "\" },\n"); } diff --git a/make/tools/src/build/tools/dirdiff/DirDiff.java b/make/tools/src/build/tools/dirdiff/DirDiff.java index 0a15d3a22c30c4c8c02a437d489a05a1c34a9c6b..ffa10c9ccdcf68d269a4460871f61bea0b8f6041 100644 --- a/make/tools/src/build/tools/dirdiff/DirDiff.java +++ b/make/tools/src/build/tools/dirdiff/DirDiff.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2011, 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 @@ -164,7 +164,7 @@ public class DirDiff implements Runnable { } File[] currentGoldenDirs = null; - TreeSet goldDirSet = new TreeSet(); + TreeSet goldDirSet = new TreeSet<>(); if (goldenDir != null) { currentGoldenDirs = goldenDir.listFiles(); for (int i=0; i namesHash = new Hashtable<>(); // Vector of all names - private Vector namesVector = new Vector(); + private Vector namesVector = new Vector<>(); /** * Create a new DTD. @@ -87,15 +87,15 @@ class DTDBuilder extends DTD { int numNames = namesVector.size(); out.writeShort((short) (namesVector.size())); for (int i = 0; i < namesVector.size(); i++) { - String nm = (String) namesVector.elementAt(i); + String nm = namesVector.elementAt(i); out.writeUTF(nm); } saveEntities(out); out.writeShort((short) (elements.size())); - for (Enumeration e = elements.elements() ; e.hasMoreElements() ; ) { - saveElement(out, (Element)e.nextElement()); + for (Enumeration e = elements.elements() ; e.hasMoreElements() ; ) { + saveElement(out, e.nextElement()); } if (namesVector.size() != numNames) { @@ -106,21 +106,21 @@ class DTDBuilder extends DTD { } private void buildNamesTable() { - for (Enumeration e = entityHash.elements() ; e.hasMoreElements() ; ) { - Entity ent = (Entity) e.nextElement(); + for (Enumeration e = entityHash.elements() ; e.hasMoreElements() ; ) { + Entity ent = e.nextElement(); // Do even if not isGeneral(). That way, exclusions and inclusions // will definitely have their element. getNameId(ent.getName()); } - for (Enumeration e = elements.elements() ; e.hasMoreElements() ; ) { - Element el = (Element) e.nextElement(); + for (Enumeration e = elements.elements() ; e.hasMoreElements() ; ) { + Element el = e.nextElement(); getNameId(el.getName()); for (AttributeList atts = el.getAttributes() ; atts != null ; atts = atts.getNext()) { getNameId(atts.getName()); if (atts.getValue() != null) { getNameId(atts.getValue()); } - Enumeration vals = atts.getValues(); + Enumeration vals = atts.getValues(); while (vals != null && vals.hasMoreElements()) { String s = (String) vals.nextElement(); getNameId(s); @@ -133,9 +133,9 @@ class DTDBuilder extends DTD { // The the id of a name from the list of names // private short getNameId(String name) { - Object o = namesHash.get(name); + Integer o = namesHash.get(name); if (o != null) { - return (short) ((Integer) o).intValue(); + return (short) o.intValue(); } int i = namesVector.size(); namesVector.addElement(name); @@ -149,16 +149,16 @@ class DTDBuilder extends DTD { */ void saveEntities(DataOutputStream out) throws IOException { int num = 0; - for (Enumeration e = entityHash.elements() ; e.hasMoreElements() ; ) { - Entity ent = (Entity) e.nextElement(); + for (Enumeration e = entityHash.elements() ; e.hasMoreElements() ; ) { + Entity ent = e.nextElement(); if (ent.isGeneral()) { num++; } } out.writeShort((short) num); - for (Enumeration e = entityHash.elements() ; e.hasMoreElements() ; ) { - Entity ent = (Entity) e.nextElement(); + for (Enumeration e = entityHash.elements() ; e.hasMoreElements() ; ) { + Entity ent = e.nextElement(); if (ent.isGeneral()) { out.writeShort(getNameId(ent.getName())); out.writeByte(ent.getType() & ~GENERAL); diff --git a/make/tools/src/build/tools/dtdbuilder/DTDInputStream.java b/make/tools/src/build/tools/dtdbuilder/DTDInputStream.java index e07c60f2c4107ee2fa23b48d969e7eb656247943..79b93328a1d75b970d57473099d922e040661ee8 100644 --- a/make/tools/src/build/tools/dtdbuilder/DTDInputStream.java +++ b/make/tools/src/build/tools/dtdbuilder/DTDInputStream.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2011, 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 @@ -48,7 +48,7 @@ import java.net.URL; public final class DTDInputStream extends FilterReader implements DTDConstants { public DTD dtd; - public Stack stack = new Stack(); + public Stack stack = new Stack<>(); public char str[] = new char[64]; public int replace = 0; public int ln = 1; @@ -105,6 +105,7 @@ class DTDInputStream extends FilterReader implements DTDConstants { * parameter entities. * [60] 350:22 */ + @SuppressWarnings("fallthrough") public int read() throws IOException { switch (ch) { case '%': { @@ -134,6 +135,7 @@ class DTDInputStream extends FilterReader implements DTDConstants { switch (ch) { case '\r': ln++; + /* fall through */ case ';': ch = in.read(); break; diff --git a/make/tools/src/build/tools/dtdbuilder/DTDParser.java b/make/tools/src/build/tools/dtdbuilder/DTDParser.java index 4b76cd41ab54fc4590f175e87ae1355f2c1feaed..f8eb78282379a09c3719c39af75c0916f86d041b 100644 --- a/make/tools/src/build/tools/dtdbuilder/DTDParser.java +++ b/make/tools/src/build/tools/dtdbuilder/DTDParser.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2000, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2011, 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,7 +87,7 @@ class DTDParser implements DTDConstants { return null; } - return MessageFormat.format(prop, args); + return MessageFormat.format(prop, (Object[])args); } /** @@ -201,6 +201,7 @@ class DTDParser implements DTDConstants { * Parse identifier. Uppercase characters are automatically * folded to lowercase. Returns falsed if no identifier is found. */ + @SuppressWarnings("fallthrough") boolean parseIdentifier(boolean lower) throws IOException { switch (ch) { case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': @@ -211,6 +212,7 @@ class DTDParser implements DTDConstants { if (lower) { ch = 'a' + (ch - 'A'); } + /* fall through */ case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': @@ -233,6 +235,7 @@ class DTDParser implements DTDConstants { * Parses name token. If lower is true, upper case letters * are folded to lower case. Returns falsed if no token is found. */ + @SuppressWarnings("fallthrough") boolean parseNameToken(boolean lower) throws IOException { boolean first = true; @@ -246,6 +249,7 @@ class DTDParser implements DTDConstants { if (lower) { ch = 'a' + (ch - 'A'); } + /* fall through */ case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': @@ -271,8 +275,8 @@ class DTDParser implements DTDConstants { /** * Parse a list of identifiers. */ - Vector parseIdentifierList(boolean lower) throws IOException { - Vector elems = new Vector(); + Vector parseIdentifierList(boolean lower) throws IOException { + Vector elems = new Vector<>(); skipSpace(); switch (ch) { case '(': @@ -507,7 +511,7 @@ class DTDParser implements DTDConstants { * [116] 405:6 */ void parseElementDeclaration() throws IOException { - Vector elems = parseIdentifierList(true); + Vector elems = parseIdentifierList(true); BitSet inclusions = null; BitSet exclusions = null; boolean omitStart = false; @@ -544,26 +548,26 @@ class DTDParser implements DTDConstants { if ((type == MODEL) || (type == ANY)) { if (ch == '-') { ch = in.read(); - Vector v = parseIdentifierList(true); + Vector v = parseIdentifierList(true); exclusions = new BitSet(); - for (Enumeration e = v.elements() ; e.hasMoreElements() ;) { - exclusions.set(dtd.getElement((String)e.nextElement()).getIndex()); + for (Enumeration e = v.elements() ; e.hasMoreElements() ;) { + exclusions.set(dtd.getElement(e.nextElement()).getIndex()); } } if (ch == '+') { ch = in.read(); - Vector v = parseIdentifierList(true); + Vector v = parseIdentifierList(true); inclusions = new BitSet(); - for (Enumeration e = v.elements() ; e.hasMoreElements() ;) { - inclusions.set(dtd.getElement((String)e.nextElement()).getIndex()); + for (Enumeration e = v.elements() ; e.hasMoreElements() ;) { + inclusions.set(dtd.getElement(e.nextElement()).getIndex()); } } } expect('>'); if (in.replace == 0) { - for (Enumeration e = elems.elements() ; e.hasMoreElements() ;) { - dtd.defineElement((String)e.nextElement(), type, omitStart, omitEnd, content, exclusions, inclusions, null); + for (Enumeration e = elems.elements() ; e.hasMoreElements() ;) { + dtd.defineElement(e.nextElement(), type, omitStart, omitEnd, content, exclusions, inclusions, null); } } } @@ -582,7 +586,7 @@ class DTDParser implements DTDConstants { error("invalid", "attribute value"); return; } - atts.type = atts.name2type(getString(0)); + atts.type = AttributeList.name2type(getString(0)); skipParameterSpace(); if (atts.type == NOTATION) { atts.values = parseIdentifierList(true); @@ -593,6 +597,7 @@ class DTDParser implements DTDConstants { * Parse an attribute value specification. * [33] 331:1 */ + @SuppressWarnings("fallthrough") String parseAttributeValueSpecification() throws IOException { int delim = -1; switch (ch) { @@ -627,6 +632,7 @@ class DTDParser implements DTDConstants { ch = in.read(); return getString(0); } + /* fall through */ default: addString(ch & 0xFF); @@ -648,7 +654,7 @@ class DTDParser implements DTDConstants { return; } skipParameterSpace(); - atts.modifier = atts.name2type(getString(0)); + atts.modifier = AttributeList.name2type(getString(0)); if (atts.modifier != FIXED) { return; } @@ -663,7 +669,7 @@ class DTDParser implements DTDConstants { * REMIND: associated notation name */ void parseAttlistDeclaration() throws IOException { - Vector elems = parseIdentifierList(true); + Vector elems = parseIdentifierList(true); AttributeList attlist = null, atts = null; while (parseIdentifier(true)) { @@ -685,8 +691,8 @@ class DTDParser implements DTDConstants { expect('>'); if (in.replace == 0) { - for (Enumeration e = elems.elements() ; e.hasMoreElements() ;) { - dtd.defineAttributes((String)e.nextElement(), attlist); + for (Enumeration e = elems.elements() ; e.hasMoreElements() ;) { + dtd.defineAttributes(e.nextElement(), attlist); } } } @@ -810,6 +816,7 @@ class DTDParser implements DTDConstants { /** * Parse a section of the input upto EOF or ']'. */ + @SuppressWarnings("fallthrough") void parseSection() throws IOException { while (true) { switch (ch) { @@ -883,6 +890,7 @@ class DTDParser implements DTDConstants { default: char str[] = {(char)ch}; error("invalid.arg", "character", "'" + new String(str) + "' / " + ch); + /* fall through */ case ' ': case '\t': diff --git a/make/tools/src/build/tools/dtdbuilder/PublicMapping.java b/make/tools/src/build/tools/dtdbuilder/PublicMapping.java index 8ac955fd65bbac8c55bcd0a6fc9225bf49a2d593..cbad21a5abb8c5ea845cdd7325864a56e6c9f1a0 100644 --- a/make/tools/src/build/tools/dtdbuilder/PublicMapping.java +++ b/make/tools/src/build/tools/dtdbuilder/PublicMapping.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2011, 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 @@ -44,7 +44,7 @@ import java.util.Hashtable; final class PublicMapping { String baseStr; - Hashtable tab = new Hashtable(); + Hashtable tab = new Hashtable<>(); /** * Create a mapping. @@ -103,6 +103,6 @@ final class PublicMapping { */ public String get(String id) { // System.err.println(" id = "+id); - return (String) tab.get(id); + return tab.get(id); } } diff --git a/make/tools/src/build/tools/generatebreakiteratordata/CharSet.java b/make/tools/src/build/tools/generatebreakiteratordata/CharSet.java index 1e63e3d5b63fb41abb629a87c683ca96ab6e20f3..2dc948a66415da8c60b5e4a536416ec6e2f8386c 100644 --- a/make/tools/src/build/tools/generatebreakiteratordata/CharSet.java +++ b/make/tools/src/build/tools/generatebreakiteratordata/CharSet.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2011, 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 @@ -66,7 +66,7 @@ class CharSet { * A cache which is used to speed up parseString() whenever it is * used to parse a description that has been parsed before */ - private static Hashtable expressionCache = null; + private static Hashtable expressionCache = null; /** * Builds a CharSet based on a textual description. For the syntax of @@ -79,7 +79,7 @@ class CharSet { // if "s" is in the expression cache, pull the result out // of the expresison cache if (expressionCache != null) { - result = (CharSet)expressionCache.get(s); + result = expressionCache.get(s); } // otherwise, use doParseString() to actually parse the string, @@ -87,7 +87,7 @@ class CharSet { if (result == null) { result = doParseString(s); if (expressionCache == null) { - expressionCache = new Hashtable(); + expressionCache = new Hashtable<>(); } expressionCache.put(s, result); } @@ -336,8 +336,8 @@ class CharSet { * Returns a copy of CharSet's expression cache and sets CharSet's * expression cache to empty. */ - public static Hashtable releaseExpressionCache() { - Hashtable result = expressionCache; + public static Hashtable releaseExpressionCache() { + Hashtable result = expressionCache; expressionCache = null; return result; } @@ -778,7 +778,7 @@ class CharSet { * An Enumeration that can be used to extract the character ranges * from a CharSet one at a time */ - public class Enumeration implements java.util.Enumeration { + public class Enumeration implements java.util.Enumeration { /** * Initializes a CharSet.Enumeration */ @@ -798,7 +798,7 @@ class CharSet { /** * Returns the next range in the CarSet */ - public Object nextElement() { + public int[] nextElement() { int[] result = new int[2]; result[0] = chars[p++]; result[1] = chars[p++]; diff --git a/make/tools/src/build/tools/generatebreakiteratordata/DictionaryBasedBreakIteratorBuilder.java b/make/tools/src/build/tools/generatebreakiteratordata/DictionaryBasedBreakIteratorBuilder.java index 27540067e8cbc8900234f4c1577bad0fa3328926..0bf230c5945812a38efe9b47319c350efb466f0b 100644 --- a/make/tools/src/build/tools/generatebreakiteratordata/DictionaryBasedBreakIteratorBuilder.java +++ b/make/tools/src/build/tools/generatebreakiteratordata/DictionaryBasedBreakIteratorBuilder.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2011, 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 @@ -78,12 +78,12 @@ class DictionaryBasedBreakIteratorBuilder extends RuleBasedBreakIteratorBuilder * contains "true" for every character category that includes a dictionary * character. */ - protected void buildCharCategories(Vector tempRuleList) { + protected void buildCharCategories(Vector tempRuleList) { super.buildCharCategories(tempRuleList); categoryFlags = new boolean[categories.size()]; for (int i = 0; i < categories.size(); i++) { - CharSet cs = (CharSet)categories.elementAt(i); + CharSet cs = categories.elementAt(i); if (!(cs.intersection(dictionaryChars).empty())) { categoryFlags[i] = true; } @@ -95,7 +95,7 @@ class DictionaryBasedBreakIteratorBuilder extends RuleBasedBreakIteratorBuilder // the function above. This gives us a way to create a separate character // category for the dictionary characters even when // RuleBasedBreakIteratorBuilder isn't making a distinction. - protected void mungeExpressionList(Hashtable expressions) { + protected void mungeExpressionList(Hashtable expressions) { expressions.put(dictionaryExpression, dictionaryChars); } diff --git a/make/tools/src/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java b/make/tools/src/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java index df652a71d183abd8ce8df9f479ba45593ec9c027..a552e2d840d6b53ff46fdad51262c18049fe256d 100644 --- a/make/tools/src/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java +++ b/make/tools/src/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2011, 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 @@ -91,9 +91,9 @@ public class GenerateBreakIteratorData { try { info = (ResourceBundle)Class.forName("sun.text.resources.BreakIteratorInfo" + localeName).newInstance(); - Enumeration keys = info.getKeys(); + Enumeration keys = info.getKeys(); while (keys.hasMoreElements()) { - String key = (String)keys.nextElement(); + String key = keys.nextElement(); if (key.equals("CharacterData")) { generateDataFile(info.getString(key), diff --git a/make/tools/src/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java b/make/tools/src/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java index 9040b18c1beaa0bd73c2dea4af131c1f205ff7f1..02b13ea70a5cbb3818686762bdc099801109d746 100644 --- a/make/tools/src/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java +++ b/make/tools/src/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2011, 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 @@ -110,13 +110,13 @@ class RuleBasedBreakIteratorBuilder { * A temporary holding place used for calculating the character categories. * This object contains CharSet objects. */ - protected Vector categories = null; + protected Vector categories = null; /** * A table used to map parts of regexp text to lists of character * categories, rather than having to figure them out from scratch each time */ - protected Hashtable expressions = null; + protected Hashtable expressions = null; /** * A temporary holding place for the list of ignore characters @@ -126,32 +126,32 @@ class RuleBasedBreakIteratorBuilder { /** * A temporary holding place where the forward state table is built */ - protected Vector tempStateTable = null; + protected Vector tempStateTable = null; /** * A list of all the states that have to be filled in with transitions to * the next state that is created. Used when building the state table from * the regular expressions. */ - protected Vector decisionPointList = null; + protected Vector decisionPointList = null; /** * A stack for holding decision point lists. This is used to handle nested * parentheses and braces in regexps. */ - protected Stack decisionPointStack = null; + protected Stack> decisionPointStack = null; /** * A list of states that loop back on themselves. Used to handle .*? */ - protected Vector loopingStates = null; + protected Vector loopingStates = null; /** * Looping states actually have to be backfilled later in the process * than everything else. This is where a the list of states to backfill * is accumulated. This is also used to handle .*? */ - protected Vector statesToBackfill = null; + protected Vector statesToBackfill = null; /** * A list mapping pairs of state numbers for states that are to be combined @@ -159,7 +159,7 @@ class RuleBasedBreakIteratorBuilder { * in the process of making the state table deterministic to prevent * infinite recursion. */ - protected Vector mergeList = null; + protected Vector mergeList = null; /** * A flag that is used to indicate when the list of looping states can @@ -198,7 +198,7 @@ class RuleBasedBreakIteratorBuilder { * just vectors different parts of the job off to other functions. */ public RuleBasedBreakIteratorBuilder(String description) { - Vector tempRuleList = buildRuleList(description); + Vector tempRuleList = buildRuleList(description); buildCharCategories(tempRuleList); buildStateTable(tempRuleList); buildBackwardsStateTable(tempRuleList); @@ -213,7 +213,7 @@ class RuleBasedBreakIteratorBuilder { * variable names) * */ - private Vector buildRuleList(String description) { + private Vector buildRuleList(String description) { // invariants: // - parentheses must be balanced: ()[]{}<> // - nothing can be nested inside <> @@ -240,8 +240,8 @@ class RuleBasedBreakIteratorBuilder { // set up a vector to contain the broken-up description (each entry in the // vector is a separate rule) and a stack for keeping track of opening // punctuation - Vector tempRuleList = new Vector(); - Stack parenStack = new Stack(); + Vector tempRuleList = new Vector<>(); + Stack parenStack = new Stack<>(); int p = 0; int ruleStart = 0; @@ -326,7 +326,7 @@ class RuleBasedBreakIteratorBuilder { } parenStack.pop(); if (!parenStack.empty()) { - lastOpen = ((Character)(parenStack.peek())).charValue(); + lastOpen = parenStack.peek().charValue(); } else { lastOpen = '\u0000'; @@ -552,7 +552,8 @@ class RuleBasedBreakIteratorBuilder { * character category numbers everywhere a literal character or a [] expression * originally occurred. */ - protected void buildCharCategories(Vector tempRuleList) { + @SuppressWarnings("fallthrough") + protected void buildCharCategories(Vector tempRuleList) { int bracketLevel = 0; int p = 0; int lineNum = 0; @@ -560,9 +561,9 @@ class RuleBasedBreakIteratorBuilder { // build hash table of every literal character or [] expression in the rule list // and use CharSet.parseString() to derive a CharSet object representing the // characters each refers to - expressions = new Hashtable(); + expressions = new Hashtable<>(); while (lineNum < tempRuleList.size()) { - String line = (String)(tempRuleList.elementAt(lineNum)); + String line = tempRuleList.elementAt(lineNum); p = 0; while (p < line.length()) { int c = line.codePointAt(p); @@ -618,7 +619,7 @@ class RuleBasedBreakIteratorBuilder { CharSet.releaseExpressionCache(); // create the temporary category table (which is a vector of CharSet objects) - categories = new Vector(); + categories = new Vector<>(); if (ignoreChars != null) { categories.addElement(ignoreChars); } @@ -643,8 +644,7 @@ class RuleBasedBreakIteratorBuilder { // At no time should a character ever occur in more than one character category. // for each expression in the expressions list, do... - Enumeration iter = expressions.elements(); - while (iter.hasMoreElements()) { + for (Enumeration iter = expressions.elements(); iter.hasMoreElements(); ) { // initialize the working char set to the chars in the current expression CharSet e = (CharSet)iter.nextElement(); @@ -653,7 +653,7 @@ class RuleBasedBreakIteratorBuilder { // if there's overlap between the current working set of chars // and the current category... - CharSet that = (CharSet)(categories.elementAt(j)); + CharSet that = categories.elementAt(j); if (!that.intersection(e).empty()) { // add a new category for the characters that were in the @@ -686,9 +686,9 @@ class RuleBasedBreakIteratorBuilder { // up in some other category CharSet allChars = new CharSet(); for (int i = 1; i < categories.size(); i++) { - allChars = allChars.union((CharSet)(categories.elementAt(i))); + allChars = allChars.union(categories.elementAt(i)); } - CharSet ignoreChars = (CharSet)(categories.elementAt(0)); + CharSet ignoreChars = categories.elementAt(0); ignoreChars = ignoreChars.difference(allChars); categories.setElementAt(ignoreChars, 0); @@ -697,9 +697,9 @@ class RuleBasedBreakIteratorBuilder { // character categories that expression refers to. The String is encoded: each // character is a character category number (plus 0x100 to avoid confusing them // with syntax characters in the rule grammar) - iter = expressions.keys(); - while (iter.hasMoreElements()) { - String key = (String)iter.nextElement(); + + for (Enumeration iter = expressions.keys(); iter.hasMoreElements(); ) { + String key = iter.nextElement(); CharSet cs = (CharSet)expressions.get(key); StringBuffer cats = new StringBuffer(); @@ -707,7 +707,7 @@ class RuleBasedBreakIteratorBuilder { for (int j = 0; j < categories.size(); j++) { // if the current expression contains characters in that category... - CharSet temp = cs.intersection((CharSet)(categories.elementAt(j))); + CharSet temp = cs.intersection(categories.elementAt(j)); if (!temp.empty()) { // then add the encoded category number to the String for this @@ -732,12 +732,12 @@ class RuleBasedBreakIteratorBuilder { // for each category... for (int i = 0; i < categories.size(); i++) { - CharSet chars = (CharSet)(categories.elementAt(i)); + CharSet chars = categories.elementAt(i); // go through the character ranges in the category one by one... - Enumeration enum_ = chars.getChars(); + Enumeration enum_ = chars.getChars(); while (enum_.hasMoreElements()) { - int[] range = (int[])(enum_.nextElement()); + int[] range = enum_.nextElement(); // and set the corresponding elements in the CompactArray accordingly if (i != 0) { @@ -782,7 +782,7 @@ class RuleBasedBreakIteratorBuilder { numCategories = categories.size(); } - protected void mungeExpressionList(Hashtable expressions) { + protected void mungeExpressionList(Hashtable expressions) { // empty in the parent class. This function provides a hook for subclasses // to mess with the character category table. } @@ -792,19 +792,19 @@ class RuleBasedBreakIteratorBuilder { * work is done in parseRule(), which is called once for each rule in the * description. */ - private void buildStateTable(Vector tempRuleList) { + private void buildStateTable(Vector tempRuleList) { // initialize our temporary state table, and fill it with two states: // state 0 is a dummy state that allows state 1 to be the starting state // and 0 to represent "stop". State 1 is added here to seed things // before we start parsing - tempStateTable = new Vector(); + tempStateTable = new Vector<>(); tempStateTable.addElement(new short[numCategories + 1]); tempStateTable.addElement(new short[numCategories + 1]); // call parseRule() for every rule in the rule list (except those which // start with !, which are actually backwards-iteration rules) for (int i = 0; i < tempRuleList.size(); i++) { - String rule = (String)tempRuleList.elementAt(i); + String rule = tempRuleList.elementAt(i); if (rule.charAt(0) != '!') { parseRule(rule, true); } @@ -891,10 +891,10 @@ class RuleBasedBreakIteratorBuilder { int lastState = currentState; String pendingChars = ""; - decisionPointStack = new Stack(); - decisionPointList = new Vector(); - loopingStates = new Vector(); - statesToBackfill = new Vector(); + decisionPointStack = new Stack<>(); + decisionPointList = new Vector<>(); + loopingStates = new Vector<>(); + statesToBackfill = new Vector<>(); short[] state; boolean sawEarlyBreak = false; @@ -972,8 +972,8 @@ class RuleBasedBreakIteratorBuilder { // if the character we're on is a period, we end up down here else { - int rowNum = ((Integer)decisionPointList.lastElement()).intValue(); - state = (short[])tempStateTable.elementAt(rowNum); + int rowNum = decisionPointList.lastElement().intValue(); + state = tempStateTable.elementAt(rowNum); // if the period is followed by an asterisk, then just set the current // state to loop back on itself @@ -1001,7 +1001,9 @@ class RuleBasedBreakIteratorBuilder { // of the current desicion point list onto the stack (this is // the same thing we do on an opening brace) if (p + 1 < rule.length() && rule.charAt(p + 1) == '*') { - decisionPointStack.push(decisionPointList.clone()); + @SuppressWarnings("unchecked") + Vector clone = (Vector)decisionPointList.clone(); + decisionPointStack.push(clone); } // create a new state, add it to the list of states to backfill @@ -1040,7 +1042,9 @@ class RuleBasedBreakIteratorBuilder { // it, preventing it from being affected by whatever's inside the parentheses. // This decision point list is restored when a } is encountered. else if (c == '{') { - decisionPointStack.push(decisionPointList.clone()); + @SuppressWarnings("unchecked") + Vector clone = (Vector)decisionPointList.clone(); + decisionPointStack.push(clone); } // a } marks the end of an optional run of characters. Pop the last decision @@ -1053,7 +1057,7 @@ class RuleBasedBreakIteratorBuilder { // on the character categories that caused us to enter this state if (c == '*') { for (int i = lastState + 1; i < tempStateTable.size(); i++) { - Vector temp = new Vector(); + Vector temp = new Vector<>(); temp.addElement(new Integer(i)); updateStateTable(temp, pendingChars, (short)(lastState + 1)); } @@ -1063,7 +1067,7 @@ class RuleBasedBreakIteratorBuilder { // it with the current decision point list (this causes the divergent // paths through the state table to come together again on the next // new state) - Vector temp = (Vector)decisionPointStack.pop(); + Vector temp = decisionPointStack.pop(); for (int i = 0; i < decisionPointList.size(); i++) temp.addElement(decisionPointList.elementAt(i)); decisionPointList = temp; @@ -1123,8 +1127,10 @@ class RuleBasedBreakIteratorBuilder { // stack (this keeps track of the active decision point list before // the () expression), followed by an empty decision point list // (this will hold the exit points) - decisionPointStack.push(decisionPointList.clone()); - decisionPointStack.push(new Vector()); + @SuppressWarnings("unchecked") + Vector clone = (Vector)decisionPointList.clone(); + decisionPointStack.push(clone); + decisionPointStack.push(new Vector()); } // a | separates alternative character sequences in a () expression. When @@ -1133,8 +1139,8 @@ class RuleBasedBreakIteratorBuilder { else if (c == '|') { // pick out the top two decision point lists on the stack - Vector oneDown = (Vector)decisionPointStack.pop(); - Vector twoDown = (Vector)decisionPointStack.peek(); + Vector oneDown = decisionPointStack.pop(); + Vector twoDown = decisionPointStack.peek(); decisionPointStack.push(oneDown); // append the current decision point list to the list below it @@ -1142,7 +1148,9 @@ class RuleBasedBreakIteratorBuilder { // current decision point list to its state before the () expression for (int i = 0; i < decisionPointList.size(); i++) oneDown.addElement(decisionPointList.elementAt(i)); - decisionPointList = (Vector)twoDown.clone(); + @SuppressWarnings("unchecked") + Vector clone = (Vector)twoDown.clone(); + decisionPointList = clone; } // a ) marks the end of a sequence of characters. We do one of two things @@ -1160,7 +1168,7 @@ class RuleBasedBreakIteratorBuilder { // pull the exit point list off the stack, merge it with the current // decision point list, and make the merged version the current // decision point list - Vector exitPoints = (Vector)decisionPointStack.pop(); + Vector exitPoints = decisionPointStack.pop(); for (int i = 0; i < decisionPointList.size(); i++) exitPoints.addElement(decisionPointList.elementAt(i)); decisionPointList = exitPoints; @@ -1176,16 +1184,18 @@ class RuleBasedBreakIteratorBuilder { // now exitPoints and decisionPointList have to point to equivalent // vectors, but not the SAME vector - exitPoints = (Vector)decisionPointList.clone(); + @SuppressWarnings("unchecked") + Vector clone = (Vector)decisionPointList.clone(); + exitPoints = clone; // pop the original decision point list off the stack - Vector temp = (Vector)decisionPointStack.pop(); + Vector temp = decisionPointStack.pop(); // we squirreled away the row number of our entry point list // at the beginning of the original decision point list. Fish // that state number out and retrieve the entry point list - int tempStateNum = ((Integer)temp.firstElement()).intValue(); - short[] tempState = (short[])tempStateTable.elementAt(tempStateNum); + int tempStateNum = temp.firstElement().intValue(); + short[] tempState = tempStateTable.elementAt(tempStateNum); // merge the original decision point list with the current // decision point list @@ -1217,8 +1227,8 @@ class RuleBasedBreakIteratorBuilder { else if (c == '/') { sawEarlyBreak = true; for (int i = 0; i < decisionPointList.size(); i++) { - state = (short[])tempStateTable.elementAt(((Integer)decisionPointList. - elementAt(i)).intValue()); + state = tempStateTable.elementAt(decisionPointList. + elementAt(i).intValue()); state[numCategories] |= LOOKAHEAD_STATE_FLAG; } } @@ -1261,8 +1271,8 @@ class RuleBasedBreakIteratorBuilder { // signals that these states cause the break position to be updated to the // position of the slash rather than the current break position. for (int i = 0; i < decisionPointList.size(); i++) { - int rowNum = ((Integer)decisionPointList.elementAt(i)).intValue(); - state = (short[])tempStateTable.elementAt(rowNum); + int rowNum = decisionPointList.elementAt(i).intValue(); + state = tempStateTable.elementAt(rowNum); state[numCategories] |= END_STATE_FLAG; if (sawEarlyBreak) { state[numCategories] |= LOOKAHEAD_STATE_FLAG; @@ -1279,7 +1289,7 @@ class RuleBasedBreakIteratorBuilder { * list of the columns that need updating. * @param newValue Update the cells specfied above to contain this value */ - private void updateStateTable(Vector rows, + private void updateStateTable(Vector rows, String pendingChars, short newValue) { // create a dummy state that has the specified row number (newValue) in @@ -1292,7 +1302,7 @@ class RuleBasedBreakIteratorBuilder { // go through the list of rows to update, and update them by calling // mergeStates() to merge them the the dummy state we created for (int i = 0; i < rows.size(); i++) { - mergeStates(((Integer)rows.elementAt(i)).intValue(), newValues, rows); + mergeStates(rows.elementAt(i).intValue(), newValues, rows); } } @@ -1318,8 +1328,8 @@ class RuleBasedBreakIteratorBuilder { */ private void mergeStates(int rowNum, short[] newValues, - Vector rowsBeingUpdated) { - short[] oldValues = (short[])(tempStateTable.elementAt(rowNum)); + Vector rowsBeingUpdated) { + short[] oldValues = tempStateTable.elementAt(rowNum); boolean isLoopingState = loopingStates.contains(new Integer(rowNum)); // for each of the cells in the rows we're reconciling, do... @@ -1375,7 +1385,7 @@ class RuleBasedBreakIteratorBuilder { // add this pair of row numbers to the merge list (create it first // if we haven't created the merge list yet) if (mergeList == null) { - mergeList = new Vector(); + mergeList = new Vector<>(); } mergeList.addElement(new int[] { oldRowNum, newRowNum, combinedRowNum }); @@ -1384,7 +1394,7 @@ class RuleBasedBreakIteratorBuilder { // state table and update the original row (oldValues) to point // to the new, merged, state short[] newRow = new short[numCategories + 1]; - short[] oldRow = (short[])(tempStateTable.elementAt(oldRowNum)); + short[] oldRow = tempStateTable.elementAt(oldRowNum); System.arraycopy(oldRow, 0, newRow, 0, numCategories + 1); tempStateTable.addElement(newRow); oldValues[i] = (short)combinedRowNum; @@ -1408,7 +1418,7 @@ class RuleBasedBreakIteratorBuilder { // now (groan) do the same thing for all the entries on the // decision point stack for (int k = 0; k < decisionPointStack.size(); k++) { - Vector dpl = (Vector)decisionPointStack.elementAt(k); + Vector dpl = decisionPointStack.elementAt(k); if ((dpl.contains(new Integer(oldRowNum)) || dpl.contains(new Integer(newRowNum))) && !dpl.contains(new Integer(combinedRowNum)) @@ -1420,8 +1430,8 @@ class RuleBasedBreakIteratorBuilder { // FINALLY (puff puff puff), call mergeStates() recursively to copy // the row referred to by newValues into the new row and resolve any // conflicts that come up at that level - mergeStates(combinedRowNum, (short[])(tempStateTable.elementAt( - newValues[i])), rowsBeingUpdated); + mergeStates(combinedRowNum, tempStateTable.elementAt( + newValues[i]), rowsBeingUpdated); } } } @@ -1445,7 +1455,7 @@ class RuleBasedBreakIteratorBuilder { else { int[] entry; for (int i = 0; i < mergeList.size(); i++) { - entry = (int[])(mergeList.elementAt(i)); + entry = mergeList.elementAt(i); // we have a hit if the two row numbers match the two row numbers // in the beginning of the entry (the two that combine), in either @@ -1477,20 +1487,21 @@ class RuleBasedBreakIteratorBuilder { * @param endStates The list of states to treat as end states (states that * can exit the loop). */ - private void setLoopingStates(Vector newLoopingStates, Vector endStates) { + private void setLoopingStates(Vector newLoopingStates, + Vector endStates) { // if the current list of looping states isn't empty, we have to backfill // values from the looping states into the states that are waiting to be // backfilled if (!loopingStates.isEmpty()) { - int loopingState = ((Integer)loopingStates.lastElement()).intValue(); + int loopingState = loopingStates.lastElement().intValue(); int rowNum; // don't backfill into an end state OR any state reachable from an end state // (since the search for reachable states is recursive, it's split out into // a separate function, eliminateBackfillStates(), below) for (int i = 0; i < endStates.size(); i++) { - eliminateBackfillStates(((Integer)endStates.elementAt(i)).intValue()); + eliminateBackfillStates(endStates.elementAt(i).intValue()); } // we DON'T actually backfill the states that need to be backfilled here. @@ -1501,8 +1512,8 @@ class RuleBasedBreakIteratorBuilder { // for backfilling by putting the row number of the state to copy from // into the flag cell at the end of the row for (int i = 0; i < statesToBackfill.size(); i++) { - rowNum = ((Integer)statesToBackfill.elementAt(i)).intValue(); - short[] state = (short[])tempStateTable.elementAt(rowNum); + rowNum = statesToBackfill.elementAt(i).intValue(); + short[] state = tempStateTable.elementAt(rowNum); state[numCategories] = (short)((state[numCategories] & ALL_FLAGS) | loopingState); } @@ -1511,7 +1522,9 @@ class RuleBasedBreakIteratorBuilder { } if (newLoopingStates != null) { - loopingStates = (Vector)newLoopingStates.clone(); + @SuppressWarnings("unchecked") + Vector clone = (Vector)newLoopingStates.clone(); + loopingStates = clone; } } @@ -1530,7 +1543,7 @@ class RuleBasedBreakIteratorBuilder { // then go through and recursively call this function for every // state that the base state points to - short[] state = (short[])tempStateTable.elementAt(baseState); + short[] state = tempStateTable.elementAt(baseState); for (int i = 0; i < numCategories; i++) { if (state[i] != 0) { eliminateBackfillStates(state[i]); @@ -1551,7 +1564,7 @@ class RuleBasedBreakIteratorBuilder { // for each state in the state table... for (int i = 0; i < tempStateTable.size(); i++) { - state = (short[])tempStateTable.elementAt(i); + state = tempStateTable.elementAt(i); // check the state's flag word to see if it's marked for backfilling // (it's marked for backfilling if any bits other than the two high-order @@ -1563,7 +1576,7 @@ class RuleBasedBreakIteratorBuilder { // load up the state to copy from (if we haven't already) if (fromState != loopingStateRowNum) { loopingStateRowNum = fromState; - loopingState = (short[])tempStateTable.elementAt(loopingStateRowNum); + loopingState = tempStateTable.elementAt(loopingStateRowNum); } // clear out the backfill part of the flag word @@ -1594,7 +1607,7 @@ class RuleBasedBreakIteratorBuilder { backfillLoopingStates(); int[] rowNumMap = new int[tempStateTable.size()]; - Stack rowsToFollow = new Stack(); + Stack rowsToFollow = new Stack<>(); rowsToFollow.push(new Integer(1)); rowNumMap[1] = 1; @@ -1602,8 +1615,8 @@ class RuleBasedBreakIteratorBuilder { // (the reachable states will have their row numbers in the row number // map, and the nonreachable states will have zero in the row number map) while (rowsToFollow.size() != 0) { - int rowNum = ((Integer)rowsToFollow.pop()).intValue(); - short[] row = (short[])(tempStateTable.elementAt(rowNum)); + int rowNum = rowsToFollow.pop().intValue(); + short[] row = tempStateTable.elementAt(rowNum); for (int i = 0; i < numCategories; i++) { if (row[i] != 0) { @@ -1632,7 +1645,7 @@ class RuleBasedBreakIteratorBuilder { if (rowNumMap[i] == 0) { continue; } - state1 = (short[])tempStateTable.elementAt(i); + state1 = tempStateTable.elementAt(i); for (int j = 0; j < numCategories; j++) { if (state1[j] != 0) { ++stateClasses[i]; @@ -1663,10 +1676,10 @@ class RuleBasedBreakIteratorBuilder { for (int i = 0; i < stateClasses.length; i++) { if (stateClasses[i] == currentClass) { if (state1 == null) { - state1 = (short[])tempStateTable.elementAt(i); + state1 = tempStateTable.elementAt(i); } else { - state2 = (short[])tempStateTable.elementAt(i); + state2 = tempStateTable.elementAt(i); for (int j = 0; j < state2.length; j++) { if ((j == numCategories && state1[j] != state2[j] && forward) || (j != numCategories && stateClasses[state1[j]] @@ -1733,7 +1746,7 @@ class RuleBasedBreakIteratorBuilder { int p = 0; int p2 = 0; for (int i = 0; i < tempStateTable.size(); i++) { - short[] row = (short[])(tempStateTable.elementAt(i)); + short[] row = tempStateTable.elementAt(i); if (row == null) { continue; } @@ -1752,7 +1765,7 @@ class RuleBasedBreakIteratorBuilder { backwardsStateTable = new short[newRowNum * numCategories]; int p = 0; for (int i = 0; i < tempStateTable.size(); i++) { - short[] row = (short[])(tempStateTable.elementAt(i)); + short[] row = tempStateTable.elementAt(i); if (row == null) { continue; } @@ -1769,12 +1782,12 @@ class RuleBasedBreakIteratorBuilder { * table and any additional rules (identified by the ! on the front) * supplied in the description */ - private void buildBackwardsStateTable(Vector tempRuleList) { + private void buildBackwardsStateTable(Vector tempRuleList) { // create the temporary state table and seed it with two rows (row 0 // isn't used for anything, and we have to create row 1 (the initial // state) before we can do anything else - tempStateTable = new Vector(); + tempStateTable = new Vector<>(); tempStateTable.addElement(new short[numCategories + 1]); tempStateTable.addElement(new short[numCategories + 1]); @@ -1786,7 +1799,7 @@ class RuleBasedBreakIteratorBuilder { // the same syntax as the normal break rules, but begin with '!' to distinguish // them from normal break rules for (int i = 0; i < tempRuleList.size(); i++) { - String rule = (String)tempRuleList.elementAt(i); + String rule = tempRuleList.elementAt(i); if (rule.charAt(0) == '!') { parseRule(rule.substring(1), false); } @@ -1831,7 +1844,7 @@ class RuleBasedBreakIteratorBuilder { for (int i = 0; i < numCategories + 1; i++) tempStateTable.addElement(new short[numCategories + 1]); - short[] state = (short[])tempStateTable.elementAt(backTableOffset - 1); + short[] state = tempStateTable.elementAt(backTableOffset - 1); for (int i = 0; i < numCategories; i++) state[i] = (short)(i + backTableOffset); @@ -1855,7 +1868,7 @@ class RuleBasedBreakIteratorBuilder { for (int nextColumn = 0; nextColumn < numCategories; nextColumn++) { int cellValue = lookupState(nextRow, nextColumn); if (cellValue != 0) { - state = (short[])tempStateTable.elementAt(nextColumn + + state = tempStateTable.elementAt(nextColumn + backTableOffset); state[column] = (short)(column + backTableOffset); } @@ -1876,9 +1889,9 @@ class RuleBasedBreakIteratorBuilder { // populated that is also populated in row 1 of the rule-based // sub-table, copy the value from row 1 over the value in the // auto-generated sub-table - state = (short[])tempStateTable.elementAt(1); + state = tempStateTable.elementAt(1); for (int i = backTableOffset - 1; i < tempStateTable.size(); i++) { - short[] state2 = (short[])tempStateTable.elementAt(i); + short[] state2 = tempStateTable.elementAt(i); for (int j = 0; j < numCategories; j++) { if (state[j] != 0 && state2[j] != 0) { state2[j] = state[j]; @@ -1890,9 +1903,9 @@ class RuleBasedBreakIteratorBuilder { // an end state, fill in all unpopulated cells with the values // of the corresponding cells in the first row of the auto- // generated sub-table. - state = (short[])tempStateTable.elementAt(backTableOffset - 1); + state = tempStateTable.elementAt(backTableOffset - 1); for (int i = 1; i < backTableOffset - 1; i++) { - short[] state2 = (short[])tempStateTable.elementAt(i); + short[] state2 = tempStateTable.elementAt(i); if ((state2[numCategories] & END_STATE_FLAG) == 0) { for (int j = 0; j < numCategories; j++) { if (state2[j] == 0) { diff --git a/make/tools/src/build/tools/generatebreakiteratordata/SupplementaryCharacterData.java b/make/tools/src/build/tools/generatebreakiteratordata/SupplementaryCharacterData.java index 3501119b0c486fe52d994145a8a7542eb5afe8a7..e9c585f570ac406c9ffb935cea2a610d2b31347e 100644 --- a/make/tools/src/build/tools/generatebreakiteratordata/SupplementaryCharacterData.java +++ b/make/tools/src/build/tools/generatebreakiteratordata/SupplementaryCharacterData.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2011, 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 @@ -128,7 +128,7 @@ final class SupplementaryCharacterData { int new_index = 0; int loop_count = dataCount - 1; long data = tempTable[old_index]; - int start = (int)((long)(data>>32)) & CODEPOINT_MASK; + int start = (int)(data>>32) & CODEPOINT_MASK; int end = (int)(data>>8) & CODEPOINT_MASK; /* @@ -142,7 +142,7 @@ final class SupplementaryCharacterData { newTempTable[new_index++] = composeEntry(start, (int)data); for (int i = 0; i < loop_count; i++) { data = tempTable[++old_index]; - int nextStart = (int)((long)(data>>32)) & CODEPOINT_MASK; + int nextStart = (int)(data>>32) & CODEPOINT_MASK; /* * If the previous end code point is not equal to the previous start diff --git a/make/tools/src/build/tools/generatecharacter/GenerateCharacter.java b/make/tools/src/build/tools/generatecharacter/GenerateCharacter.java index 2f7828b6c10c57dcd58d0bd7b8ba85551f09a661..6ae5c5edec931abf4d743381079421abd9b9b487 100644 --- a/make/tools/src/build/tools/generatecharacter/GenerateCharacter.java +++ b/make/tools/src/build/tools/generatecharacter/GenerateCharacter.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2011, 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 @@ -1290,7 +1290,7 @@ OUTER: for (int i = 0; i < n; i += m) { else if (bits == 32 || bits < 8) result.append(hex8((int)val)); else { - result.append(hex16((long)val)); + result.append(hex16(val)); if (!Csyntax) result.append("L"); } diff --git a/make/tools/src/build/tools/generatecharacter/SpecialCaseMap.java b/make/tools/src/build/tools/generatecharacter/SpecialCaseMap.java index 049317592465beaa38228c1ec8f7034e969bf80f..c96d04dd126dacdd9cd9f3b9d46dfb379819108e 100644 --- a/make/tools/src/build/tools/generatecharacter/SpecialCaseMap.java +++ b/make/tools/src/build/tools/generatecharacter/SpecialCaseMap.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2011, 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,7 +39,7 @@ import java.lang.*; *

* @author John O'Conner */ -public class SpecialCaseMap implements Comparable { +public class SpecialCaseMap implements Comparable { SpecialCaseMap() { chSource = 0xFFFF; @@ -55,7 +55,7 @@ public class SpecialCaseMap implements Comparable { */ public static SpecialCaseMap[] readSpecFile(File file, int plane) throws FileNotFoundException { - ArrayList caseMaps = new ArrayList(150); + ArrayList caseMaps = new ArrayList<>(150); int count = 0; BufferedReader f = new BufferedReader(new FileReader(file)); String line = null; @@ -69,7 +69,7 @@ public class SpecialCaseMap implements Comparable { SpecialCaseMap item = parse(line.trim()); if (item != null) { if(item.getCharSource() >> 16 < plane) continue; - if((int)(item.getCharSource() >> 16) > plane) break; + if(item.getCharSource() >> 16 > plane) break; caseMaps.add(item); ++count; } @@ -83,7 +83,7 @@ public class SpecialCaseMap implements Comparable { } - /** + /** * Given one line of a Unicode special casing data file as a String, parse the line * and return a SpecialCaseMap object that contains the case mapping. * @@ -177,25 +177,25 @@ public class SpecialCaseMap implements Comparable { else return -1; } - /* + /* * Extracts and returns the high surrogate value from a UTF-32 code point. * If argument is a BMP character, then it is converted to a char and returned; * otherwise the high surrogate value is extracted. * @param codePoint a UTF-32 codePoint with value greater than 0xFFFF. * @return the high surrogate value that helps create codePoint; else * the char representation of codePoint if it is a BMP character. - * @since 1.5 + * @since 1.5 */ - static char getHighSurrogate(int codePoint) { - char high = (char)codePoint; - if (codePoint > 0xFFFF) { - high = (char)((codePoint - 0x10000)/0x0400 + 0xD800); - } - return high; + static char getHighSurrogate(int codePoint) { + char high = (char)codePoint; + if (codePoint > 0xFFFF) { + high = (char)((codePoint - 0x10000)/0x0400 + 0xD800); } + return high; + } - /* + /* * Extracts and returns the low surrogate value from a UTF-32 code point. * If argument is a BMP character, then it is converted to a char and returned; * otherwise the high surrogate value is extracted. @@ -204,29 +204,28 @@ public class SpecialCaseMap implements Comparable { * the char representation of codePoint if it is a BMP character. * @since 1.5 */ - static char getLowSurrogate(int codePoint) { - char low = (char)codePoint; - if(codePoint > 0xFFFF) { - low = (char)((codePoint - 0x10000)%0x0400 + 0xDC00); - } - return low; + static char getLowSurrogate(int codePoint) { + char low = (char)codePoint; + if(codePoint > 0xFFFF) { + low = (char)((codePoint - 0x10000)%0x0400 + 0xDC00); } + return low; + } - static String hex6(int n) { - String str = Integer.toHexString(n & 0xFFFFFF).toUpperCase(); - return "000000".substring(Math.min(6, str.length())) + str; - - } + static String hex6(int n) { + String str = Integer.toHexString(n & 0xFFFFFF).toUpperCase(); + return "000000".substring(Math.min(6, str.length())) + str; + } - static String hex6(char[] map){ - StringBuffer buff = new StringBuffer(); - int x=0; - buff.append(hex6(map[x++])); - while(x other.chSource) { + else if (chSource > otherObject.chSource) { return 1; } else return 0; } public boolean equals(Object o1) { - boolean bEqual = false; - if (0 == compareTo(o1)) { - bEqual = true; - } + if (this == o1) { + return true; + } + if (o1 == null || !(o1 instanceof SpecialCaseMap)) { + return false; + } + SpecialCaseMap other = (SpecialCaseMap)o1; + boolean bEqual = false; + if (0 == compareTo(other)) { + bEqual = true; + } return bEqual; } - public String toString() { - StringBuffer buff = new StringBuffer(); - buff.append(hex6(getCharSource())); - buff.append("|" + hex6(lowerCaseMap)); - buff.append("|" + hex6(upperCaseMap)); - buff.append("|" + hex6(titleCaseMap)); - buff.append("|" + context); - return buff.toString(); - } + public String toString() { + StringBuffer buff = new StringBuffer(); + buff.append(hex6(getCharSource())); + buff.append("|" + hex6(lowerCaseMap)); + buff.append("|" + hex6(upperCaseMap)); + buff.append("|" + hex6(titleCaseMap)); + buff.append("|" + context); + return buff.toString(); + } - public int hashCode() { - return (int)chSource; - } + public int hashCode() { + return chSource; + } - public static void main(String[] args) { - SpecialCaseMap[] spec = null; - if (args.length == 2 ) { - try { - File file = new File(args[0]); - int plane = Integer.parseInt(args[1]); - spec = SpecialCaseMap.readSpecFile(file, plane); - System.out.println("SpecialCaseMap[" + spec.length + "]:"); - for (int x=0; x list = new ArrayList<>(3000); UnicodeSpec[] result = null; int count = 0; BufferedReader f = new BufferedReader(new FileReader(file)); - String line = null; + String line = null; loop: while(true) { try { line = f.readLine(); } catch (IOException e) { - break loop; - } + break loop; + } if (line == null) break loop; UnicodeSpec item = parse(line.trim()); - int specPlane = (int)(item.getCodePoint() >>> 16); - if (specPlane < plane) continue; - if (specPlane > plane) break; + int specPlane = item.getCodePoint() >>> 16; + if (specPlane < plane) continue; + if (specPlane > plane) break; if (item != null) { - list.add(item); + list.add(item); } } - result = new UnicodeSpec[list.size()]; - list.toArray(result); + result = new UnicodeSpec[list.size()]; + list.toArray(result); return result; } diff --git a/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java b/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java index c05f1ba79505989333749fca182246e23f962c55..3c6aebf172e1fcb60d9fe65870a83b3b0e59a67e 100644 --- a/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java +++ b/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2011, 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 @@ -250,10 +250,10 @@ public class GenerateCurrencyData { return Integer.parseInt(numericCode); } - static HashMap specialCaseMap = new HashMap(); + static HashMap specialCaseMap = new HashMap<>(); private static int makeSpecialCaseEntry(String currencyInfo) throws Exception { - Integer oldEntry = (Integer) specialCaseMap.get(currencyInfo); + Integer oldEntry = specialCaseMap.get(currencyInfo); if (oldEntry != null) { return oldEntry.intValue(); } diff --git a/make/tools/src/build/tools/hasher/Hasher.java b/make/tools/src/build/tools/hasher/Hasher.java index 1e2b418cfc5b97850dd909f3e1e8574a7c2b7381..bf041976ef2c0fd6ff783ac213be90ec725c938d 100644 --- a/make/tools/src/build/tools/hasher/Hasher.java +++ b/make/tools/src/build/tools/hasher/Hasher.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2004, 2011, 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 @@ -51,15 +51,15 @@ public class Hasher { boolean verbose = false; - List keys = new ArrayList(); // Key strings - List values = new ArrayList(); // Value expressions - String pkg = null; // Package prefix for generated class - String cln = null; // Name of generated class - String vtype = "String"; // Value type - int maxBits = 11; // lg table size - int maxDepth = 3; // Max chain depth - boolean inner = false; // Generating an inner class? - boolean empty = false; // Generating an empty table? + List keys = new ArrayList<>(); // Key strings + List values = new ArrayList<>(); // Value expressions + String pkg = null; // Package prefix for generated class + String cln = null; // Name of generated class + String vtype = "String"; // Value type + int maxBits = 11; // lg table size + int maxDepth = 3; // Max chain depth + boolean inner = false; // Generating an inner class? + boolean empty = false; // Generating an empty table? void usage() { err.println("usage: java Hasher [options] [[pkgName.]ClassName]"); @@ -76,9 +76,9 @@ public class Hasher { } Hasher(String[] args) { - List as = Arrays.asList(args); - for (Iterator i = as.iterator(); i.hasNext();) { - String a = (String)i.next(); + List as = Arrays.asList(args); + for (Iterator i = as.iterator(); i.hasNext();) { + String a = i.next(); if (a.equals("-e")) { empty = true; } else if (a.equals("-i")) { @@ -88,15 +88,15 @@ public class Hasher { } else if (a.equals("-md")) { if (!i.hasNext()) usage(); - maxDepth = Integer.parseInt((String)i.next()); + maxDepth = Integer.parseInt(i.next()); } else if (a.equals("-mb")) { if (!i.hasNext()) usage(); - maxBits = Integer.parseInt((String)i.next()); + maxBits = Integer.parseInt(i.next()); } else if (a.equals("-t")) { if (!i.hasNext()) usage(); - vtype = (String)i.next(); + vtype = i.next(); } else if (a.startsWith("-")) { usage(); } else { @@ -153,8 +153,8 @@ public class Hasher { int nw = keys.size(); for (int i = 0; i < nw; i++) { - String w = (String)keys.get(i); - String v = (String)values.get(i); + String w = keys.get(i); + String v = values.get(i); int h = hash(w); if (ht[h] == null) ht[h] = new Object[] { w, v }; @@ -217,7 +217,7 @@ public class Hasher { if (verbose) err.println(); for (int i = 0, n = keys.size(); i < n; i++) { - String w = (String)keys.get(i); + String w = keys.get(i); String v = get(w); if (verbose) err.println(hash(w) + "\t" + w); diff --git a/make/tools/src/build/tools/jarsplit/JarSplit.java b/make/tools/src/build/tools/jarsplit/JarSplit.java index a9f91e886e5ba704a6d2689b466f0710e80f9bc5..4b3ece719c3a6941edd3b48d2f16b6ab38f41ff9 100644 --- a/make/tools/src/build/tools/jarsplit/JarSplit.java +++ b/make/tools/src/build/tools/jarsplit/JarSplit.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2011, 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 @@ -43,7 +43,8 @@ public class JarSplit { /* classlist[0] contains class file list * classlist[1] contains non-class file list */ - private static Vector[] classlist = (Vector[])(new Vector[2]); + @SuppressWarnings({ "unchecked", "rawtypes" }) + private static Vector[] classlist = new Vector[2]; /* The 2 class list name passed as arguments. */ private static String[] fileNamelist = new String[2]; diff --git a/make/tools/src/build/tools/javazic/Gen.java b/make/tools/src/build/tools/javazic/Gen.java index d8078e41fa06f73c146342e179f474566fbfa219..8f3a8c5a37aceb6d2b8195625e4b35f6f77c5c37 100644 --- a/make/tools/src/build/tools/javazic/Gen.java +++ b/make/tools/src/build/tools/javazic/Gen.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2011, 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 @@ -30,14 +30,9 @@ import java.io.File; import java.io.FileOutputStream; import java.io.DataOutputStream; import java.io.RandomAccessFile; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.TreeMap; -import java.util.TreeSet; import sun.util.calendar.ZoneInfoFile; /** @@ -105,14 +100,13 @@ class Gen extends BackEnd { /* if DST offset is 0, this means DST isn't used. * (NOT: offset's index is 0.) */ - if ((dstoffset = - ((Integer)dstOffsets.get(i)).intValue()) == -1) { + if ((dstoffset = dstOffsets.get(i).intValue()) == -1) { dstoffset = 0; } - dos.writeLong((((Long)transitions.get(i)).longValue() << 12) + dos.writeLong((transitions.get(i).longValue() << 12) | (dstoffset << 4) - | ((Integer)offsets.get(i)).intValue()); + | offsets.get(i).intValue()); } diff --git a/make/tools/src/build/tools/javazic/GenDoc.java b/make/tools/src/build/tools/javazic/GenDoc.java index d487ebd9b2784d700bd5d5901dab371806c4eafa..c598b9b9dc5869e2bf7b35c0b180623a3f51d77f 100644 --- a/make/tools/src/build/tools/javazic/GenDoc.java +++ b/make/tools/src/build/tools/javazic/GenDoc.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2011, 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 @@ -31,12 +31,8 @@ import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; -import java.util.ArrayList; -import java.util.Calendar; import java.util.Date; import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; @@ -189,7 +185,7 @@ class GenDoc extends BackEnd { out.write(header1 + new Date() + header3 + zonename + header4); out.write(body1 + "" + zonename + ""); - LatitudeAndLongitude location = (LatitudeAndLongitude)mapList.get(zonename); + LatitudeAndLongitude location = mapList.get(zonename); if (location != null) { int deg, min, sec; @@ -608,12 +604,12 @@ class GenDoc extends BackEnd { "
\n\n" + "\n" + "\n
\n"); - Set aliasSet = a.keySet(); + Set aliasSet = a.keySet(); len = aliasSet.size(); - Object aliasNames[] = aliasSet.toArray(); + String aliasNames[] = aliasSet.toArray(new String[0]); for (int i = 0; i < len; i++) { - displayNameList.put(transform((String)aliasNames[i]), - (String)aliasNames[i]); + displayNameList.put(transform(aliasNames[i]), + aliasNames[i]); } o = displayNameList.keySet().toArray(); diff --git a/make/tools/src/build/tools/javazic/Main.java b/make/tools/src/build/tools/javazic/Main.java index 95ab91e3484085035ea28a01d730b2308536eb40..a91ab91fff8794514edda999159c0bf82d106464 100644 --- a/make/tools/src/build/tools/javazic/Main.java +++ b/make/tools/src/build/tools/javazic/Main.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2011, 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 @@ -26,7 +26,6 @@ package build.tools.javazic; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; /** diff --git a/make/tools/src/build/tools/javazic/Mappings.java b/make/tools/src/build/tools/javazic/Mappings.java index 88602204bdf4a2cf6892ee292e8c84d6e0740215..954d3d5988fc8eeffc5a1c54b6a4bef67a5242ef 100644 --- a/make/tools/src/build/tools/javazic/Mappings.java +++ b/make/tools/src/build/tools/javazic/Mappings.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2011, 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 @@ -26,9 +26,6 @@ package build.tools.javazic; import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map; diff --git a/make/tools/src/build/tools/javazic/Simple.java b/make/tools/src/build/tools/javazic/Simple.java index 773c61680c84e77cb0c9a63d7657918b06be549c..69c7fe783f5ddbfb173e1ed404153e51ff3724a2 100644 --- a/make/tools/src/build/tools/javazic/Simple.java +++ b/make/tools/src/build/tools/javazic/Simple.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2011, 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 @@ -29,10 +29,7 @@ import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; -import java.util.ArrayList; import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; @@ -51,22 +48,19 @@ class Simple extends BackEnd { /** * Zone records which are applied for given year. */ - private static Map lastZoneRecs - = new HashMap(); + private static Map lastZoneRecs = new HashMap<>(); /** * Rule records which are applied for given year. */ - private static Map> lastRules - = new TreeMap>(); + private static Map> lastRules = new TreeMap<>(); /** * zone IDs sorted by their GMT offsets. If zone's GMT * offset will change in the future, its last known offset is * used. */ - private SortedMap> zonesByOffset - = new TreeMap>(); + private SortedMap> zonesByOffset = new TreeMap<>(); /** * Sets last Rule records and Zone records for given timezone to @@ -86,7 +80,7 @@ class Simple extends BackEnd { int lastKnownOffset = tz.getRawOffset(); Set set = zonesByOffset.get(lastKnownOffset); if (set == null) { - set = new TreeSet(); + set = new TreeSet<>(); zonesByOffset.put(lastKnownOffset, set); } set.add(zonename); @@ -101,16 +95,11 @@ class Simple extends BackEnd { */ int generateSrc(Mappings map) { try { - String outputDir = Main.getOutputDir(); - File outD = new File(outputDir); - - if (!outputDir.endsWith(File.separator)) { - outputDir += outD.separator; - } + File outD = new File(Main.getOutputDir()); outD.mkdirs(); FileWriter fw = - new FileWriter(outputDir + "TimeZoneData.java", false); + new FileWriter(new File(outD, "TimeZoneData.java"), false); BufferedWriter out = new BufferedWriter(fw); out.write("import java.util.SimpleTimeZone;\n\n"); diff --git a/make/tools/src/build/tools/javazic/Time.java b/make/tools/src/build/tools/javazic/Time.java index 985682e4173165cbd54f0e556efa04d0f9b78d5e..66458a0020d00afa67eff0bbbc3babcde6bb059b 100644 --- a/make/tools/src/build/tools/javazic/Time.java +++ b/make/tools/src/build/tools/javazic/Time.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2011, 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 @@ -268,16 +268,16 @@ class Time { if (index < time.length()) { char c = time.charAt(index++); if (c == 's') { - tm.setType(tm.STD); + tm.setType(Time.STD); } else if (c == 'u' || c == 'g' || c == 'z') { - tm.setType(tm.UTC); + tm.setType(Time.UTC); } else if (c == 'w') { - tm.setType(tm.WALL); + tm.setType(Time.WALL); } else { Main.panic("unknown time mode: "+c); } } else { - tm.setType(tm.WALL); + tm.setType(Time.WALL); } return tm; } diff --git a/make/tools/src/build/tools/javazic/Zoneinfo.java b/make/tools/src/build/tools/javazic/Zoneinfo.java index 727fa729c44f6fe35cf2409df9b8f04c5dfc0956..5614a3c25f315382d9f44a182b45d9f5005e99a7 100644 --- a/make/tools/src/build/tools/javazic/Zoneinfo.java +++ b/make/tools/src/build/tools/javazic/Zoneinfo.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2011, 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 @@ -29,9 +29,7 @@ import java.io.BufferedReader; import java.io.FileReader; import java.io.FileNotFoundException; import java.io.IOException; -import java.util.ArrayList; import java.util.HashMap; -import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.StringTokenizer; @@ -407,9 +405,9 @@ class Zoneinfo { if (!zrec.hasUntil()) { if (tz.getNTransitions() > 0) { if (stdOffset == 0) { - tz.setDSTType(tz.X_DST); + tz.setDSTType(Timezone.X_DST); } else { - tz.setDSTType(tz.LAST_DST); + tz.setDSTType(Timezone.LAST_DST); } long time = Time.getLocalTime(maxYear, Month.JANUARY, 1, 0); @@ -419,7 +417,7 @@ class Zoneinfo { tz.getDstOffsetIndex(stdOffset)); tz.addUsedRec(zrec); } else { - tz.setDSTType(tz.NO_DST); + tz.setDSTType(Timezone.NO_DST); } break; } @@ -527,7 +525,7 @@ class Zoneinfo { if (year == endYear && !zrec.hasUntil()) { if (tz.getNTransitions() > 0) { // Assume that this Zone stopped DST - tz.setDSTType(tz.X_DST); + tz.setDSTType(Timezone.X_DST); long time = Time.getLocalTime(maxYear, Month.JANUARY, 1, 0); time -= zrec.getGmtOffset(); @@ -536,7 +534,7 @@ class Zoneinfo { tz.getDstOffsetIndex(0)); usedZone = true; } else { - tz.setDSTType(tz.NO_DST); + tz.setDSTType(Timezone.NO_DST); } } } @@ -552,8 +550,8 @@ class Zoneinfo { } } - if (tz.getDSTType() == tz.UNDEF_DST) { - tz.setDSTType(tz.DST); + if (tz.getDSTType() == Timezone.UNDEF_DST) { + tz.setDSTType(Timezone.DST); } tz.optimize(); tz.checksum(); diff --git a/make/tools/src/build/tools/jdwpgen/AbstractCommandNode.java b/make/tools/src/build/tools/jdwpgen/AbstractCommandNode.java index eaef0efac4121d58e6274f35b3bbc158a585b8a0..f12e7a9e1b59183ef20d9c72b5e4d9b3b8f01e91 100644 --- a/make/tools/src/build/tools/jdwpgen/AbstractCommandNode.java +++ b/make/tools/src/build/tools/jdwpgen/AbstractCommandNode.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2011, 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 @@ -25,7 +25,6 @@ package build.tools.jdwpgen; -import java.util.*; import java.io.*; class AbstractCommandNode extends AbstractNamedNode { @@ -35,8 +34,8 @@ class AbstractCommandNode extends AbstractNamedNode { " Command (" + nameNode.value() + ")"); writer.println(comment()); writer.println("
"); - for (Iterator it = components.iterator(); it.hasNext();) { - ((Node)it.next()).document(writer); + for (Node node : components) { + node.document(writer); } writer.println("
"); } diff --git a/make/tools/src/build/tools/jdwpgen/AbstractGroupNode.java b/make/tools/src/build/tools/jdwpgen/AbstractGroupNode.java index 872df76b39e2adf521edd7ea1245469018531522..83e8d43350d09007339ed795ad6bb245fdca048d 100644 --- a/make/tools/src/build/tools/jdwpgen/AbstractGroupNode.java +++ b/make/tools/src/build/tools/jdwpgen/AbstractGroupNode.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2011, 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 @@ -25,14 +25,13 @@ package build.tools.jdwpgen; -import java.util.*; import java.io.*; abstract class AbstractGroupNode extends AbstractTypeListNode { void document(PrintWriter writer) { - for (Iterator it = components.iterator(); it.hasNext();) { - ((Node)it.next()).document(writer); + for (Node node : components) { + node.document(writer); } } diff --git a/make/tools/src/build/tools/jdwpgen/AbstractNamedNode.java b/make/tools/src/build/tools/jdwpgen/AbstractNamedNode.java index 4de00d81ff863989e16815beba71bb238cd98454..b5ad7acab78069e6534dbe7a78b833df5f1c2694 100644 --- a/make/tools/src/build/tools/jdwpgen/AbstractNamedNode.java +++ b/make/tools/src/build/tools/jdwpgen/AbstractNamedNode.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2011, 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 @@ -38,10 +38,10 @@ abstract class AbstractNamedNode extends Node { } void prune() { - Iterator it = components.iterator(); + Iterator it = components.iterator(); if (it.hasNext()) { - Node nameNode = (Node)it.next(); + Node nameNode = it.next(); if (nameNode instanceof NameNode) { this.nameNode = (NameNode)nameNode; @@ -64,8 +64,8 @@ abstract class AbstractNamedNode extends Node { void document(PrintWriter writer) { writer.println("

" + name + " Command Set

"); - for (Iterator it = components.iterator(); it.hasNext();) { - ((Node)it.next()).document(writer); + for (Node node : components) { + node.document(writer); } } @@ -90,8 +90,8 @@ abstract class AbstractNamedNode extends Node { writer.print("class " + javaClassName()); writer.println(javaClassImplements() + " {"); genJavaClassSpecifics(writer, depth+1); - for (Iterator it = components.iterator(); it.hasNext();) { - ((Node)it.next()).genJava(writer, depth+1); + for (Node node : components) { + node.genJava(writer, depth+1); } indent(writer, depth); writer.println("}"); diff --git a/make/tools/src/build/tools/jdwpgen/AbstractTypeListNode.java b/make/tools/src/build/tools/jdwpgen/AbstractTypeListNode.java index 7dc677002af716740f2f1aadb759405ea79d3127..b9d9907ab99cd0924e27386d67e006446c56f3d3 100644 --- a/make/tools/src/build/tools/jdwpgen/AbstractTypeListNode.java +++ b/make/tools/src/build/tools/jdwpgen/AbstractTypeListNode.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2002, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2011, 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 @@ abstract class AbstractTypeListNode extends AbstractNamedNode { void document(PrintWriter writer) { writer.println("
" + name() + " Data"); - if (components.size() == 0) { + if (components.isEmpty()) { writer.println("
(None)"); } else { writer.println("
"); @@ -49,24 +49,24 @@ abstract class AbstractTypeListNode extends AbstractNamedNode { } writer.println("
"); writer.println(""); - for (Iterator it = components.iterator(); it.hasNext();) { - ((Node)it.next()).document(writer); + for (Node node : components) { + node.document(writer); } writer.println("
"); } } void genJavaClassBodyComponents(PrintWriter writer, int depth) { - for (Iterator it = components.iterator(); it.hasNext();) { - TypeNode tn = (TypeNode)it.next(); + for (Node node : components) { + TypeNode tn = (TypeNode)node; tn.genJavaDeclaration(writer, depth); } } void genJavaReads(PrintWriter writer, int depth) { - for (Iterator it = components.iterator(); it.hasNext();) { - TypeNode tn = (TypeNode)it.next(); + for (Node node : components) { + TypeNode tn = (TypeNode)node; tn.genJavaRead(writer, depth, tn.name()); } } @@ -88,7 +88,7 @@ abstract class AbstractTypeListNode extends AbstractNamedNode { String javaParams() { StringBuffer sb = new StringBuffer(); - for (Iterator it = components.iterator(); it.hasNext();) { + for (Iterator it = components.iterator(); it.hasNext();) { TypeNode tn = (TypeNode)it.next(); sb.append(tn.javaParam()); if (it.hasNext()) { @@ -99,8 +99,8 @@ abstract class AbstractTypeListNode extends AbstractNamedNode { } void genJavaWrites(PrintWriter writer, int depth) { - for (Iterator it = components.iterator(); it.hasNext();) { - TypeNode tn = (TypeNode)it.next(); + for (Node node : components) { + TypeNode tn = (TypeNode)node; tn.genJavaWrite(writer, depth, tn.name()); } } @@ -111,8 +111,8 @@ abstract class AbstractTypeListNode extends AbstractNamedNode { writer.println(); indent(writer, depth); writer.println(className + "(" + javaParams() + ") {"); - for (Iterator it = components.iterator(); it.hasNext();) { - TypeNode tn = (TypeNode)it.next(); + for (Node node : components) { + TypeNode tn = (TypeNode)node; indent(writer, depth+1); writer.println("this." + tn.name() + " = " + tn.name() + ";"); } diff --git a/make/tools/src/build/tools/jdwpgen/AltNode.java b/make/tools/src/build/tools/jdwpgen/AltNode.java index 78843a23280da285e1e4994dcb8f48ced4586872..d9dca776e4427e52c0581f72525fa484fe2ae997 100644 --- a/make/tools/src/build/tools/jdwpgen/AltNode.java +++ b/make/tools/src/build/tools/jdwpgen/AltNode.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2011, 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 @@ -100,7 +100,7 @@ class AltNode extends AbstractGroupNode implements TypeNode { indent(writer, depth+1); writer.print("return new " + select.name() + "("); writer.print("ALT_ID, new " + javaClassName() + "("); - for (Iterator it = components.iterator(); it.hasNext();) { + for (Iterator it = components.iterator(); it.hasNext();) { TypeNode tn = (TypeNode)it.next(); writer.print(tn.name()); if (it.hasNext()) { diff --git a/make/tools/src/build/tools/jdwpgen/CommandSetNode.java b/make/tools/src/build/tools/jdwpgen/CommandSetNode.java index 7db81bda5329d89debf6436737df9f19e251f6b6..6850aa39421c17b8ccfa6e91c917a31d37d65983 100644 --- a/make/tools/src/build/tools/jdwpgen/CommandSetNode.java +++ b/make/tools/src/build/tools/jdwpgen/CommandSetNode.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2011, 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 @@ -25,7 +25,6 @@ package build.tools.jdwpgen; -import java.util.*; import java.io.*; class CommandSetNode extends AbstractNamedNode { @@ -43,8 +42,8 @@ class CommandSetNode extends AbstractNamedNode { " Command Set (" + nameNode.value() + ")"); writer.println(comment()); - for (Iterator it = components.iterator(); it.hasNext();) { - ((Node)it.next()).document(writer); + for (Node node : components) { + node.document(writer); } } @@ -53,8 +52,8 @@ class CommandSetNode extends AbstractNamedNode { writer.println(name() + " Command Set (" + nameNode.value() + ")"); writer.println("
    "); - for (Iterator it = components.iterator(); it.hasNext();) { - ((Node)it.next()).documentIndex(writer); + for (Node node : components) { + node.documentIndex(writer); } writer.println("
"); } diff --git a/make/tools/src/build/tools/jdwpgen/ConstantSetNode.java b/make/tools/src/build/tools/jdwpgen/ConstantSetNode.java index 6145bfda6b5121ffdc35a185035f62f2cfb62968..ac3d4d98892ffb0d22a63c895a7361edc5c20df4 100644 --- a/make/tools/src/build/tools/jdwpgen/ConstantSetNode.java +++ b/make/tools/src/build/tools/jdwpgen/ConstantSetNode.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2011, 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 @@ -33,14 +33,11 @@ class ConstantSetNode extends AbstractNamedNode { /** * The mapping between a constant and its value. */ - protected static final Map constantMap = new HashMap(); + protected static final Map constantMap = new HashMap<>(); void prune() { - List addons = new ArrayList(); + List addons = new ArrayList<>(); - for (Iterator it = components.iterator(); it.hasNext(); ) { - Node node = (Node)it.next(); - } if (!addons.isEmpty()) { components.addAll(addons); } @@ -63,8 +60,8 @@ class ConstantSetNode extends AbstractNamedNode { writer.println("
"); writer.println("
"); ConstantNode n; - for (Iterator it = components.iterator(); it.hasNext();) { - n = ((ConstantNode)it.next()); + for (Node node : components) { + n = (ConstantNode)node; writer.println(""); n.document(writer); } diff --git a/make/tools/src/build/tools/jdwpgen/ErrorSetNode.java b/make/tools/src/build/tools/jdwpgen/ErrorSetNode.java index 6e4396f4dd54dbc93c650ccbdd782c9e42b25c7d..a99777979b958451dc71ca6a04ed48de1e83c3bf 100644 --- a/make/tools/src/build/tools/jdwpgen/ErrorSetNode.java +++ b/make/tools/src/build/tools/jdwpgen/ErrorSetNode.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2002, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2011, 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 @@ -25,7 +25,6 @@ package build.tools.jdwpgen; -import java.util.*; import java.io.*; class ErrorSetNode extends AbstractSimpleNode { @@ -41,12 +40,12 @@ class ErrorSetNode extends AbstractSimpleNode { void document(PrintWriter writer) { writer.println("
" + "Error Data"); - if (components.size() == 0) { + if (components.isEmpty()) { writer.println("
(None)"); } else { writer.println("
"); - for (Iterator it = components.iterator(); it.hasNext();) { - ((Node)it.next()).document(writer); + for (Node node : components) { + node.document(writer); } writer.println("
"); } diff --git a/make/tools/src/build/tools/jdwpgen/Node.java b/make/tools/src/build/tools/jdwpgen/Node.java index 1ac9e32090aa011a2bc429868ebfa4f9b3698b4b..fe46eb0215b2431e23420c31f6acce3886dca972 100644 --- a/make/tools/src/build/tools/jdwpgen/Node.java +++ b/make/tools/src/build/tools/jdwpgen/Node.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2011, 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 @@ -34,7 +34,7 @@ abstract class Node { String kind; List components; int lineno; - List commentList = new ArrayList(); + List commentList = new ArrayList<>(); Node parent = null; Context context = null; @@ -50,8 +50,8 @@ abstract class Node { } void parentAndExtractComments() { - for (Iterator it = components.iterator(); it.hasNext();) { - Node node = (Node)it.next(); + for (Iterator it = components.iterator(); it.hasNext();) { + Node node = it.next(); if (node instanceof CommentNode) { it.remove(); commentList.add(((CommentNode)node).text()); @@ -63,16 +63,14 @@ abstract class Node { } void prune() { - for (Iterator it = components.iterator(); it.hasNext();) { - Node node = (Node)it.next(); + for (Node node : components) { node.prune(); } } void constrain(Context ctx) { context = ctx; - for (Iterator it = components.iterator(); it.hasNext();) { - Node node = (Node)it.next(); + for (Node node : components) { constrainComponent(ctx, node); } } @@ -109,9 +107,9 @@ abstract class Node { if (commentList.size() > 0) { indent(writer, depth); writer.println("/**"); - for (Iterator it = commentList.iterator(); it.hasNext();) { + for (String comment : commentList) { indent(writer, depth); - writer.println(" * " + (String)it.next()); + writer.println(" * " + comment); } indent(writer, depth); writer.println(" */"); @@ -123,15 +121,13 @@ abstract class Node { } void genJava(PrintWriter writer, int depth) { - for (Iterator it = components.iterator(); it.hasNext();) { - Node node = (Node)it.next(); + for (Node node : components) { node.genJava(writer, depth); } } void genCInclude(PrintWriter writer) { - for (Iterator it = components.iterator(); it.hasNext();) { - Node node = (Node)it.next(); + for (Node node : components) { node.genCInclude(writer); } } @@ -184,8 +180,7 @@ abstract class Node { } void genJavaPreDef(PrintWriter writer, int depth) { - for (Iterator it = components.iterator(); it.hasNext();) { - Node node = (Node)it.next(); + for (Node node : components) { node.genJavaPreDef(writer, depth); } } diff --git a/make/tools/src/build/tools/jdwpgen/OutNode.java b/make/tools/src/build/tools/jdwpgen/OutNode.java index f711b25edb6221edde1ec17b649015058959b466..1a0b426ae75756a238aad912c0c79443e15ee080 100644 --- a/make/tools/src/build/tools/jdwpgen/OutNode.java +++ b/make/tools/src/build/tools/jdwpgen/OutNode.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2011, 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 @@ -48,8 +48,8 @@ class OutNode extends AbstractTypeListNode { indent(writer, depth); writer.print( "static " + cmdName + " process(VirtualMachineImpl vm"); - for (Iterator it = components.iterator(); it.hasNext();) { - TypeNode tn = (TypeNode)it.next(); + for (Node node : components) { + TypeNode tn = (TypeNode)node; writer.println(", "); indent(writer, depth+5); writer.print(tn.javaParam()); @@ -59,8 +59,8 @@ class OutNode extends AbstractTypeListNode { writer.println("throws JDWPException {"); indent(writer, depth+1); writer.print("PacketStream ps = enqueueCommand(vm"); - for (Iterator it = components.iterator(); it.hasNext();) { - TypeNode tn = (TypeNode)it.next(); + for (Node node : components) { + TypeNode tn = (TypeNode)node; writer.print(", "); writer.print(tn.name()); } @@ -76,8 +76,8 @@ class OutNode extends AbstractTypeListNode { indent(writer, depth); writer.print( "static PacketStream enqueueCommand(VirtualMachineImpl vm"); - for (Iterator it = components.iterator(); it.hasNext();) { - TypeNode tn = (TypeNode)it.next(); + for (Node node : components) { + TypeNode tn = (TypeNode)node; writer.println(", "); indent(writer, depth+5); writer.print(tn.javaParam()); diff --git a/make/tools/src/build/tools/jdwpgen/RootNode.java b/make/tools/src/build/tools/jdwpgen/RootNode.java index 438892942e8f986b4f0c9a9771bcec2b0b67d7fa..80ad65535efbc170f0bb7df1d538b2ac906498e2 100644 --- a/make/tools/src/build/tools/jdwpgen/RootNode.java +++ b/make/tools/src/build/tools/jdwpgen/RootNode.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2011, 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 @@ -42,11 +42,11 @@ class RootNode extends AbstractNamedNode { void document(PrintWriter writer) { writer.println("" + comment() + ""); writer.println(""); - for (Iterator it = components.iterator(); it.hasNext();) { - ((Node)it.next()).documentIndex(writer); + for (Node node : components) { + node.documentIndex(writer); } - for (Iterator it = components.iterator(); it.hasNext();) { - ((Node)it.next()).document(writer); + for (Node node : components) { + node.document(writer); } writer.println(""); } diff --git a/make/tools/src/build/tools/jdwpgen/SelectNode.java b/make/tools/src/build/tools/jdwpgen/SelectNode.java index ce660b43286446deadab494a245102d0858c8172..506f33b10b47f70adac2c0b81635e2ae7b489bbd 100644 --- a/make/tools/src/build/tools/jdwpgen/SelectNode.java +++ b/make/tools/src/build/tools/jdwpgen/SelectNode.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2011, 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 @@ -34,10 +34,10 @@ class SelectNode extends AbstractGroupNode implements TypeNode { void prune() { super.prune(); - Iterator it = components.iterator(); + Iterator it = components.iterator(); if (it.hasNext()) { - Node typeNode = (Node)it.next(); + Node typeNode = it.next(); if (typeNode instanceof ByteTypeNode || typeNode instanceof IntTypeNode) { @@ -131,8 +131,8 @@ class SelectNode extends AbstractGroupNode implements TypeNode { typeNode.genJavaRead(writer, depth, typeNode.name()); indent(writer, depth); writer.println("switch (" + typeNode.name() + ") {"); - for (Iterator it = components.iterator(); it.hasNext();) { - AltNode alt = (AltNode)it.next(); + for (Node node : components) { + AltNode alt = (AltNode)node; alt.genJavaReadsSelectCase(writer, depth+1, commonVar()); } indent(writer, depth); diff --git a/make/tools/src/build/tools/makeclasslist/MakeClasslist.java b/make/tools/src/build/tools/makeclasslist/MakeClasslist.java index 3f985fdb199f145f70a365ddb39ed1da1bfbeb39..d7d7b2538563e121a3fa54a5ea486009aa1cbe67 100644 --- a/make/tools/src/build/tools/makeclasslist/MakeClasslist.java +++ b/make/tools/src/build/tools/makeclasslist/MakeClasslist.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2011, 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 @@ -38,7 +38,7 @@ import java.util.jar.*; public class MakeClasslist { public static void main(String[] args) throws IOException { - List/**/ classes = new ArrayList(); + List classes = new ArrayList<>(); String origJavaHome = System.getProperty("java.home"); String javaHome = origJavaHome.toLowerCase(); if (javaHome.endsWith("jre")) { @@ -84,10 +84,9 @@ public class MakeClasslist { } } - Set/**/ seenClasses = new HashSet(); + Set seenClasses = new HashSet<>(); - for (Iterator iter = classes.iterator(); iter.hasNext(); ) { - String str = (String) iter.next(); + for (String str : seenClasses) { if (seenClasses.add(str)) { System.out.println(str); } @@ -109,13 +108,13 @@ public class MakeClasslist { // completePackage(seenClasses, rtJar, "java/lang"); } - private static void completePackage(Set seenClasses, + private static void completePackage(Set seenClasses, JarFile jar, String packageName) { int len = packageName.length(); - Enumeration entries = jar.entries(); + Enumeration entries = jar.entries(); while (entries.hasMoreElements()) { - JarEntry entry = (JarEntry) entries.nextElement(); + JarEntry entry = entries.nextElement(); String name = entry.getName(); if (name.startsWith(packageName) && name.endsWith(".class") && diff --git a/make/tools/src/build/tools/stripproperties/StripProperties.java b/make/tools/src/build/tools/stripproperties/StripProperties.java index dcf7114d33152a705f4ffd22cd72f5a4bbcf831e..57563e2f9297742aad5d2f857226b0d7e7008693 100644 --- a/make/tools/src/build/tools/stripproperties/StripProperties.java +++ b/make/tools/src/build/tools/stripproperties/StripProperties.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2011, 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 @@ -246,7 +246,7 @@ public class StripProperties { throws IOException { BufferedWriter awriter; awriter = new BufferedWriter(new OutputStreamWriter(out, "8859_1")); - for (Enumeration e = properties.keys(); e.hasMoreElements();) { + for (Enumeration e = properties.keys(); e.hasMoreElements();) { String key = (String)e.nextElement(); String val = (String)properties.get(key); key = saveConvert(key, true); diff --git a/src/share/bin/jli_util.h b/src/share/bin/jli_util.h index 7601e93be316fd0d2fcf05bded9006a51352cfaa..44a704e8eaaa3b8c4d9a8e1d09c96a92e90f8a88 100644 --- a/src/share/bin/jli_util.h +++ b/src/share/bin/jli_util.h @@ -27,6 +27,8 @@ #define _JLI_UTIL_H #include +#include +#include #include void *JLI_MemAlloc(size_t size); @@ -58,6 +60,7 @@ int JLI_StrCCmp(const char *s1, const char* s2); #define JLI_Snprintf _snprintf #else #include +#include #define JLI_StrCaseCmp(p1, p2) strcasecmp((p1), (p2)) #define JLI_StrNCaseCmp(p1, p2, p3) strncasecmp((p1), (p2), (p3)) #define JLI_Snprintf snprintf diff --git a/src/share/classes/com/sun/java/util/jar/pack/Attribute.java b/src/share/classes/com/sun/java/util/jar/pack/Attribute.java index f8d0e0c9de28917e931e6928f35ccf49f6ef8101..164870e4a827411acfc75c6595634df08a404659 100644 --- a/src/share/classes/com/sun/java/util/jar/pack/Attribute.java +++ b/src/share/classes/com/sun/java/util/jar/pack/Attribute.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2011, 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,7 +45,7 @@ import static com.sun.java.util.jar.pack.Constants.*; * attribute layouts. * @author John Rose */ -class Attribute implements Comparable { +class Attribute implements Comparable { // Attribute instance fields. Layout def; // the name and format of this attr @@ -99,8 +99,7 @@ class Attribute implements Comparable { return this == def.canon; } - public int compareTo(Object o) { - Attribute that = (Attribute) o; + public int compareTo(Attribute that) { return this.def.compareTo(that.def); } @@ -447,7 +446,7 @@ class Attribute implements Comparable { * and format. The formats are specified in a "little language". */ public static - class Layout implements Comparable { + class Layout implements Comparable { int ctype; // attribute context type, e.g., ATTR_CONTEXT_CODE String name; // name of attribute boolean hasRefs; // this kind of attr contains CP refs? @@ -540,8 +539,7 @@ class Attribute implements Comparable { * 37 + layout.hashCode()) * 37 + ctype); } - public int compareTo(Object o) { - Layout that = (Layout) o; + public int compareTo(Layout that) { int r; r = this.name.compareTo(that.name); if (r != 0) return r; @@ -663,6 +661,8 @@ class Attribute implements Comparable { public static class FormatException extends IOException { + private static final long serialVersionUID = -2542243830788066513L; + private int ctype; private String name; String layout; diff --git a/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java b/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java index 62378d2c3feadfa6ae164509e9ee930c0a70b1d8..8d472b9bdd41e89bffcdf474ab8fb20740e19bdc 100644 --- a/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java +++ b/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java @@ -1704,7 +1704,7 @@ class BandStructure { for (int i = 0; i < ATTR_CONTEXT_LIMIT; i++) { assert(attrIndexLimit[i] == 0); attrIndexLimit[i] = 32; // just for the sake of predefs. - attrDefs.set(i, new ArrayList(Collections.nCopies( + attrDefs.set(i, new ArrayList<>(Collections.nCopies( attrIndexLimit[i], (Attribute.Layout)null))); } @@ -1892,7 +1892,7 @@ class BandStructure { return testBit(archiveOptions, mask); } - protected List getPredefinedAttrs(int ctype) { + protected List getPredefinedAttrs(int ctype) { assert(attrIndexLimit[ctype] != 0); List res = new ArrayList<>(attrIndexLimit[ctype]); // Remove nulls and non-predefs. @@ -2649,7 +2649,7 @@ class BandStructure { // Utilities for reallocating: protected static Object[] realloc(Object[] a, int len) { - java.lang.Class elt = a.getClass().getComponentType(); + java.lang.Class elt = a.getClass().getComponentType(); Object[] na = (Object[]) java.lang.reflect.Array.newInstance(elt, len); System.arraycopy(a, 0, na, 0, Math.min(a.length, len)); return na; diff --git a/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java b/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java index eef5d20c1d3542df9d325694e785a580795c2d6c..ce29f1f3a1908fbd3ac8eaf36f345845762313fd 100644 --- a/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java +++ b/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2011, 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 @@ -52,7 +52,7 @@ class ClassReader { long inPos; DataInputStream in; Map attrDefs; - Map attrCommands; + Map attrCommands; String unknownAttrCommand = "error";; ClassReader(Class cls, InputStream in) throws IOException { @@ -82,7 +82,7 @@ class ClassReader { this.attrDefs = attrDefs; } - public void setAttrCommands(Map attrCommands) { + public void setAttrCommands(Map attrCommands) { this.attrCommands = attrCommands; } @@ -348,8 +348,8 @@ class ClassReader { int length = readInt(); // See if there is a special command that applies. if (attrCommands != null) { - Object lkey = Attribute.keyForLookup(ctype, name); - String cmd = (String) attrCommands.get(lkey); + Attribute.Layout lkey = Attribute.keyForLookup(ctype, name); + String cmd = attrCommands.get(lkey); if (cmd != null) { switch (cmd) { case "pass": @@ -483,6 +483,8 @@ class ClassReader { } static class ClassFormatException extends IOException { + private static final long serialVersionUID = -3564121733989501833L; + public ClassFormatException(String message) { super(message); } diff --git a/src/share/classes/com/sun/java/util/jar/pack/ClassWriter.java b/src/share/classes/com/sun/java/util/jar/pack/ClassWriter.java index c8c54149d376b7a934901650bcfbed9204366608..37424d1e65ca7005322226a1fe20efe50211b025 100644 --- a/src/share/classes/com/sun/java/util/jar/pack/ClassWriter.java +++ b/src/share/classes/com/sun/java/util/jar/pack/ClassWriter.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2011, 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 @@ -36,7 +36,6 @@ import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.IOException; import java.io.OutputStream; -import java.util.Iterator; import java.util.List; import static com.sun.java.util.jar.pack.Constants.*; /** @@ -165,14 +164,13 @@ class ClassWriter { } void writeMembers(boolean doMethods) throws IOException { - List mems; + List mems; if (!doMethods) mems = cls.getFields(); else mems = cls.getMethods(); writeShort(mems.size()); - for (Iterator i = mems.iterator(); i.hasNext(); ) { - Class.Member m = (Class.Member) i.next(); + for (Class.Member m : mems) { writeMember(m, doMethods); } } diff --git a/src/share/classes/com/sun/java/util/jar/pack/Code.java b/src/share/classes/com/sun/java/util/jar/pack/Code.java index 788eada6fcc465244bb32960819fae3339e877e8..e84cdaa59a0915975e5433ccb1e9557ff476b804 100644 --- a/src/share/classes/com/sun/java/util/jar/pack/Code.java +++ b/src/share/classes/com/sun/java/util/jar/pack/Code.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2011, 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 @@ -125,7 +125,7 @@ class Code extends Attribute.Holder { return expandInstructionMap(getInsnMap()); } - void addFixups(Collection moreFixups) { + void addFixups(Collection moreFixups) { if (fixups == null) { fixups = new Fixups(bytes); } diff --git a/src/share/classes/com/sun/java/util/jar/pack/Coding.java b/src/share/classes/com/sun/java/util/jar/pack/Coding.java index 2f73b8e240e3675f17165cbeab10188261edddb0..29dcb83d36a514871a12e2de553339a1d1b82d34 100644 --- a/src/share/classes/com/sun/java/util/jar/pack/Coding.java +++ b/src/share/classes/com/sun/java/util/jar/pack/Coding.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2011, 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 @@ -37,7 +37,7 @@ import static com.sun.java.util.jar.pack.Constants.*; * varying degrees of length variability, and varying amounts of signed-ness. * @author John Rose */ -class Coding implements Comparable, CodingMethod, Histogram.BitMetric { +class Coding implements Comparable, CodingMethod, Histogram.BitMetric { /* Coding schema for single integers, parameterized by (B,H,S): @@ -605,8 +605,7 @@ class Coding implements Comparable, CodingMethod, Histogram.BitMetric { public int byteMin(int b) { return byteMin[b-1]; } public int byteMax(int b) { return byteMax[b-1]; } - public int compareTo(Object x) { - Coding that = (Coding) x; + public int compareTo(Coding that) { int dkey = this.del - that.del; if (dkey == 0) dkey = this.B - that.B; diff --git a/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java b/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java index 3b851eff391f2ebc271aafa9d13175be513a8873..acade5b7a3d6a53e624b558e7af2a3e16ced45b5 100644 --- a/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java +++ b/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2011, 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 @@ -72,7 +72,7 @@ class ConstantPool { return e; } /** Factory for literal constants (String, Integer, etc.). */ - public static synchronized LiteralEntry getLiteralEntry(Comparable value) { + public static synchronized LiteralEntry getLiteralEntry(Comparable value) { Map literalEntries = Utils.getLiteralEntries(); LiteralEntry e = literalEntries.get(value); if (e == null) { @@ -140,7 +140,7 @@ class ConstantPool { /** Entries in the constant pool. */ public static abstract - class Entry implements Comparable { + class Entry implements Comparable { protected final byte tag; // a CONSTANT_foo code protected int valueHash; // cached hashCode @@ -257,7 +257,7 @@ class ConstantPool { super(tag); } - public abstract Comparable literalValue(); + public abstract Comparable literalValue(); } public static @@ -280,15 +280,17 @@ class ConstantPool { public int compareTo(Object o) { int x = superCompareTo(o); if (x == 0) { - x = ((Comparable)value).compareTo(((NumberEntry)o).value); + @SuppressWarnings("unchecked") + Comparable compValue = (Comparable)value; + x = compValue.compareTo(((NumberEntry)o).value); } return x; } public Number numberValue() { return value; } - public Comparable literalValue() { - return (Comparable) value; + public Comparable literalValue() { + return (Comparable) value; } public String stringValue() { return value.toString(); @@ -319,7 +321,7 @@ class ConstantPool { } return x; } - public Comparable literalValue() { + public Comparable literalValue() { return ref.stringValue(); } public String stringValue() { @@ -728,7 +730,7 @@ class ConstantPool { /** An Index is a mapping between CP entries and small integers. */ public static final - class Index extends AbstractList { + class Index extends AbstractList { protected String debugName; protected Entry[] cpMap; protected boolean flattenSigs; @@ -758,7 +760,7 @@ class ConstantPool { public int size() { return cpMap.length; } - public Object get(int i) { + public Entry get(int i) { return cpMap[i]; } public Entry getEntry(int i) { @@ -803,13 +805,7 @@ class ConstantPool { assert(index >= 0); return index; } - public boolean contains(Object e) { - return findIndexOf((Entry)e) >= 0; - } - public int indexOf(Object e) { - return findIndexOf((Entry)e); - } - public int lastIndexOf(Object e) { + public int lastIndexOf(Entry e) { return indexOf(e); } @@ -862,14 +858,14 @@ class ConstantPool { indexValue[probe] = i; } } - public Object[] toArray(Object[] a) { + public Entry[] toArray(Entry[] a) { int sz = size(); if (a.length < sz) return super.toArray(a); System.arraycopy(cpMap, 0, a, 0, sz); if (a.length > sz) a[sz] = null; return a; } - public Object[] toArray() { + public Entry[] toArray() { return toArray(new Entry[size()]); } public Object clone() { diff --git a/src/share/classes/com/sun/java/util/jar/pack/Constants.java b/src/share/classes/com/sun/java/util/jar/pack/Constants.java index 2e4cb37a9a0982e309dcbfa40a81a35514f7a8e4..8dc6560d14871343dd6cb1dbb747aafff4170a36 100644 --- a/src/share/classes/com/sun/java/util/jar/pack/Constants.java +++ b/src/share/classes/com/sun/java/util/jar/pack/Constants.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2011, 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 @@ -153,11 +153,11 @@ class Constants { public static final int NO_MODTIME = 0; // null modtime value // some comstantly empty containers - public final static int[] noInts = {}; - public final static byte[] noBytes = {}; - public final static Object[] noValues = {}; - public final static String[] noStrings = {}; - public final static List emptyList = Arrays.asList(noValues); + public final static int[] noInts = {}; + public final static byte[] noBytes = {}; + public final static Object[] noValues = {}; + public final static String[] noStrings = {}; + public final static List emptyList = Arrays.asList(noValues); // meta-coding public final static int diff --git a/src/share/classes/com/sun/java/util/jar/pack/Fixups.java b/src/share/classes/com/sun/java/util/jar/pack/Fixups.java index 15c5208d23be247617859abfb8de6a89a2ac55ed..0c99351222ae98155e14f5263ef48e48f426c126 100644 --- a/src/share/classes/com/sun/java/util/jar/pack/Fixups.java +++ b/src/share/classes/com/sun/java/util/jar/pack/Fixups.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2011, 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 @@ -42,7 +42,7 @@ import java.util.Iterator; * * @author John Rose */ -final class Fixups extends AbstractCollection { +final class Fixups extends AbstractCollection { byte[] bytes; // the subject of the relocations int head; // desc locating first reloc int tail; // desc locating last reloc @@ -66,11 +66,11 @@ final class Fixups extends AbstractCollection { // If there are no bytes, all descs are kept in bigDescs. this((byte[])null); } - Fixups(byte[] bytes, Collection fixups) { + Fixups(byte[] bytes, Collection fixups) { this(bytes); addAll(fixups); } - Fixups(Collection fixups) { + Fixups(Collection fixups) { this((byte[])null); addAll(fixups); } @@ -108,8 +108,7 @@ final class Fixups extends AbstractCollection { public void clear() { if (bytes != null) { // Clean the bytes: - for (Iterator i = iterator(); i.hasNext(); ) { - Fixup fx = (Fixup) i.next(); + for (Fixup fx : this) { //System.out.println("clean "+fx); storeIndex(fx.location(), fx.format(), 0); } @@ -124,15 +123,14 @@ final class Fixups extends AbstractCollection { return bytes; } - @SuppressWarnings("unchecked") public void setBytes(byte[] newBytes) { if (bytes == newBytes) return; - ArrayList old = null; - assert((old = new ArrayList(this)) != null); + ArrayList old = null; + assert((old = new ArrayList<>(this)) != null); if (bytes == null || newBytes == null) { // One or the other representations is deficient. // Construct a checkpoint. - ArrayList save = new ArrayList(this); + ArrayList save = new ArrayList<>(this); clear(); bytes = newBytes; addAll(save); @@ -140,7 +138,7 @@ final class Fixups extends AbstractCollection { // assume newBytes is some sort of bitwise copy of the old bytes bytes = newBytes; } - assert(old.equals(new ArrayList(this))); + assert(old.equals(new ArrayList<>(this))); } static final int LOC_SHIFT = 1; @@ -236,7 +234,7 @@ final class Fixups extends AbstractCollection { /** Simple and necessary tuple to present each fixup. */ public static - class Fixup implements Comparable { + class Fixup implements Comparable { int desc; // location and format of reloc Entry entry; // which entry to plug into the bytes Fixup(int desc, Entry entry) { @@ -254,9 +252,6 @@ final class Fixups extends AbstractCollection { // Ordering depends only on location. return this.location() - that.location(); } - public int compareTo(Object that) { - return compareTo((Fixup)that); - } public boolean equals(Object x) { if (!(x instanceof Fixup)) return false; Fixup that = (Fixup) x; @@ -268,13 +263,13 @@ final class Fixups extends AbstractCollection { } private - class Itr implements Iterator { + class Itr implements Iterator { int index = 0; // index into entries int bigIndex = BIGSIZE+1; // index into bigDescs int next = head; // desc pointing to next fixup public boolean hasNext() { return index < size; } public void remove() { throw new UnsupportedOperationException(); } - public Object next() { + public Fixup next() { int thisIndex = index; return new Fixup(nextDesc(), entries[thisIndex]); } @@ -298,7 +293,7 @@ final class Fixups extends AbstractCollection { } } - public Iterator iterator() { + public Iterator iterator() { return new Itr(); } public void add(int location, int format, Entry entry) { @@ -308,11 +303,8 @@ final class Fixups extends AbstractCollection { addDesc(f.desc, f.entry); return true; } - public boolean add(Object fixup) { - return add((Fixup) fixup); - } - @SuppressWarnings("unchecked") - public boolean addAll(Collection c) { + + public boolean addAll(Collection c) { if (c instanceof Fixups) { // Use knowledge of Itr structure to avoid building little structs. Fixups that = (Fixups) c; @@ -453,8 +445,7 @@ final class Fixups extends AbstractCollection { void finishRefs(ConstantPool.Index ix) { if (isEmpty()) return; - for (Iterator i = iterator(); i.hasNext(); ) { - Fixup fx = (Fixup) i.next(); + for (Fixup fx : this) { int index = ix.indexOf(fx.entry); //System.out.println("finish "+fx+" = "+index); // Note that the iterator has already fetched the diff --git a/src/share/classes/com/sun/java/util/jar/pack/Instruction.java b/src/share/classes/com/sun/java/util/jar/pack/Instruction.java index e0744e2205e89487dbed4a2bb5030f1f8342740c..8d947689ae6df110add3b5e6b25d37ebde6a217b 100644 --- a/src/share/classes/com/sun/java/util/jar/pack/Instruction.java +++ b/src/share/classes/com/sun/java/util/jar/pack/Instruction.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2011, 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 @@ -657,6 +657,8 @@ class Instruction { } } static class FormatException extends IOException { + private static final long serialVersionUID = 3175572275651367015L; + FormatException(String message) { super(message); } diff --git a/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java b/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java index 73396821f24ee25d92dbab0afb613651cfca62c6..c097f9eb846a67193c6307599329002ca1120ee3 100644 --- a/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java +++ b/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java @@ -292,7 +292,7 @@ class NativeUnpack { } ZipEntry z = new ZipEntry(name); - z.setTime( (long)mtime * 1000); + z.setTime(mtime * 1000); if (size == 0) { z.setMethod(ZipOutputStream.STORED); diff --git a/src/share/classes/com/sun/java/util/jar/pack/Package.java b/src/share/classes/com/sun/java/util/jar/pack/Package.java index 2a75f7440e30d44af602de8d466a718deae138cc..2abe5452249464cb9fb75ff034acec7fed9b8b22 100644 --- a/src/share/classes/com/sun/java/util/jar/pack/Package.java +++ b/src/share/classes/com/sun/java/util/jar/pack/Package.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2011, 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 @@ -188,7 +188,7 @@ class Package { } public final - class Class extends Attribute.Holder implements Comparable { + class Class extends Attribute.Holder implements Comparable { public Package getPackage() { return Package.this; } // Optional file characteristics and data source (a "class stub") @@ -247,8 +247,7 @@ class Package { } // Note: equals and hashCode are identity-based. - public int compareTo(Object o) { - Class that = (Class)o; + public int compareTo(Class that) { String n0 = this.getName(); String n1 = that.getName(); return n0.compareTo(n1); @@ -488,7 +487,7 @@ class Package { } public abstract - class Member extends Attribute.Holder implements Comparable { + class Member extends Attribute.Holder implements Comparable { DescriptorEntry descriptor; protected Member(int flags, DescriptorEntry descriptor) { @@ -549,7 +548,7 @@ class Package { return descriptor.getLiteralTag(); } - public int compareTo(Object o) { + public int compareTo(Member o) { Field that = (Field)o; return this.order - that.order; } @@ -582,7 +581,7 @@ class Package { } // Sort methods in a canonical order (by type, then by name). - public int compareTo(Object o) { + public int compareTo(Member o) { Method that = (Method)o; return this.getDescriptor().compareTo(that.getDescriptor()); } @@ -608,11 +607,10 @@ class Package { public void trimToSize() { super.trimToSize(); for (int isM = 0; isM <= 1; isM++) { - ArrayList members = (isM == 0) ? fields : methods; + ArrayList members = (isM == 0) ? fields : methods; if (members == null) continue; members.trimToSize(); - for (Iterator i = members.iterator(); i.hasNext(); ) { - Member m = (Member)i.next(); + for (Member m : members) { m.trimToSize(); } } @@ -625,10 +623,9 @@ class Package { if ("InnerClass".equals(attrName)) innerClasses = null; for (int isM = 0; isM <= 1; isM++) { - ArrayList members = (isM == 0) ? fields : methods; + ArrayList members = (isM == 0) ? fields : methods; if (members == null) continue; - for (Iterator i = members.iterator(); i.hasNext(); ) { - Member m = (Member)i.next(); + for (Member m : members) { m.strip(attrName); } } @@ -641,10 +638,9 @@ class Package { refs.add(superClass); refs.addAll(Arrays.asList(interfaces)); for (int isM = 0; isM <= 1; isM++) { - ArrayList members = (isM == 0) ? fields : methods; + ArrayList members = (isM == 0) ? fields : methods; if (members == null) continue; - for (Iterator i = members.iterator(); i.hasNext(); ) { - Member m = (Member)i.next(); + for (Member m : members) { boolean ok = false; try { m.visitRefs(mode, refs); @@ -747,13 +743,13 @@ class Package { return classStubs; } - public final class File implements Comparable { + public final class File implements Comparable { String nameString; // true name of this file Utf8Entry name; int modtime = NO_MODTIME; int options = 0; // random flag bits, such as deflate_hint Class stubClass; // if this is a stub, here's the class - ArrayList prepend = new ArrayList(); // list of byte[] + ArrayList prepend = new ArrayList<>(); // list of byte[] java.io.ByteArrayOutputStream append = new ByteArrayOutputStream(); File(Utf8Entry name) { @@ -798,8 +794,7 @@ class Package { return nameString.hashCode(); } // Simple alphabetic sort. PackageWriter uses a better comparator. - public int compareTo(Object o) { - File that = (File)o; + public int compareTo(File that) { return this.nameString.compareTo(that.nameString); } public String toString() { @@ -834,8 +829,7 @@ class Package { public long getFileLength() { long len = 0; if (prepend == null || append == null) return 0; - for (Iterator i = prepend.iterator(); i.hasNext(); ) { - byte[] block = (byte[]) i.next(); + for (byte[] block : prepend) { len += block.length; } len += append.size(); @@ -843,8 +837,7 @@ class Package { } public void writeTo(OutputStream out) throws IOException { if (prepend == null || append == null) return; - for (Iterator i = prepend.iterator(); i.hasNext(); ) { - byte[] block = (byte[]) i.next(); + for (byte[] block : prepend) { out.write(block); } append.writeTo(out); @@ -860,8 +853,7 @@ class Package { InputStream in = new ByteArrayInputStream(append.toByteArray()); if (prepend.isEmpty()) return in; List isa = new ArrayList<>(prepend.size()+1); - for (Iterator i = prepend.iterator(); i.hasNext(); ) { - byte[] bytes = (byte[]) i.next(); + for (byte[] bytes : prepend) { isa.add(new ByteArrayInputStream(bytes)); } isa.add(in); @@ -926,7 +918,7 @@ class Package { } static - class InnerClass implements Comparable { + class InnerClass implements Comparable { final ClassEntry thisClass; final ClassEntry outerClass; final Utf8Entry name; @@ -977,8 +969,7 @@ class Package { public int hashCode() { return thisClass.hashCode(); } - public int compareTo(Object o) { - InnerClass that = (InnerClass)o; + public int compareTo(InnerClass that) { return this.thisClass.compareTo(that.thisClass); } @@ -1108,7 +1099,7 @@ class Package { return ConstantPool.getUtf8Entry(s); } - static LiteralEntry getRefLiteral(Comparable s) { + static LiteralEntry getRefLiteral(Comparable s) { return ConstantPool.getLiteralEntry(s); } @@ -1199,7 +1190,6 @@ class Package { // compress better. It also moves classes to the end of the // file order. It also removes JAR directory entries, which // are useless. - @SuppressWarnings("unchecked") void reorderFiles(boolean keepClassOrder, boolean stripDirectories) { // First reorder the classes, if that is allowed. if (!keepClassOrder) { @@ -1226,10 +1216,8 @@ class Package { // This keeps files of similar format near each other. // Put class files at the end, keeping their fixed order. // Be sure the JAR file's required manifest stays at the front. (4893051) - Collections.sort(files, new Comparator() { - public int compare(Object o0, Object o1) { - File r0 = (File) o0; - File r1 = (File) o1; + Collections.sort(files, new Comparator() { + public int compare(File r0, File r1) { // Get the file name. String f0 = r0.nameString; String f1 = r1.nameString; diff --git a/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java b/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java index be9b485d78a2ca7d466f33f1926f3632b7b1d22f..a6886b42c7ac0d62c07a19a9935cf4cd66aaad54 100644 --- a/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java +++ b/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java @@ -750,7 +750,7 @@ class PackageReader extends BandStructure { file_options.readFrom(in); file_bits.setInputStreamFrom(in); - Iterator nextClass = pkg.getClasses().iterator(); + Iterator nextClass = pkg.getClasses().iterator(); // Compute file lengths before reading any file bits. long totalFileLength = 0; @@ -790,14 +790,14 @@ class PackageReader extends BandStructure { pkg.addFile(file); if (file.isClassStub()) { assert(file.getFileLength() == 0); - Class cls = (Class) nextClass.next(); + Class cls = nextClass.next(); cls.initFile(file); } } // Do the rest of the classes. while (nextClass.hasNext()) { - Class cls = (Class) nextClass.next(); + Class cls = nextClass.next(); cls.initFile(null); // implicitly initialize to a trivial one cls.file.modtime = pkg.default_modtime; } @@ -1006,14 +1006,14 @@ class PackageReader extends BandStructure { if (k >= 0) return k; if (e.tag == CONSTANT_Utf8) { - Entry se = (Entry) utf8Signatures.get(e); + Entry se = utf8Signatures.get(e); return pkg.cp.untypedIndexOf(se); } return -1; } Comparator entryOutputOrder = new Comparator() { - public int compare(Entry e0, Entry e1) { + public int compare(Entry e0, Entry e1) { int k0 = getOutputIndex(e0); int k1 = getOutputIndex(e1); if (k0 >= 0 && k1 >= 0) @@ -1332,7 +1332,8 @@ class PackageReader extends BandStructure { // classes, fields, methods, and codes. // The holders is a global list, already collected, // of attribute "customers". - void countAndReadAttrs(int ctype, Collection holders) throws IOException { + void countAndReadAttrs(int ctype, Collection holders) + throws IOException { // class_attr_bands: // *class_flags :UNSIGNED5 // *class_attr_count :UNSIGNED5 @@ -1386,7 +1387,8 @@ class PackageReader extends BandStructure { // Read flags and count the attributes that are to be placed // on the given holders. - void countAttrs(int ctype, Collection holders) throws IOException { + void countAttrs(int ctype, Collection holders) + throws IOException { // Here, xxx stands for one of class, field, method, code. MultiBand xxx_attr_bands = attrBands[ctype]; long flagMask = attrFlagMask[ctype]; @@ -1414,8 +1416,7 @@ class PackageReader extends BandStructure { xxx_flags_lo.expectLength(holders.size()); xxx_flags_lo.readFrom(in); assert((flagMask & overflowMask) == overflowMask); - for (Iterator i = holders.iterator(); i.hasNext(); ) { - Attribute.Holder h = (Attribute.Holder) i.next(); + for (Attribute.Holder h : holders) { int flags = xxx_flags_lo.getInt(); h.flags = flags; if ((flags & overflowMask) != 0) @@ -1433,8 +1434,7 @@ class PackageReader extends BandStructure { // (class/field/method/code), and also we accumulate (b) a total // count for each attribute type. int[] totalCounts = new int[defs.length]; - for (Iterator i = holders.iterator(); i.hasNext(); ) { - Attribute.Holder h = (Attribute.Holder) i.next(); + for (Attribute.Holder h : holders) { assert(h.attributes == null); // System.out.println("flags="+h.flags+" using fm="+flagMask); long attrBits = ((h.flags & flagMask) << 32) >>> 32; @@ -1582,13 +1582,12 @@ class PackageReader extends BandStructure { ATTR_CONTEXT_NAME[ctype]+" attribute"); } - @SuppressWarnings("unchecked") - void readAttrs(int ctype, Collection holders) throws IOException { + void readAttrs(int ctype, Collection holders) + throws IOException { // Decode band values into attributes. Set sawDefs = new HashSet<>(); ByteArrayOutputStream buf = new ByteArrayOutputStream(); - for (Iterator i = holders.iterator(); i.hasNext(); ) { - final Attribute.Holder h = (Attribute.Holder) i.next(); + for (final Attribute.Holder h : holders) { if (h.attributes == null) continue; for (ListIterator j = h.attributes.listIterator(); j.hasNext(); ) { Attribute a = j.next(); diff --git a/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java b/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java index e2bad8904a10f92c37c0fcb071b8ce19dd0fdcab..0f7f51a7ec3c0e2945ed1aa51703888753baecb0 100644 --- a/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java +++ b/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java @@ -720,7 +720,6 @@ class PackageWriter extends BandStructure { Utils.log.info("Wrote "+numFiles+" resource files"); } - @SuppressWarnings("unchecked") void collectAttributeLayouts() { maxFlags = new int[ATTR_CONTEXT_LIMIT]; allLayouts = new FixedList<>(ATTR_CONTEXT_LIMIT); @@ -781,26 +780,27 @@ class PackageWriter extends BandStructure { avHiBits &= (1L< defMap = allLayouts.get(i); - Map.Entry[] layoutsAndCounts = new Map.Entry[defMap.size()]; + @SuppressWarnings({ "unchecked", "rawtypes" }) + Map.Entry[] layoutsAndCounts = + new Map.Entry[defMap.size()]; defMap.entrySet().toArray(layoutsAndCounts); // Sort by count, most frequent first. // Predefs. participate in this sort, though it does not matter. - Arrays.sort(layoutsAndCounts, new Comparator() { - public int compare(Object o0, Object o1) { - Map.Entry e0 = (Map.Entry) o0; - Map.Entry e1 = (Map.Entry) o1; + Arrays.sort(layoutsAndCounts, + new Comparator>() { + public int compare(Map.Entry e0, + Map.Entry e1) { // Primary sort key is count, reversed. - int r = - ( ((int[])e0.getValue())[0] - - ((int[])e1.getValue())[0] ); + int r = -(e0.getValue()[0] - e1.getValue()[0]); if (r != 0) return r; - return ((Comparable)e0.getKey()).compareTo(e1.getKey()); + return e0.getKey().compareTo(e1.getKey()); } }); attrCounts[i] = new int[attrIndexLimit[i]+layoutsAndCounts.length]; for (int j = 0; j < layoutsAndCounts.length; j++) { - Map.Entry e = layoutsAndCounts[j]; - Attribute.Layout def = (Attribute.Layout) e.getKey(); - int count = ((int[])e.getValue())[0]; + Map.Entry e = layoutsAndCounts[j]; + Attribute.Layout def = e.getKey(); + int count = e.getValue()[0]; int index; Integer predefIndex = attrIndexTable.get(def); if (predefIndex != null) { @@ -881,7 +881,6 @@ class PackageWriter extends BandStructure { Attribute.Layout[] attrDefsWritten; - @SuppressWarnings("unchecked") void writeAttrDefs() throws IOException { List defList = new ArrayList<>(); for (int i = 0; i < ATTR_CONTEXT_LIMIT; i++) { @@ -906,20 +905,19 @@ class PackageWriter extends BandStructure { int numAttrDefs = defList.size(); Object[][] defs = new Object[numAttrDefs][]; defList.toArray(defs); - Arrays.sort(defs, new Comparator() { - public int compare(Object o0, Object o1) { - Object[] a0 = (Object[]) o0; - Object[] a1 = (Object[]) o1; + Arrays.sort(defs, new Comparator() { + public int compare(Object[] a0, Object[] a1) { // Primary sort key is attr def header. + @SuppressWarnings("unchecked") int r = ((Comparable)a0[0]).compareTo(a1[0]); if (r != 0) return r; - Object ind0 = attrIndexTable.get(a0[1]); - Object ind1 = attrIndexTable.get(a1[1]); + Integer ind0 = attrIndexTable.get(a0[1]); + Integer ind1 = attrIndexTable.get(a1[1]); // Secondary sort key is attribute index. // (This must be so, in order to keep overflow attr order.) assert(ind0 != null); assert(ind1 != null); - return ((Comparable)ind0).compareTo(ind1); + return ind0.compareTo(ind1); } }); attrDefsWritten = new Attribute.Layout[numAttrDefs]; diff --git a/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java b/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java index aefac5299331912b7c7b0bce629c02e6c2084b0f..93b743bcdc750527e1f0d6a02d511cc62f1aa80c 100644 --- a/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java +++ b/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2011, 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 @@ -69,8 +69,7 @@ public class PackerImpl extends TLGlobals implements Pack200.Packer { * Get the set of options for the pack and unpack engines. * @return A sorted association of option key strings to option values. */ - @SuppressWarnings("unchecked") - public SortedMap properties() { + public SortedMap properties() { return props; } @@ -157,7 +156,6 @@ public class PackerImpl extends TLGlobals implements Pack200.Packer { // All the worker bees..... // The packer worker. - @SuppressWarnings("unchecked") private class DoPack { final int verbose = props.getInteger(Utils.DEBUG_VERBOSE); @@ -199,9 +197,8 @@ public class PackerImpl extends TLGlobals implements Pack200.Packer { }; for (int i = 0; i < ctypes.length; i++) { String pfx = keys[i]; - Map map = props.prefixMap(pfx); - for (Object k : map.keySet()) { - String key = (String)k; + Map map = props.prefixMap(pfx); + for (String key : map.keySet()) { assert(key.startsWith(pfx)); String name = key.substring(pfx.length()); String layout = props.getProperty(key); diff --git a/src/share/classes/com/sun/java/util/jar/pack/PropMap.java b/src/share/classes/com/sun/java/util/jar/pack/PropMap.java index f1877c3224b0e168e335d34f978fb7289fe1e912..07887b9c55b39a960d812138478eb8f4fb19d85a 100644 --- a/src/share/classes/com/sun/java/util/jar/pack/PropMap.java +++ b/src/share/classes/com/sun/java/util/jar/pack/PropMap.java @@ -27,7 +27,6 @@ package com.sun.java.util.jar.pack; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeEvent; -import java.io.BufferedInputStream; import java.io.IOException; import java.io.InputStream; import java.io.PrintStream; @@ -47,8 +46,8 @@ import java.util.jar.Pack200; * Control block for publishing Pack200 options to the other classes. */ -final class PropMap implements SortedMap { - private final TreeMap theMap = new TreeMap<>();; +final class PropMap implements SortedMap { + private final TreeMap theMap = new TreeMap<>();; private final List listenerList = new ArrayList<>(1); void addListener(PropertyChangeListener listener) { @@ -68,12 +67,12 @@ final class PropMap implements SortedMap { } // Override: - public Object put(Object key, Object value) { - Object oldValue = theMap.put(key, value); + public String put(String key, String value) { + String oldValue = theMap.put(key, value); if (value != oldValue && !listenerList.isEmpty()) { // Post the property change event. PropertyChangeEvent event = - new PropertyChangeEvent(this, (String) key, + new PropertyChangeEvent(this, key, oldValue, value); for (PropertyChangeListener listener : listenerList) { listener.propertyChange(event); @@ -85,7 +84,7 @@ final class PropMap implements SortedMap { // All this other stuff is private to the current package. // Outide clients of Pack200 do not need to use it; they can // get by with generic SortedMap functionality. - private static Map defaultProps; + private static Map defaultProps; static { Properties props = new Properties(); @@ -141,7 +140,9 @@ final class PropMap implements SortedMap { } } - defaultProps = (new HashMap<>(props)); // shrink to fit + @SuppressWarnings({"unchecked", "rawtypes"}) + HashMap temp = new HashMap(props); // shrink to fit + defaultProps = temp; } PropMap() { @@ -151,7 +152,7 @@ final class PropMap implements SortedMap { // Return a view of this map which includes only properties // that begin with the given prefix. This is easy because // the map is sorted, and has a subMap accessor. - SortedMap prefixMap(String prefix) { + SortedMap prefixMap(String prefix) { int len = prefix.length(); if (len == 0) return this; @@ -162,7 +163,7 @@ final class PropMap implements SortedMap { } String getProperty(String s) { - return (String) get(s); + return get(s); } String getProperty(String s, String defaultVal) { String val = getProperty(s); @@ -171,13 +172,13 @@ final class PropMap implements SortedMap { return val; } String setProperty(String s, String val) { - return (String) put(s, val); + return put(s, val); } // Get sequence of props for "prefix", and "prefix.*". - List getProperties(String prefix) { - Collection values = prefixMap(prefix).values(); - List res = new ArrayList<>(values.size()); + List getProperties(String prefix) { + Collection values = prefixMap(prefix).values(); + List res = new ArrayList<>(values.size()); res.addAll(values); while (res.remove(null)); return res; @@ -241,8 +242,8 @@ final class PropMap implements SortedMap { } void list(PrintWriter out) { out.println("#"+Utils.PACK_ZIP_ARCHIVE_MARKER_COMMENT+"["); - Set defaults = defaultProps.entrySet(); - for (Map.Entry e : theMap.entrySet()) { + Set> defaults = defaultProps.entrySet(); + for (Map.Entry e : theMap.entrySet()) { if (defaults.contains(e)) continue; out.println(" " + e.getKey() + " = " + e.getValue()); } @@ -270,18 +271,17 @@ final class PropMap implements SortedMap { } @Override - public Object get(Object key) { + public String get(Object key) { return theMap.get(key); } @Override - public Object remove(Object key) { + public String remove(Object key) { return theMap.remove(key); } @Override - @SuppressWarnings("unchecked") - public void putAll(Map m) { + public void putAll(Map m) { theMap.putAll(m); } @@ -291,48 +291,47 @@ final class PropMap implements SortedMap { } @Override - public Set keySet() { + public Set keySet() { return theMap.keySet(); } @Override - public Collection values() { + public Collection values() { return theMap.values(); } @Override - public Set> entrySet() { + public Set> entrySet() { return theMap.entrySet(); } @Override - @SuppressWarnings("unchecked") - public Comparator comparator() { - return (Comparator) theMap.comparator(); + public Comparator comparator() { + return theMap.comparator(); } @Override - public SortedMap subMap(Object fromKey, Object toKey) { + public SortedMap subMap(String fromKey, String toKey) { return theMap.subMap(fromKey, toKey); } @Override - public SortedMap headMap(Object toKey) { + public SortedMap headMap(String toKey) { return theMap.headMap(toKey); } @Override - public SortedMap tailMap(Object fromKey) { + public SortedMap tailMap(String fromKey) { return theMap.tailMap(fromKey); } @Override - public Object firstKey() { + public String firstKey() { return theMap.firstKey(); } @Override - public Object lastKey() { + public String lastKey() { return theMap.lastKey(); } } diff --git a/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java b/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java index 0e40bde8b6320417fcd104333292a5627ec8e274..fc9d09988702b3081b6f833833d12270de65ed00 100644 --- a/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java +++ b/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -67,7 +67,7 @@ class TLGlobals { props = new PropMap(); } - SortedMap getPropMap() { + SortedMap getPropMap() { return props; } diff --git a/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java b/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java index c14faeca7db852450a459ac4ce489a10434452fa..5727d32986ea73dd8372edd6baaf75ac7b18b2c6 100644 --- a/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java +++ b/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java @@ -81,8 +81,7 @@ public class UnpackerImpl extends TLGlobals implements Pack200.Unpacker { * Get the set of options for the pack and unpack engines. * @return A sorted association of option key strings to option values. */ - @SuppressWarnings("unchecked") - public SortedMap properties() { + public SortedMap properties() { return props; } diff --git a/src/share/classes/com/sun/java/util/jar/pack/Utils.java b/src/share/classes/com/sun/java/util/jar/pack/Utils.java index 00a043f3e44e79cc13d828fb31a7f05a01dbbcb6..f9d26eb306a301a33735dc437e03f48a39657981 100644 --- a/src/share/classes/com/sun/java/util/jar/pack/Utils.java +++ b/src/share/classes/com/sun/java/util/jar/pack/Utils.java @@ -253,8 +253,8 @@ class Utils { } static void copyJarFile(JarFile in, JarOutputStream out) throws IOException { byte[] buffer = new byte[1 << 14]; - for (Enumeration e = in.entries(); e.hasMoreElements(); ) { - JarEntry je = (JarEntry) e.nextElement(); + for (Enumeration e = in.entries(); e.hasMoreElements(); ) { + JarEntry je = e.nextElement(); out.putNextEntry(je); InputStream ein = in.getInputStream(je); for (int nr; 0 < (nr = ein.read(buffer)); ) { diff --git a/src/share/classes/com/sun/jndi/ldap/Filter.java b/src/share/classes/com/sun/jndi/ldap/Filter.java index 467b8db9065dd6c78f5d2340cc165daacfea891d..0eb1caa420cea42938e03aea7bfd1965d0229039 100644 --- a/src/share/classes/com/sun/jndi/ldap/Filter.java +++ b/src/share/classes/com/sun/jndi/ldap/Filter.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2011, 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 @@ -632,15 +632,17 @@ final class Filter { } } + // The complex filter types look like: + // "&(type=val)(type=val)" + // "|(type=val)(type=val)" + // "!(type=val)" + // + // The filtOffset[0] pointing to the '&', '|', or '!'. + // private static void encodeComplexFilter(BerEncoder ber, byte[] filter, int filterType, int filtOffset[], int filtEnd) throws IOException, NamingException { - // - // We have a complex filter of type "&(type=val)(type=val)" - // with filtOffset[0] pointing to the & - // - if (dbg) { dprint("encComplexFilter: ", filter, filtOffset[0], filtEnd); dprint(", type: " + Integer.toString(filterType, 16)); @@ -652,7 +654,7 @@ final class Filter { ber.beginSeq(filterType); int[] parens = findRightParen(filter, filtOffset, filtEnd); - encodeFilterList(ber, filter, parens[0], parens[1]); + encodeFilterList(ber, filter, filterType, parens[0], parens[1]); ber.endSeq(); @@ -706,7 +708,7 @@ final class Filter { // Encode filter list of type "(filter1)(filter2)..." // private static void encodeFilterList(BerEncoder ber, byte[] filter, - int start, int end) throws IOException, NamingException { + int filterType, int start, int end) throws IOException, NamingException { if (dbg) { dprint("encFilterList: ", filter, start, end); @@ -714,12 +716,16 @@ final class Filter { } int filtOffset[] = new int[1]; - - for (filtOffset[0] = start; filtOffset[0] < end; - filtOffset[0]++) { + int listNumber = 0; + for (filtOffset[0] = start; filtOffset[0] < end; filtOffset[0]++) { if (Character.isSpaceChar((char)filter[filtOffset[0]])) continue; + if ((filterType == LDAP_FILTER_NOT) && (listNumber > 0)) { + throw new InvalidSearchFilterException( + "Filter (!) cannot be followed by more than one filters"); + } + if (filter[filtOffset[0]] == '(') { continue; } @@ -733,6 +739,8 @@ final class Filter { newfilter[0] = (byte)'('; newfilter[len+1] = (byte)')'; encodeFilter(ber, newfilter, 0, newfilter.length); + + listNumber++; } if (dbg) { diff --git a/src/share/classes/java/lang/Class.java b/src/share/classes/java/lang/Class.java index cf6c890b3fb00ac27cfc635739d189af2730d150..6f74179a28be62a4eab67de167b81cc18c1d4bf9 100644 --- a/src/share/classes/java/lang/Class.java +++ b/src/share/classes/java/lang/Class.java @@ -31,7 +31,6 @@ import java.lang.reflect.Member; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.Constructor; -import java.lang.reflect.GenericDeclaration; import java.lang.reflect.Modifier; import java.lang.reflect.Type; import java.lang.reflect.TypeVariable; @@ -45,10 +44,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.HashSet; -import java.util.Iterator; import java.util.List; -import java.util.LinkedList; -import java.util.LinkedHashSet; import java.util.Set; import java.util.Map; import java.util.HashMap; @@ -56,7 +52,6 @@ import sun.misc.Unsafe; import sun.reflect.ConstantPool; import sun.reflect.Reflection; import sun.reflect.ReflectionFactory; -import sun.reflect.SignatureIterator; import sun.reflect.generics.factory.CoreReflectionFactory; import sun.reflect.generics.factory.GenericsFactory; import sun.reflect.generics.repository.ClassRepository; @@ -354,7 +349,8 @@ public final }); cachedConstructor = c; } catch (NoSuchMethodException e) { - throw new InstantiationException(getName()); + throw (InstantiationException) + new InstantiationException(getName()).initCause(e); } } Constructor tmpConstructor = cachedConstructor; @@ -978,7 +974,8 @@ public final descriptor = (String) enclosingInfo[2]; assert((name != null && descriptor != null) || name == descriptor); } catch (ClassCastException cce) { - throw new InternalError("Invalid type in enclosing method information"); + throw (InternalError) + new InternalError("Invalid type in enclosing method information").initCause(cce); } } @@ -1244,7 +1241,8 @@ public final try { return getName().substring(enclosingClass.getName().length()); } catch (IndexOutOfBoundsException ex) { - throw new InternalError("Malformed class name"); + throw (InternalError) + new InternalError("Malformed class name").initCause(ex); } } @@ -2559,7 +2557,7 @@ public final // Start by fetching public declared methods MethodArray methods = new MethodArray(); { - Method[] tmp = privateGetDeclaredMethods(true); + Method[] tmp = privateGetDeclaredMethods(true); methods.addAll(tmp); } // Now recur over superclass and direct superinterfaces. @@ -2909,6 +2907,7 @@ public final return null; } + // Doesn't use Boolean.getBoolean to avoid class init. String val = System.getProperty("sun.reflect.noCaches"); if (val != null && val.equals("true")) { @@ -2958,9 +2957,8 @@ public final } // These can happen when users concoct enum-like classes // that don't comply with the enum spec. - catch (InvocationTargetException ex) { return null; } - catch (NoSuchMethodException ex) { return null; } - catch (IllegalAccessException ex) { return null; } + catch (InvocationTargetException | NoSuchMethodException | + IllegalAccessException ex) { return null; } } return enumConstants; } diff --git a/src/share/classes/java/lang/Math.java b/src/share/classes/java/lang/Math.java index 5d1be0c215bd1710e2902efaadc3694e09cf0907..177d710aa9ed3910da9acb013430bc1dd9080fdf 100644 --- a/src/share/classes/java/lang/Math.java +++ b/src/share/classes/java/lang/Math.java @@ -50,34 +50,34 @@ import java.util.Random; * *

The quality of implementation specifications concern two * properties, accuracy of the returned result and monotonicity of the - * method. Accuracy of the floating-point {@code Math} methods - * is measured in terms of ulps, units in the last place. For - * a given floating-point format, an ulp of a specific real number - * value is the distance between the two floating-point values - * bracketing that numerical value. When discussing the accuracy of a - * method as a whole rather than at a specific argument, the number of - * ulps cited is for the worst-case error at any argument. If a - * method always has an error less than 0.5 ulps, the method always - * returns the floating-point number nearest the exact result; such a - * method is correctly rounded. A correctly rounded method is - * generally the best a floating-point approximation can be; however, - * it is impractical for many floating-point methods to be correctly - * rounded. Instead, for the {@code Math} class, a larger error - * bound of 1 or 2 ulps is allowed for certain methods. Informally, - * with a 1 ulp error bound, when the exact result is a representable - * number, the exact result should be returned as the computed result; - * otherwise, either of the two floating-point values which bracket - * the exact result may be returned. For exact results large in - * magnitude, one of the endpoints of the bracket may be infinite. - * Besides accuracy at individual arguments, maintaining proper - * relations between the method at different arguments is also - * important. Therefore, most methods with more than 0.5 ulp errors - * are required to be semi-monotonic: whenever the mathematical - * function is non-decreasing, so is the floating-point approximation, - * likewise, whenever the mathematical function is non-increasing, so - * is the floating-point approximation. Not all approximations that - * have 1 ulp accuracy will automatically meet the monotonicity - * requirements. + * method. Accuracy of the floating-point {@code Math} methods is + * measured in terms of ulps, units in the last place. For a + * given floating-point format, an {@linkplain #ulp(double) ulp} of a + * specific real number value is the distance between the two + * floating-point values bracketing that numerical value. When + * discussing the accuracy of a method as a whole rather than at a + * specific argument, the number of ulps cited is for the worst-case + * error at any argument. If a method always has an error less than + * 0.5 ulps, the method always returns the floating-point number + * nearest the exact result; such a method is correctly + * rounded. A correctly rounded method is generally the best a + * floating-point approximation can be; however, it is impractical for + * many floating-point methods to be correctly rounded. Instead, for + * the {@code Math} class, a larger error bound of 1 or 2 ulps is + * allowed for certain methods. Informally, with a 1 ulp error bound, + * when the exact result is a representable number, the exact result + * should be returned as the computed result; otherwise, either of the + * two floating-point values which bracket the exact result may be + * returned. For exact results large in magnitude, one of the + * endpoints of the bracket may be infinite. Besides accuracy at + * individual arguments, maintaining proper relations between the + * method at different arguments is also important. Therefore, most + * methods with more than 0.5 ulp errors are required to be + * semi-monotonic: whenever the mathematical function is + * non-decreasing, so is the floating-point approximation, likewise, + * whenever the mathematical function is non-increasing, so is the + * floating-point approximation. Not all approximations that have 1 + * ulp accuracy will automatically meet the monotonicity requirements. * * @author unascribed * @author Joseph D. Darcy @@ -940,11 +940,11 @@ public final class Math { } /** - * Returns the size of an ulp of the argument. An ulp of a - * {@code double} value is the positive distance between this - * floating-point value and the {@code double} value next - * larger in magnitude. Note that for non-NaN x, - * ulp(-x) == ulp(x). + * Returns the size of an ulp of the argument. An ulp, unit in + * the last place, of a {@code double} value is the positive + * distance between this floating-point value and the {@code + * double} value next larger in magnitude. Note that for non-NaN + * x, ulp(-x) == ulp(x). * *

Special Cases: *