mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 14:54:52 +02:00
Merge
This commit is contained in:
commit
aa96056b21
144 changed files with 2367 additions and 676 deletions
1
.hgtags
1
.hgtags
|
@ -453,3 +453,4 @@ e5357aa85dadacc6562175ff74714fecfb4470cf jdk-10+22
|
||||||
1129253d3bc728a2963ba411ab9dd1adf358fb6b jdk-10+26
|
1129253d3bc728a2963ba411ab9dd1adf358fb6b jdk-10+26
|
||||||
b87d7b5d5dedc1185e5929470f945b7378cdb3ad jdk-10+27
|
b87d7b5d5dedc1185e5929470f945b7378cdb3ad jdk-10+27
|
||||||
92f08900cb3c0d694e5c529a676c1c9e5909193f jdk-10+28
|
92f08900cb3c0d694e5c529a676c1c9e5909193f jdk-10+28
|
||||||
|
a6e591e12f122768f675428e1e5a838fd0e9c7ec jdk-10+29
|
||||||
|
|
|
@ -64,7 +64,7 @@ MODULES_SOURCE_PATH := $(call PathList, $(call GetModuleSrcPath) \
|
||||||
JAVADOC_BASE_URL := http://www.oracle.com/pls/topic/lookup?ctx=javase9&id=homepage
|
JAVADOC_BASE_URL := http://www.oracle.com/pls/topic/lookup?ctx=javase9&id=homepage
|
||||||
BUG_SUBMIT_URL := http://bugreport.java.com/bugreport/
|
BUG_SUBMIT_URL := http://bugreport.java.com/bugreport/
|
||||||
COPYRIGHT_URL := {@docroot}/../legal/copyright.html
|
COPYRIGHT_URL := {@docroot}/../legal/copyright.html
|
||||||
LICENSE_URL := http://www.oracle.com/technetwork/java/javase/terms/license/java9speclicense.html
|
LICENSE_URL := http://www.oracle.com/technetwork/java/javase/terms/license/java10speclicense.html
|
||||||
REDISTRIBUTION_URL := http://www.oracle.com/technetwork/java/redist-137594.html
|
REDISTRIBUTION_URL := http://www.oracle.com/technetwork/java/redist-137594.html
|
||||||
|
|
||||||
# In order to get a specific ordering it's necessary to specify the total
|
# In order to get a specific ordering it's necessary to specify the total
|
||||||
|
|
|
@ -432,8 +432,8 @@ $(eval $(call IncludeCustomExtension, Images-post.gmk))
|
||||||
$(JRE_TARGETS): $(TOOL_JRE_TARGETS)
|
$(JRE_TARGETS): $(TOOL_JRE_TARGETS)
|
||||||
$(JDK_TARGETS): $(TOOL_JDK_TARGETS)
|
$(JDK_TARGETS): $(TOOL_JDK_TARGETS)
|
||||||
|
|
||||||
jdk: $(JDK_TARGETS)
|
jdk: $(TOOL_JDK_TARGETS) $(JDK_TARGETS)
|
||||||
jre: $(JRE_TARGETS)
|
jre: $(TOOL_JRE_TARGETS) $(JRE_TARGETS)
|
||||||
symbols: $(SYMBOLS_TARGETS)
|
symbols: $(SYMBOLS_TARGETS)
|
||||||
|
|
||||||
all: jdk jre symbols
|
all: jdk jre symbols
|
||||||
|
|
|
@ -223,9 +223,6 @@ else # HAS_SPEC=true
|
||||||
# Our helper functions.
|
# Our helper functions.
|
||||||
include $(TOPDIR)/make/InitSupport.gmk
|
include $(TOPDIR)/make/InitSupport.gmk
|
||||||
|
|
||||||
# Verify that the spec file we included seems okay.
|
|
||||||
$(eval $(call CheckSpecSanity))
|
|
||||||
|
|
||||||
# Parse COMPARE_BUILD (for makefile development)
|
# Parse COMPARE_BUILD (for makefile development)
|
||||||
$(eval $(call ParseCompareBuild))
|
$(eval $(call ParseCompareBuild))
|
||||||
|
|
||||||
|
|
|
@ -359,23 +359,6 @@ else # $(HAS_SPEC)=true
|
||||||
|
|
||||||
BUILD_LOG_PIPE := > >($(TEE) -a $(BUILD_LOG)) 2> >($(TEE) -a $(BUILD_LOG) >&2) && wait
|
BUILD_LOG_PIPE := > >($(TEE) -a $(BUILD_LOG)) 2> >($(TEE) -a $(BUILD_LOG) >&2) && wait
|
||||||
|
|
||||||
# Sanity check the spec file, so it matches this source code
|
|
||||||
define CheckSpecSanity
|
|
||||||
ifneq ($$(ACTUAL_TOPDIR), $$(TOPDIR))
|
|
||||||
ifneq ($$(ACTUAL_TOPDIR), $$(ORIGINAL_TOPDIR))
|
|
||||||
ifneq ($$(ACTUAL_TOPDIR), $$(CANONICAL_TOPDIR))
|
|
||||||
$$(info Error: SPEC mismatch! Current working directory)
|
|
||||||
$$(info $$(ACTUAL_TOPDIR))
|
|
||||||
$$(info does not match either TOPDIR, ORIGINAL_TOPDIR or CANONICAL_TOPDIR)
|
|
||||||
$$(info $$(TOPDIR))
|
|
||||||
$$(info $$(ORIGINAL_TOPDIR))
|
|
||||||
$$(info $$(CANONICAL_TOPDIR))
|
|
||||||
$$(error Cannot continue)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endef
|
|
||||||
|
|
||||||
# Parse COMPARE_BUILD into COMPARE_BUILD_*
|
# Parse COMPARE_BUILD into COMPARE_BUILD_*
|
||||||
# Syntax: COMPARE_BUILD=CONF=<configure options>:PATCH=<patch file>:
|
# Syntax: COMPARE_BUILD=CONF=<configure options>:PATCH=<patch file>:
|
||||||
# MAKE=<make targets>:COMP_OPTS=<compare script options>:
|
# MAKE=<make targets>:COMP_OPTS=<compare script options>:
|
||||||
|
|
|
@ -561,19 +561,10 @@ AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
|
||||||
AC_MSG_RESULT([$TOPDIR])
|
AC_MSG_RESULT([$TOPDIR])
|
||||||
AC_SUBST(TOPDIR)
|
AC_SUBST(TOPDIR)
|
||||||
|
|
||||||
# Save the original version of TOPDIR for string comparisons
|
|
||||||
ORIGINAL_TOPDIR="$TOPDIR"
|
|
||||||
AC_SUBST(ORIGINAL_TOPDIR)
|
|
||||||
|
|
||||||
# We can only call BASIC_FIXUP_PATH after BASIC_CHECK_PATHS_WINDOWS.
|
# We can only call BASIC_FIXUP_PATH after BASIC_CHECK_PATHS_WINDOWS.
|
||||||
BASIC_FIXUP_PATH(CURDIR)
|
BASIC_FIXUP_PATH(CURDIR)
|
||||||
BASIC_FIXUP_PATH(TOPDIR)
|
BASIC_FIXUP_PATH(TOPDIR)
|
||||||
|
|
||||||
# Calculate a canonical version of TOPDIR for string comparisons
|
|
||||||
CANONICAL_TOPDIR=$TOPDIR
|
|
||||||
BASIC_REMOVE_SYMBOLIC_LINKS([CANONICAL_TOPDIR])
|
|
||||||
AC_SUBST(CANONICAL_TOPDIR)
|
|
||||||
|
|
||||||
# Locate the directory of this script.
|
# Locate the directory of this script.
|
||||||
AUTOCONF_DIR=$TOPDIR/make/autoconf
|
AUTOCONF_DIR=$TOPDIR/make/autoconf
|
||||||
|
|
||||||
|
@ -648,6 +639,14 @@ AC_DEFUN_ONCE([BASIC_SETUP_DEVKIT],
|
||||||
elif test -d "$DEVKIT_ROOT/$host/sys-root"; then
|
elif test -d "$DEVKIT_ROOT/$host/sys-root"; then
|
||||||
SYSROOT="$DEVKIT_ROOT/$host/sys-root"
|
SYSROOT="$DEVKIT_ROOT/$host/sys-root"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test "x$DEVKIT_ROOT" != x; then
|
||||||
|
DEVKIT_LIB_DIR="$DEVKIT_ROOT/lib"
|
||||||
|
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
|
||||||
|
DEVKIT_LIB_DIR="$DEVKIT_ROOT/lib64"
|
||||||
|
fi
|
||||||
|
AC_SUBST(DEVKIT_LIB_DIR)
|
||||||
|
fi
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
SRC#
|
SRC#
|
||||||
# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -203,6 +203,9 @@ FLAGS_SETUP_COMPILER_FLAGS_MISC
|
||||||
JDKOPT_SETUP_DEBUG_SYMBOLS
|
JDKOPT_SETUP_DEBUG_SYMBOLS
|
||||||
JDKOPT_SETUP_CODE_COVERAGE
|
JDKOPT_SETUP_CODE_COVERAGE
|
||||||
|
|
||||||
|
# AddressSanitizer
|
||||||
|
JDKOPT_SETUP_ADDRESS_SANITIZER
|
||||||
|
|
||||||
# Need toolchain to setup dtrace
|
# Need toolchain to setup dtrace
|
||||||
HOTSPOT_SETUP_DTRACE
|
HOTSPOT_SETUP_DTRACE
|
||||||
HOTSPOT_ENABLE_DISABLE_AOT
|
HOTSPOT_ENABLE_DISABLE_AOT
|
||||||
|
|
|
@ -705,6 +705,7 @@ FIXPATH
|
||||||
BUILD_GTEST
|
BUILD_GTEST
|
||||||
ENABLE_CDS
|
ENABLE_CDS
|
||||||
ENABLE_AOT
|
ENABLE_AOT
|
||||||
|
ASAN_ENABLED
|
||||||
GCOV_ENABLED
|
GCOV_ENABLED
|
||||||
ZIP_EXTERNAL_DEBUG_SYMBOLS
|
ZIP_EXTERNAL_DEBUG_SYMBOLS
|
||||||
COPY_DEBUG_SYMBOLS
|
COPY_DEBUG_SYMBOLS
|
||||||
|
@ -959,6 +960,7 @@ CONF_NAME
|
||||||
SPEC
|
SPEC
|
||||||
SDKROOT
|
SDKROOT
|
||||||
XCODEBUILD
|
XCODEBUILD
|
||||||
|
DEVKIT_LIB_DIR
|
||||||
JVM_VARIANT_MAIN
|
JVM_VARIANT_MAIN
|
||||||
VALID_JVM_VARIANTS
|
VALID_JVM_VARIANTS
|
||||||
JVM_VARIANTS
|
JVM_VARIANTS
|
||||||
|
@ -966,8 +968,6 @@ DEBUG_LEVEL
|
||||||
HOTSPOT_DEBUG_LEVEL
|
HOTSPOT_DEBUG_LEVEL
|
||||||
JDK_VARIANT
|
JDK_VARIANT
|
||||||
USERNAME
|
USERNAME
|
||||||
CANONICAL_TOPDIR
|
|
||||||
ORIGINAL_TOPDIR
|
|
||||||
TOPDIR
|
TOPDIR
|
||||||
PATH_SEP
|
PATH_SEP
|
||||||
HOTSPOT_BUILD_CPU_DEFINE
|
HOTSPOT_BUILD_CPU_DEFINE
|
||||||
|
@ -1174,6 +1174,7 @@ with_native_debug_symbols
|
||||||
enable_debug_symbols
|
enable_debug_symbols
|
||||||
enable_zip_debug_info
|
enable_zip_debug_info
|
||||||
enable_native_coverage
|
enable_native_coverage
|
||||||
|
enable_asan
|
||||||
enable_dtrace
|
enable_dtrace
|
||||||
enable_aot
|
enable_aot
|
||||||
enable_cds
|
enable_cds
|
||||||
|
@ -1981,6 +1982,7 @@ Optional Features:
|
||||||
--enable-native-coverage
|
--enable-native-coverage
|
||||||
enable native compilation with code coverage
|
enable native compilation with code coverage
|
||||||
data[disabled]
|
data[disabled]
|
||||||
|
--enable-asan enable AddressSanitizer if possible [disabled]
|
||||||
--enable-dtrace[=yes/no/auto]
|
--enable-dtrace[=yes/no/auto]
|
||||||
enable dtrace. Default is auto, where dtrace is
|
enable dtrace. Default is auto, where dtrace is
|
||||||
enabled if all dependencies are present.
|
enabled if all dependencies are present.
|
||||||
|
@ -4416,6 +4418,12 @@ VALID_JVM_VARIANTS="server client minimal core zero zeroshark custom"
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
#
|
||||||
|
# AddressSanitizer
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
#
|
#
|
||||||
# Static build support. When enabled will generate static
|
# Static build support. When enabled will generate static
|
||||||
|
@ -5158,7 +5166,7 @@ VS_SDK_PLATFORM_NAME_2013=
|
||||||
#CUSTOM_AUTOCONF_INCLUDE
|
#CUSTOM_AUTOCONF_INCLUDE
|
||||||
|
|
||||||
# Do not change or remove the following line, it is needed for consistency checks:
|
# Do not change or remove the following line, it is needed for consistency checks:
|
||||||
DATE_WHEN_GENERATED=1508961024
|
DATE_WHEN_GENERATED=1509128484
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#
|
#
|
||||||
|
@ -16577,10 +16585,6 @@ $as_echo_n "checking for top-level directory... " >&6; }
|
||||||
$as_echo "$TOPDIR" >&6; }
|
$as_echo "$TOPDIR" >&6; }
|
||||||
|
|
||||||
|
|
||||||
# Save the original version of TOPDIR for string comparisons
|
|
||||||
ORIGINAL_TOPDIR="$TOPDIR"
|
|
||||||
|
|
||||||
|
|
||||||
# We can only call BASIC_FIXUP_PATH after BASIC_CHECK_PATHS_WINDOWS.
|
# We can only call BASIC_FIXUP_PATH after BASIC_CHECK_PATHS_WINDOWS.
|
||||||
|
|
||||||
# Only process if variable expands to non-empty
|
# Only process if variable expands to non-empty
|
||||||
|
@ -16847,58 +16851,6 @@ $as_echo "$as_me: The path of TOPDIR, which resolves as \"$path\", is invalid."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Calculate a canonical version of TOPDIR for string comparisons
|
|
||||||
CANONICAL_TOPDIR=$TOPDIR
|
|
||||||
|
|
||||||
if test "x$OPENJDK_BUILD_OS" != xwindows; then
|
|
||||||
# Follow a chain of symbolic links. Use readlink
|
|
||||||
# where it exists, else fall back to horribly
|
|
||||||
# complicated shell code.
|
|
||||||
if test "x$READLINK_TESTED" != yes; then
|
|
||||||
# On MacOSX there is a readlink tool with a different
|
|
||||||
# purpose than the GNU readlink tool. Check the found readlink.
|
|
||||||
ISGNU=`$READLINK --version 2>&1 | $GREP GNU`
|
|
||||||
if test "x$ISGNU" = x; then
|
|
||||||
# A readlink that we do not know how to use.
|
|
||||||
# Are there other non-GNU readlinks out there?
|
|
||||||
READLINK_TESTED=yes
|
|
||||||
READLINK=
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x$READLINK" != x; then
|
|
||||||
CANONICAL_TOPDIR=`$READLINK -f $CANONICAL_TOPDIR`
|
|
||||||
else
|
|
||||||
# Save the current directory for restoring afterwards
|
|
||||||
STARTDIR=$PWD
|
|
||||||
COUNTER=0
|
|
||||||
sym_link_dir=`$DIRNAME $CANONICAL_TOPDIR`
|
|
||||||
sym_link_file=`$BASENAME $CANONICAL_TOPDIR`
|
|
||||||
cd $sym_link_dir
|
|
||||||
# Use -P flag to resolve symlinks in directories.
|
|
||||||
cd `$THEPWDCMD -P`
|
|
||||||
sym_link_dir=`$THEPWDCMD -P`
|
|
||||||
# Resolve file symlinks
|
|
||||||
while test $COUNTER -lt 20; do
|
|
||||||
ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP '\->' | $SED -e 's/.*-> \(.*\)/\1/'`
|
|
||||||
if test "x$ISLINK" == x; then
|
|
||||||
# This is not a symbolic link! We are done!
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
# Again resolve directory symlinks since the target of the just found
|
|
||||||
# link could be in a different directory
|
|
||||||
cd `$DIRNAME $ISLINK`
|
|
||||||
sym_link_dir=`$THEPWDCMD -P`
|
|
||||||
sym_link_file=`$BASENAME $ISLINK`
|
|
||||||
let COUNTER=COUNTER+1
|
|
||||||
done
|
|
||||||
cd $STARTDIR
|
|
||||||
CANONICAL_TOPDIR=$sym_link_dir/$sym_link_file
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Locate the directory of this script.
|
# Locate the directory of this script.
|
||||||
AUTOCONF_DIR=$TOPDIR/make/autoconf
|
AUTOCONF_DIR=$TOPDIR/make/autoconf
|
||||||
|
|
||||||
|
@ -17372,6 +17324,14 @@ $as_echo "$DEVKIT_ROOT" >&6; }
|
||||||
SYSROOT="$DEVKIT_ROOT/$host/sys-root"
|
SYSROOT="$DEVKIT_ROOT/$host/sys-root"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test "x$DEVKIT_ROOT" != x; then
|
||||||
|
DEVKIT_LIB_DIR="$DEVKIT_ROOT/lib"
|
||||||
|
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
|
||||||
|
DEVKIT_LIB_DIR="$DEVKIT_ROOT/lib64"
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -54268,6 +54228,49 @@ $as_echo "no" >&6; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# AddressSanitizer
|
||||||
|
|
||||||
|
# Check whether --enable-asan was given.
|
||||||
|
if test "${enable_asan+set}" = set; then :
|
||||||
|
enableval=$enable_asan;
|
||||||
|
fi
|
||||||
|
|
||||||
|
ASAN_ENABLED="no"
|
||||||
|
if test "x$enable_asan" = "xyes"; then
|
||||||
|
case $TOOLCHAIN_TYPE in
|
||||||
|
gcc | clang)
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if asan is enabled" >&5
|
||||||
|
$as_echo_n "checking if asan is enabled... " >&6; }
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||||
|
$as_echo "yes" >&6; }
|
||||||
|
ASAN_CFLAGS="-fsanitize=address -fno-omit-frame-pointer"
|
||||||
|
ASAN_LDFLAGS="-fsanitize=address"
|
||||||
|
JVM_CFLAGS="$JVM_CFLAGS $ASAN_CFLAGS"
|
||||||
|
JVM_LDFLAGS="$JVM_LDFLAGS $ASAN_LDFLAGS"
|
||||||
|
CFLAGS_JDKLIB="$CFLAGS_JDKLIB $ASAN_CFLAGS"
|
||||||
|
CFLAGS_JDKEXE="$CFLAGS_JDKEXE $ASAN_CFLAGS"
|
||||||
|
CXXFLAGS_JDKLIB="$CXXFLAGS_JDKLIB $ASAN_CFLAGS"
|
||||||
|
CXXFLAGS_JDKEXE="$CXXFLAGS_JDKEXE $ASAN_CFLAGS"
|
||||||
|
LDFLAGS_JDKLIB="$LDFLAGS_JDKLIB $ASAN_LDFLAGS"
|
||||||
|
LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE $ASAN_LDFLAGS"
|
||||||
|
ASAN_ENABLED="yes"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
as_fn_error $? "--enable-asan only works with toolchain type gcc or clang" "$LINENO" 5
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
elif test "x$enable_asan" = "xno"; then
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if asan is enabled" >&5
|
||||||
|
$as_echo_n "checking if asan is enabled... " >&6; }
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||||
|
$as_echo "no" >&6; }
|
||||||
|
elif test "x$enable_asan" != "x"; then
|
||||||
|
as_fn_error $? "--enable-asan can only be assigned \"yes\" or \"no\"" "$LINENO" 5
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Need toolchain to setup dtrace
|
# Need toolchain to setup dtrace
|
||||||
|
|
||||||
# Test for dtrace dependencies
|
# Test for dtrace dependencies
|
||||||
|
|
|
@ -399,6 +399,46 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_CODE_COVERAGE],
|
||||||
AC_SUBST(GCOV_ENABLED)
|
AC_SUBST(GCOV_ENABLED)
|
||||||
])
|
])
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
#
|
||||||
|
# AddressSanitizer
|
||||||
|
#
|
||||||
|
AC_DEFUN_ONCE([JDKOPT_SETUP_ADDRESS_SANITIZER],
|
||||||
|
[
|
||||||
|
AC_ARG_ENABLE(asan, [AS_HELP_STRING([--enable-asan],
|
||||||
|
[enable AddressSanitizer if possible @<:@disabled@:>@])])
|
||||||
|
ASAN_ENABLED="no"
|
||||||
|
if test "x$enable_asan" = "xyes"; then
|
||||||
|
case $TOOLCHAIN_TYPE in
|
||||||
|
gcc | clang)
|
||||||
|
AC_MSG_CHECKING([if asan is enabled])
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
ASAN_CFLAGS="-fsanitize=address -fno-omit-frame-pointer"
|
||||||
|
ASAN_LDFLAGS="-fsanitize=address"
|
||||||
|
JVM_CFLAGS="$JVM_CFLAGS $ASAN_CFLAGS"
|
||||||
|
JVM_LDFLAGS="$JVM_LDFLAGS $ASAN_LDFLAGS"
|
||||||
|
CFLAGS_JDKLIB="$CFLAGS_JDKLIB $ASAN_CFLAGS"
|
||||||
|
CFLAGS_JDKEXE="$CFLAGS_JDKEXE $ASAN_CFLAGS"
|
||||||
|
CXXFLAGS_JDKLIB="$CXXFLAGS_JDKLIB $ASAN_CFLAGS"
|
||||||
|
CXXFLAGS_JDKEXE="$CXXFLAGS_JDKEXE $ASAN_CFLAGS"
|
||||||
|
LDFLAGS_JDKLIB="$LDFLAGS_JDKLIB $ASAN_LDFLAGS"
|
||||||
|
LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE $ASAN_LDFLAGS"
|
||||||
|
ASAN_ENABLED="yes"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
AC_MSG_ERROR([--enable-asan only works with toolchain type gcc or clang])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
elif test "x$enable_asan" = "xno"; then
|
||||||
|
AC_MSG_CHECKING([if asan is enabled])
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
elif test "x$enable_asan" != "x"; then
|
||||||
|
AC_MSG_ERROR([--enable-asan can only be assigned "yes" or "no"])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_SUBST(ASAN_ENABLED)
|
||||||
|
])
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
#
|
#
|
||||||
# Static build support. When enabled will generate static
|
# Static build support. When enabled will generate static
|
||||||
|
|
|
@ -127,9 +127,6 @@ SYSROOT_LDFLAGS := @SYSROOT_LDFLAGS@
|
||||||
|
|
||||||
# The top-level directory of the source repository
|
# The top-level directory of the source repository
|
||||||
TOPDIR:=@TOPDIR@
|
TOPDIR:=@TOPDIR@
|
||||||
# These two versions of TOPDIR are used in string comparisons
|
|
||||||
ORIGINAL_TOPDIR:=@ORIGINAL_TOPDIR@
|
|
||||||
CANONICAL_TOPDIR:=@CANONICAL_TOPDIR@
|
|
||||||
|
|
||||||
|
|
||||||
IMPORT_MODULES_CLASSES:=@IMPORT_MODULES_CLASSES@
|
IMPORT_MODULES_CLASSES:=@IMPORT_MODULES_CLASSES@
|
||||||
|
@ -315,6 +312,16 @@ UNLIMITED_CRYPTO=@UNLIMITED_CRYPTO@
|
||||||
|
|
||||||
GCOV_ENABLED=@GCOV_ENABLED@
|
GCOV_ENABLED=@GCOV_ENABLED@
|
||||||
|
|
||||||
|
# AddressSanitizer
|
||||||
|
export ASAN_ENABLED:=@ASAN_ENABLED@
|
||||||
|
export DEVKIT_LIB_DIR:=@DEVKIT_LIB_DIR@
|
||||||
|
ifeq ($(ASAN_ENABLED), yes)
|
||||||
|
export ASAN_OPTIONS="handle_segv=0 detect_leaks=0"
|
||||||
|
ifneq ($(DEVKIT_LIB_DIR),)
|
||||||
|
export LD_LIBRARY_PATH:=$(LD_LIBRARY_PATH):$(DEVKIT_LIB_DIR)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
# Necessary additional compiler flags to compile X11
|
# Necessary additional compiler flags to compile X11
|
||||||
X_CFLAGS:=@X_CFLAGS@
|
X_CFLAGS:=@X_CFLAGS@
|
||||||
X_LIBS:=@X_LIBS@
|
X_LIBS:=@X_LIBS@
|
||||||
|
|
|
@ -249,10 +249,10 @@ SPEC_SUBDIRS += share/specs
|
||||||
# configuration.
|
# configuration.
|
||||||
# Param 1 - Module to find for, set to * for finding all
|
# Param 1 - Module to find for, set to * for finding all
|
||||||
FindAllModuleInfos = \
|
FindAllModuleInfos = \
|
||||||
$(wildcard \
|
$(sort $(wildcard \
|
||||||
$(foreach sub, $(SRC_SUBDIRS), \
|
$(foreach sub, $(SRC_SUBDIRS), \
|
||||||
$(patsubst %,%/$(strip $1)/$(sub)/module-info.java, $(TOP_SRC_DIRS))) \
|
$(patsubst %,%/$(strip $1)/$(sub)/module-info.java, $(TOP_SRC_DIRS))) \
|
||||||
$(patsubst %,%/$(strip $1)/module-info.java, $(IMPORT_MODULES_SRC)))
|
$(patsubst %,%/$(strip $1)/module-info.java, $(IMPORT_MODULES_SRC))))
|
||||||
|
|
||||||
# Find module-info.java files in the specific source dir
|
# Find module-info.java files in the specific source dir
|
||||||
# Param 1 - Src dir to find module-info.java files in
|
# Param 1 - Src dir to find module-info.java files in
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -36,6 +36,7 @@ import java.util.*;
|
||||||
import java.util.ResourceBundle.Control;
|
import java.util.ResourceBundle.Control;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
import javax.xml.parsers.SAXParser;
|
import javax.xml.parsers.SAXParser;
|
||||||
import javax.xml.parsers.SAXParserFactory;
|
import javax.xml.parsers.SAXParserFactory;
|
||||||
import org.xml.sax.SAXNotRecognizedException;
|
import org.xml.sax.SAXNotRecognizedException;
|
||||||
|
@ -217,6 +218,7 @@ public class CLDRConverter {
|
||||||
|
|
||||||
List<Bundle> bundles = readBundleList();
|
List<Bundle> bundles = readBundleList();
|
||||||
convertBundles(bundles);
|
convertBundles(bundles);
|
||||||
|
convertBundles(addedBundles);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void usage() {
|
private static void usage() {
|
||||||
|
@ -293,14 +295,7 @@ public class CLDRConverter {
|
||||||
if (fileName.endsWith(".xml")) {
|
if (fileName.endsWith(".xml")) {
|
||||||
String id = fileName.substring(0, fileName.indexOf('.'));
|
String id = fileName.substring(0, fileName.indexOf('.'));
|
||||||
Locale cldrLoc = Locale.forLanguageTag(toLanguageTag(id));
|
Locale cldrLoc = Locale.forLanguageTag(toLanguageTag(id));
|
||||||
List<Locale> candList = applyParentLocales("", defCon.getCandidateLocales("", cldrLoc));
|
StringBuilder sb = getCandLocales(cldrLoc);
|
||||||
StringBuilder sb = new StringBuilder();
|
|
||||||
for (Locale loc : candList) {
|
|
||||||
if (!loc.equals(Locale.ROOT)) {
|
|
||||||
sb.append(toLocaleName(loc.toLanguageTag()));
|
|
||||||
sb.append(",");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (sb.indexOf("root") == -1) {
|
if (sb.indexOf("root") == -1) {
|
||||||
sb.append("root");
|
sb.append("root");
|
||||||
}
|
}
|
||||||
|
@ -319,6 +314,23 @@ public class CLDRConverter {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final Map<String, Map<String, Object>> cldrBundles = new HashMap<>();
|
private static final Map<String, Map<String, Object>> cldrBundles = new HashMap<>();
|
||||||
|
// this list will contain additional bundles to be generated for Region dependent Data.
|
||||||
|
private static List<Bundle> addedBundles = new ArrayList<>();
|
||||||
|
|
||||||
|
private static Map<String, SortedSet<String>> metaInfo = new HashMap<>();
|
||||||
|
|
||||||
|
static {
|
||||||
|
// For generating information on supported locales.
|
||||||
|
metaInfo.put("LocaleNames", new TreeSet<>());
|
||||||
|
metaInfo.put("CurrencyNames", new TreeSet<>());
|
||||||
|
metaInfo.put("TimeZoneNames", new TreeSet<>());
|
||||||
|
metaInfo.put("CalendarData", new TreeSet<>());
|
||||||
|
metaInfo.put("FormatData", new TreeSet<>());
|
||||||
|
metaInfo.put("AvailableLocales", new TreeSet<>());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static Set<String> calendarDataFields = Set.of("firstDayOfWeek", "minimalDaysInFirstWeek");
|
||||||
|
|
||||||
static Map<String, Object> getCLDRBundle(String id) throws Exception {
|
static Map<String, Object> getCLDRBundle(String id) throws Exception {
|
||||||
Map<String, Object> bundle = cldrBundles.get(id);
|
Map<String, Object> bundle = cldrBundles.get(id);
|
||||||
|
@ -411,16 +423,85 @@ public class CLDRConverter {
|
||||||
parserLikelySubtags.parse(fileLikelySubtags, handlerLikelySubtags);
|
parserLikelySubtags.parse(fileLikelySubtags, handlerLikelySubtags);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void convertBundles(List<Bundle> bundles) throws Exception {
|
/**
|
||||||
// For generating information on supported locales.
|
* This method will check if a new region dependent Bundle needs to be
|
||||||
Map<String, SortedSet<String>> metaInfo = new HashMap<>();
|
* generated for this Locale id and targetMap. New Bundle will be generated
|
||||||
metaInfo.put("LocaleNames", new TreeSet<>());
|
* when Locale id has non empty script and country code and targetMap
|
||||||
metaInfo.put("CurrencyNames", new TreeSet<>());
|
* contains region dependent data. This method will also remove region
|
||||||
metaInfo.put("TimeZoneNames", new TreeSet<>());
|
* dependent data from this targetMap after candidate locales check. E.g. It
|
||||||
metaInfo.put("CalendarData", new TreeSet<>());
|
* will call genRegionDependentBundle() in case of az_Latn_AZ locale and
|
||||||
metaInfo.put("FormatData", new TreeSet<>());
|
* remove region dependent data from this targetMap so that az_Latn_AZ
|
||||||
metaInfo.put("AvailableLocales", new TreeSet<>());
|
* bundle will not be created. For az_Cyrl_AZ, new Bundle will be generated
|
||||||
|
* but region dependent data will not be removed from targetMap as its candidate
|
||||||
|
* locales are [az_Cyrl_AZ, az_Cyrl, root], which does not include az_AZ for
|
||||||
|
* fallback.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
private static void checkRegionDependentBundle(Map<String, Object> targetMap, String id) {
|
||||||
|
if ((CLDRConverter.getScript(id) != "")
|
||||||
|
&& (CLDRConverter.getCountryCode(id) != "")) {
|
||||||
|
Map<String, Object> regionDepDataMap = targetMap
|
||||||
|
.keySet()
|
||||||
|
.stream()
|
||||||
|
.filter(calendarDataFields::contains)
|
||||||
|
.collect(Collectors.toMap(k -> k, targetMap::get));
|
||||||
|
if (!regionDepDataMap.isEmpty()) {
|
||||||
|
Locale cldrLoc = new Locale(CLDRConverter.getLanguageCode(id),
|
||||||
|
CLDRConverter.getCountryCode(id));
|
||||||
|
genRegionDependentBundle(regionDepDataMap, cldrLoc);
|
||||||
|
if (checkCandidateLocales(id, cldrLoc)) {
|
||||||
|
// Remove matchedKeys from this targetMap only if checkCandidateLocales() returns true.
|
||||||
|
regionDepDataMap.keySet().forEach(targetMap::remove);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* This method will generate a new Bundle for region dependent data,
|
||||||
|
* minimalDaysInFirstWeek and firstDayOfWeek. Newly generated Bundle will be added
|
||||||
|
* to addedBundles list.
|
||||||
|
*/
|
||||||
|
private static void genRegionDependentBundle(Map<String, Object> targetMap, Locale cldrLoc) {
|
||||||
|
String localeId = cldrLoc.toString();
|
||||||
|
StringBuilder sb = getCandLocales(cldrLoc);
|
||||||
|
if (sb.indexOf(localeId) == -1) {
|
||||||
|
sb.append(localeId);
|
||||||
|
}
|
||||||
|
Bundle bundle = new Bundle(localeId, sb.toString(), null, null);
|
||||||
|
cldrBundles.put(localeId, targetMap);
|
||||||
|
addedBundles.add(bundle);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static StringBuilder getCandLocales(Locale cldrLoc) {
|
||||||
|
List<Locale> candList = getCandidateLocales(cldrLoc);
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
for (Locale loc : candList) {
|
||||||
|
if (!loc.equals(Locale.ROOT)) {
|
||||||
|
sb.append(toLocaleName(loc.toLanguageTag()));
|
||||||
|
sb.append(",");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sb;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static List<Locale> getCandidateLocales(Locale cldrLoc) {
|
||||||
|
List<Locale> candList = new ArrayList<>();
|
||||||
|
candList = applyParentLocales("", defCon.getCandidateLocales("", cldrLoc));
|
||||||
|
return candList;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method will return true, if for a given locale, its language and
|
||||||
|
* country specific locale will exist in runtime lookup path. E.g. it will
|
||||||
|
* return true for bs_Latn_BA.
|
||||||
|
*/
|
||||||
|
private static boolean checkCandidateLocales(String id, Locale cldrLoc) {
|
||||||
|
return(getCandidateLocales(Locale.forLanguageTag(id.replaceAll("_", "-")))
|
||||||
|
.contains(cldrLoc));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void convertBundles(List<Bundle> bundles) throws Exception {
|
||||||
// parent locales map. The mappings are put in base metaInfo file
|
// parent locales map. The mappings are put in base metaInfo file
|
||||||
// for now.
|
// for now.
|
||||||
if (isBaseModule) {
|
if (isBaseModule) {
|
||||||
|
@ -433,6 +514,8 @@ public class CLDRConverter {
|
||||||
|
|
||||||
Map<String, Object> targetMap = bundle.getTargetMap();
|
Map<String, Object> targetMap = bundle.getTargetMap();
|
||||||
|
|
||||||
|
// check if new region DependentBundle needs to be generated for this Locale.
|
||||||
|
checkRegionDependentBundle(targetMap, bundle.getID());
|
||||||
EnumSet<Bundle.Type> bundleTypes = bundle.getBundleTypes();
|
EnumSet<Bundle.Type> bundleTypes = bundle.getBundleTypes();
|
||||||
|
|
||||||
if (bundle.isRoot()) {
|
if (bundle.isRoot()) {
|
||||||
|
@ -573,6 +656,14 @@ public class CLDRConverter {
|
||||||
return Locale.forLanguageTag(id.replaceAll("_", "-")).getCountry();
|
return Locale.forLanguageTag(id.replaceAll("_", "-")).getCountry();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Returns the script portion of the given id.
|
||||||
|
* If id is "root", "" is returned.
|
||||||
|
*/
|
||||||
|
static String getScript(String id) {
|
||||||
|
return "root".equals(id) ? "" : Locale.forLanguageTag(id.replaceAll("_", "-")).getScript();
|
||||||
|
}
|
||||||
|
|
||||||
private static class KeyComparator implements Comparator<String> {
|
private static class KeyComparator implements Comparator<String> {
|
||||||
static KeyComparator INSTANCE = new KeyComparator();
|
static KeyComparator INSTANCE = new KeyComparator();
|
||||||
|
|
||||||
|
|
|
@ -385,7 +385,8 @@ class FileInputStream extends InputStream
|
||||||
synchronized (this) {
|
synchronized (this) {
|
||||||
fc = this.channel;
|
fc = this.channel;
|
||||||
if (fc == null) {
|
if (fc == null) {
|
||||||
this.channel = fc = FileChannelImpl.open(fd, path, true, false, this);
|
this.channel = fc = FileChannelImpl.open(fd, path, true,
|
||||||
|
false, false, this);
|
||||||
if (closed) {
|
if (closed) {
|
||||||
try {
|
try {
|
||||||
// possible race with close(), benign since
|
// possible race with close(), benign since
|
||||||
|
|
|
@ -410,7 +410,8 @@ class FileOutputStream extends OutputStream
|
||||||
synchronized (this) {
|
synchronized (this) {
|
||||||
fc = this.channel;
|
fc = this.channel;
|
||||||
if (fc == null) {
|
if (fc == null) {
|
||||||
this.channel = fc = FileChannelImpl.open(fd, path, false, true, this);
|
this.channel = fc = FileChannelImpl.open(fd, path, false,
|
||||||
|
true, false, this);
|
||||||
if (closed) {
|
if (closed) {
|
||||||
try {
|
try {
|
||||||
// possible race with close(), benign since
|
// possible race with close(), benign since
|
||||||
|
|
|
@ -698,7 +698,7 @@ public final class FilePermission extends Permission implements Serializable {
|
||||||
if (p2.equals(EMPTY_PATH)) {
|
if (p2.equals(EMPTY_PATH)) {
|
||||||
return 0;
|
return 0;
|
||||||
} else if (p2.getName(0).equals(DOTDOT_PATH)) {
|
} else if (p2.getName(0).equals(DOTDOT_PATH)) {
|
||||||
// "." contains p2 iif p2 has no "..". Since a
|
// "." contains p2 iff p2 has no "..". Since
|
||||||
// a normalized path can only have 0 or more
|
// a normalized path can only have 0 or more
|
||||||
// ".." at the beginning. We only need to look
|
// ".." at the beginning. We only need to look
|
||||||
// at the head.
|
// at the head.
|
||||||
|
@ -711,7 +711,7 @@ public final class FilePermission extends Permission implements Serializable {
|
||||||
} else if (p2.equals(EMPTY_PATH)) {
|
} else if (p2.equals(EMPTY_PATH)) {
|
||||||
int c1 = p1.getNameCount();
|
int c1 = p1.getNameCount();
|
||||||
if (!p1.getName(c1 - 1).equals(DOTDOT_PATH)) {
|
if (!p1.getName(c1 - 1).equals(DOTDOT_PATH)) {
|
||||||
// "." is inside p1 iif p1 is 1 or more "..".
|
// "." is inside p1 iff p1 is 1 or more "..".
|
||||||
// For the same reason above, we only need to
|
// For the same reason above, we only need to
|
||||||
// look at the tail.
|
// look at the tail.
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
@ -298,7 +298,8 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable {
|
||||||
synchronized (this) {
|
synchronized (this) {
|
||||||
fc = this.channel;
|
fc = this.channel;
|
||||||
if (fc == null) {
|
if (fc == null) {
|
||||||
this.channel = fc = FileChannelImpl.open(fd, path, true, rw, this);
|
this.channel = fc = FileChannelImpl.open(fd, path, true,
|
||||||
|
rw, false, this);
|
||||||
if (closed.get()) {
|
if (closed.get()) {
|
||||||
try {
|
try {
|
||||||
fc.close();
|
fc.close();
|
||||||
|
|
|
@ -2664,6 +2664,7 @@ public final class String
|
||||||
* point</a> is passed through uninterpreted.
|
* point</a> is passed through uninterpreted.
|
||||||
*
|
*
|
||||||
* @return an IntStream of char values from this sequence
|
* @return an IntStream of char values from this sequence
|
||||||
|
* @since 9
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public IntStream chars() {
|
public IntStream chars() {
|
||||||
|
@ -2683,6 +2684,7 @@ public final class String
|
||||||
* {@code int} values which are then passed to the stream.
|
* {@code int} values which are then passed to the stream.
|
||||||
*
|
*
|
||||||
* @return an IntStream of Unicode code points from this sequence
|
* @return an IntStream of Unicode code points from this sequence
|
||||||
|
* @since 9
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public IntStream codePoints() {
|
public IntStream codePoints() {
|
||||||
|
|
|
@ -1937,7 +1937,7 @@ public final class System {
|
||||||
// initialization. So make sure the "props" is available at the
|
// initialization. So make sure the "props" is available at the
|
||||||
// very beginning of the initialization and all system properties to
|
// very beginning of the initialization and all system properties to
|
||||||
// be put into it directly.
|
// be put into it directly.
|
||||||
props = new Properties();
|
props = new Properties(84);
|
||||||
initProperties(props); // initialized by the VM
|
initProperties(props); // initialized by the VM
|
||||||
|
|
||||||
// There are certain system configurations that may be controlled by
|
// There are certain system configurations that may be controlled by
|
||||||
|
|
|
@ -88,7 +88,7 @@ final class WeakPairMap<K1, K2, V> {
|
||||||
* Maps the specified key pair to the specified value in this WeakPairMap.
|
* Maps the specified key pair to the specified value in this WeakPairMap.
|
||||||
* Neither the keys nor the value can be null.
|
* Neither the keys nor the value can be null.
|
||||||
* <p>The value can be retrieved by calling the {@link #get} method
|
* <p>The value can be retrieved by calling the {@link #get} method
|
||||||
* with the the same keys (compared by identity).
|
* with the same keys (compared by identity).
|
||||||
*
|
*
|
||||||
* @param k1 the 1st of the pair of keys with which the specified value is to
|
* @param k1 the 1st of the pair of keys with which the specified value is to
|
||||||
* be associated
|
* be associated
|
||||||
|
|
|
@ -765,7 +765,7 @@ public abstract class MethodHandle {
|
||||||
* In every other case, all conversions are applied <em>pairwise</em>,
|
* In every other case, all conversions are applied <em>pairwise</em>,
|
||||||
* which means that each argument or return value is converted to
|
* which means that each argument or return value is converted to
|
||||||
* exactly one argument or return value (or no return value).
|
* exactly one argument or return value (or no return value).
|
||||||
* The applied conversions are defined by consulting the
|
* The applied conversions are defined by consulting
|
||||||
* the corresponding component types of the old and new
|
* the corresponding component types of the old and new
|
||||||
* method handle types.
|
* method handle types.
|
||||||
* <p>
|
* <p>
|
||||||
|
|
|
@ -1196,7 +1196,7 @@ import static jdk.internal.org.objectweb.asm.Opcodes.*;
|
||||||
|
|
||||||
static
|
static
|
||||||
MethodHandle bindCaller(MethodHandle mh, Class<?> hostClass) {
|
MethodHandle bindCaller(MethodHandle mh, Class<?> hostClass) {
|
||||||
// Code in the the boot layer should now be careful while creating method handles or
|
// Code in the boot layer should now be careful while creating method handles or
|
||||||
// functional interface instances created from method references to @CallerSensitive methods,
|
// functional interface instances created from method references to @CallerSensitive methods,
|
||||||
// it needs to be ensured the handles or interface instances are kept safe and are not passed
|
// it needs to be ensured the handles or interface instances are kept safe and are not passed
|
||||||
// from the boot layer to untrusted code.
|
// from the boot layer to untrusted code.
|
||||||
|
|
|
@ -194,8 +194,8 @@ public final class StringConcatFactory {
|
||||||
static {
|
static {
|
||||||
// In case we need to double-back onto the StringConcatFactory during this
|
// In case we need to double-back onto the StringConcatFactory during this
|
||||||
// static initialization, make sure we have the reasonable defaults to complete
|
// static initialization, make sure we have the reasonable defaults to complete
|
||||||
// the static initialization properly. After that, actual users would use the
|
// the static initialization properly. After that, actual users would use
|
||||||
// the proper values we have read from the the properties.
|
// the proper values we have read from the properties.
|
||||||
STRATEGY = DEFAULT_STRATEGY;
|
STRATEGY = DEFAULT_STRATEGY;
|
||||||
// CACHE_ENABLE = false; // implied
|
// CACHE_ENABLE = false; // implied
|
||||||
// CACHE = null; // implied
|
// CACHE = null; // implied
|
||||||
|
@ -398,8 +398,8 @@ public final class StringConcatFactory {
|
||||||
* <p>Then the following linkage invariants must hold:
|
* <p>Then the following linkage invariants must hold:
|
||||||
*
|
*
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>The parameter count in {@code concatType} is less than or equal to 200</li>
|
* <li>The number of parameter slots in {@code concatType} is
|
||||||
*
|
* less than or equal to 200</li>
|
||||||
* <li>The return type in {@code concatType} is assignable from {@link java.lang.String}</li>
|
* <li>The return type in {@code concatType} is assignable from {@link java.lang.String}</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*
|
*
|
||||||
|
@ -487,8 +487,8 @@ public final class StringConcatFactory {
|
||||||
* <p>Then the following linkage invariants must hold:
|
* <p>Then the following linkage invariants must hold:
|
||||||
*
|
*
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>The parameter count in {@code concatType} is less than or equal to
|
* <li>The number of parameter slots in {@code concatType} is less than
|
||||||
* 200</li>
|
* or equal to 200</li>
|
||||||
*
|
*
|
||||||
* <li>The parameter count in {@code concatType} equals to number of \1 tags
|
* <li>The parameter count in {@code concatType} equals to number of \1 tags
|
||||||
* in {@code recipe}</li>
|
* in {@code recipe}</li>
|
||||||
|
@ -613,9 +613,9 @@ public final class StringConcatFactory {
|
||||||
concatType.returnType());
|
concatType.returnType());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (concatType.parameterCount() > MAX_INDY_CONCAT_ARG_SLOTS) {
|
if (concatType.parameterSlotCount() > MAX_INDY_CONCAT_ARG_SLOTS) {
|
||||||
throw new StringConcatException("Too many concat argument slots: " +
|
throw new StringConcatException("Too many concat argument slots: " +
|
||||||
concatType.parameterCount() +
|
concatType.parameterSlotCount() +
|
||||||
", can only accept " +
|
", can only accept " +
|
||||||
MAX_INDY_CONCAT_ARG_SLOTS);
|
MAX_INDY_CONCAT_ARG_SLOTS);
|
||||||
}
|
}
|
||||||
|
|
|
@ -205,7 +205,7 @@ import static java.lang.invoke.MethodHandleStatics.newInternalError;
|
||||||
* and {@code double} on 32-bit platforms.
|
* and {@code double} on 32-bit platforms.
|
||||||
*
|
*
|
||||||
* <p>Access modes will override any memory ordering effects specified at
|
* <p>Access modes will override any memory ordering effects specified at
|
||||||
* the declaration site of a variable. For example, a VarHandle accessing a
|
* the declaration site of a variable. For example, a VarHandle accessing
|
||||||
* a field using the {@code get} access mode will access the field as
|
* a field using the {@code get} access mode will access the field as
|
||||||
* specified <em>by its access mode</em> even if that field is declared
|
* specified <em>by its access mode</em> even if that field is declared
|
||||||
* {@code volatile}. When mixed access is performed extreme care should be
|
* {@code volatile}. When mixed access is performed extreme care should be
|
||||||
|
@ -423,7 +423,7 @@ import static java.lang.invoke.MethodHandleStatics.newInternalError;
|
||||||
* {@link java.lang.invoke.MethodHandles#varHandleInvoker}.
|
* {@link java.lang.invoke.MethodHandles#varHandleInvoker}.
|
||||||
*
|
*
|
||||||
* <h1>Interoperation between VarHandles and Java generics</h1>
|
* <h1>Interoperation between VarHandles and Java generics</h1>
|
||||||
* A VarHandle can be obtained for a variable, such as a a field, which is
|
* A VarHandle can be obtained for a variable, such as a field, which is
|
||||||
* declared with Java generic types. As with the Core Reflection API, the
|
* declared with Java generic types. As with the Core Reflection API, the
|
||||||
* VarHandle's variable type will be constructed from the erasure of the
|
* VarHandle's variable type will be constructed from the erasure of the
|
||||||
* source-level type. When a VarHandle access mode method is invoked, the
|
* source-level type. When a VarHandle access mode method is invoked, the
|
||||||
|
|
|
@ -988,7 +988,7 @@ class DatagramSocket implements java.io.Closeable {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the SO_RCVBUF option to the specified value for this
|
* Sets the SO_RCVBUF option to the specified value for this
|
||||||
* {@code DatagramSocket}. The SO_RCVBUF option is used by the
|
* {@code DatagramSocket}. The SO_RCVBUF option is used by
|
||||||
* the network implementation as a hint to size the underlying
|
* the network implementation as a hint to size the underlying
|
||||||
* network I/O buffers. The SO_RCVBUF setting may also be used
|
* network I/O buffers. The SO_RCVBUF setting may also be used
|
||||||
* by the network implementation to determine the maximum size
|
* by the network implementation to determine the maximum size
|
||||||
|
|
|
@ -143,7 +143,7 @@ class Inet4Address extends InetAddress {
|
||||||
/**
|
/**
|
||||||
* Prior to 1.4 an InetAddress was created with a family
|
* Prior to 1.4 an InetAddress was created with a family
|
||||||
* based on the platform AF_INET value (usually 2).
|
* based on the platform AF_INET value (usually 2).
|
||||||
* For compatibility reasons we must therefore write the
|
* For compatibility reasons we must therefore write
|
||||||
* the InetAddress with this family.
|
* the InetAddress with this family.
|
||||||
*/
|
*/
|
||||||
inet.holder().family = 2;
|
inet.holder().family = 2;
|
||||||
|
|
|
@ -333,7 +333,7 @@ public abstract class SocketImpl implements SocketOptions {
|
||||||
* latency, and low latency above short connection time, then it could
|
* latency, and low latency above short connection time, then it could
|
||||||
* invoke this method with the values {@code (0, 1, 2)}.
|
* invoke this method with the values {@code (0, 1, 2)}.
|
||||||
*
|
*
|
||||||
* By default, this method does nothing, unless it is overridden in a
|
* By default, this method does nothing, unless it is overridden in
|
||||||
* a sub-class.
|
* a sub-class.
|
||||||
*
|
*
|
||||||
* @param connectionTime
|
* @param connectionTime
|
||||||
|
|
|
@ -657,7 +657,7 @@ class SocksSocketImpl extends PlainSocketImpl implements SocksConsts {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sends the Bind request to the SOCKS proxy. In the SOCKS protocol, bind
|
* Sends the Bind request to the SOCKS proxy. In the SOCKS protocol, bind
|
||||||
* means "accept incoming connection from", so the SocketAddress is the
|
* means "accept incoming connection from", so the SocketAddress is
|
||||||
* the one of the host we do accept connection from.
|
* the one of the host we do accept connection from.
|
||||||
*
|
*
|
||||||
* @param saddr the Socket address of the remote host.
|
* @param saddr the Socket address of the remote host.
|
||||||
|
|
|
@ -785,7 +785,7 @@ public abstract class URLConnection {
|
||||||
* required to make the connection. By default, this method
|
* required to make the connection. By default, this method
|
||||||
* returns {@code java.security.AllPermission}. Subclasses
|
* returns {@code java.security.AllPermission}. Subclasses
|
||||||
* should override this method and return the permission
|
* should override this method and return the permission
|
||||||
* that best represents the permission required to make a
|
* that best represents the permission required to make
|
||||||
* a connection to the URL. For example, a {@code URLConnection}
|
* a connection to the URL. For example, a {@code URLConnection}
|
||||||
* representing a {@code file:} URL would return a
|
* representing a {@code file:} URL would return a
|
||||||
* {@code java.io.FilePermission} object.
|
* {@code java.io.FilePermission} object.
|
||||||
|
|
|
@ -165,7 +165,7 @@ public abstract class AsynchronousFileChannel
|
||||||
* <tr>
|
* <tr>
|
||||||
* <th scope="row" > {@link StandardOpenOption#DELETE_ON_CLOSE DELETE_ON_CLOSE} </th>
|
* <th scope="row" > {@link StandardOpenOption#DELETE_ON_CLOSE DELETE_ON_CLOSE} </th>
|
||||||
* <td> When this option is present then the implementation makes a
|
* <td> When this option is present then the implementation makes a
|
||||||
* <em>best effort</em> attempt to delete the file when closed by the
|
* <em>best effort</em> attempt to delete the file when closed by
|
||||||
* the {@link #close close} method. If the {@code close} method is not
|
* the {@link #close close} method. If the {@code close} method is not
|
||||||
* invoked then a <em>best effort</em> attempt is made to delete the file
|
* invoked then a <em>best effort</em> attempt is made to delete the file
|
||||||
* when the Java virtual machine terminates. </td>
|
* when the Java virtual machine terminates. </td>
|
||||||
|
|
|
@ -216,7 +216,7 @@ public abstract class FileChannel
|
||||||
* <tr>
|
* <tr>
|
||||||
* <th scope="row" > {@link StandardOpenOption#DELETE_ON_CLOSE DELETE_ON_CLOSE} </th>
|
* <th scope="row" > {@link StandardOpenOption#DELETE_ON_CLOSE DELETE_ON_CLOSE} </th>
|
||||||
* <td> When this option is present then the implementation makes a
|
* <td> When this option is present then the implementation makes a
|
||||||
* <em>best effort</em> attempt to delete the file when closed by the
|
* <em>best effort</em> attempt to delete the file when closed by
|
||||||
* the {@link #close close} method. If the {@code close} method is not
|
* the {@link #close close} method. If the {@code close} method is not
|
||||||
* invoked then a <em>best effort</em> attempt is made to delete the file
|
* invoked then a <em>best effort</em> attempt is made to delete the file
|
||||||
* when the Java virtual machine terminates. </td>
|
* when the Java virtual machine terminates. </td>
|
||||||
|
|
|
@ -3301,7 +3301,7 @@ public final class Files {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Writes bytes to a file. The {@code options} parameter specifies how the
|
* Writes bytes to a file. The {@code options} parameter specifies how
|
||||||
* the file is created or opened. If no options are present then this method
|
* the file is created or opened. If no options are present then this method
|
||||||
* works as if the {@link StandardOpenOption#CREATE CREATE}, {@link
|
* works as if the {@link StandardOpenOption#CREATE CREATE}, {@link
|
||||||
* StandardOpenOption#TRUNCATE_EXISTING TRUNCATE_EXISTING}, and {@link
|
* StandardOpenOption#TRUNCATE_EXISTING TRUNCATE_EXISTING}, and {@link
|
||||||
|
|
|
@ -84,7 +84,7 @@ import sun.security.util.Debug;
|
||||||
* exists (e.g., so-called <i>community parameters</i> in DSA), there are two
|
* exists (e.g., so-called <i>community parameters</i> in DSA), there are two
|
||||||
* {@link #initialize(java.security.spec.AlgorithmParameterSpec)
|
* {@link #initialize(java.security.spec.AlgorithmParameterSpec)
|
||||||
* initialize} methods that have an {@code AlgorithmParameterSpec}
|
* initialize} methods that have an {@code AlgorithmParameterSpec}
|
||||||
* argument. One also has a {@code SecureRandom} argument, while the
|
* argument. One also has a {@code SecureRandom} argument, while
|
||||||
* the other uses the {@code SecureRandom}
|
* the other uses the {@code SecureRandom}
|
||||||
* implementation of the highest-priority installed provider as the source
|
* implementation of the highest-priority installed provider as the source
|
||||||
* of randomness. (If none of the installed providers supply an implementation
|
* of randomness. (If none of the installed providers supply an implementation
|
||||||
|
|
|
@ -4775,7 +4775,7 @@ public final class DateTimeFormatterBuilder {
|
||||||
//-----------------------------------------------------------------------
|
//-----------------------------------------------------------------------
|
||||||
/**
|
/**
|
||||||
* Prints or parses a localized pattern from a localized field.
|
* Prints or parses a localized pattern from a localized field.
|
||||||
* The specific formatter and parameters is not selected until the
|
* The specific formatter and parameters is not selected until
|
||||||
* the field is to be printed or parsed.
|
* the field is to be printed or parsed.
|
||||||
* The locale is needed to select the proper WeekFields from which
|
* The locale is needed to select the proper WeekFields from which
|
||||||
* the field for day-of-week, week-of-month, or week-of-year is selected.
|
* the field for day-of-week, week-of-month, or week-of-year is selected.
|
||||||
|
|
|
@ -311,7 +311,7 @@ public final class WeekFields implements Serializable {
|
||||||
* the new month or year.
|
* the new month or year.
|
||||||
* <p>
|
* <p>
|
||||||
* WeekFields instances are singletons; for each unique combination
|
* WeekFields instances are singletons; for each unique combination
|
||||||
* of {@code firstDayOfWeek} and {@code minimalDaysInFirstWeek} the
|
* of {@code firstDayOfWeek} and {@code minimalDaysInFirstWeek}
|
||||||
* the same instance will be returned.
|
* the same instance will be returned.
|
||||||
*
|
*
|
||||||
* @param firstDayOfWeek the first day of the week, not null
|
* @param firstDayOfWeek the first day of the week, not null
|
||||||
|
|
|
@ -56,7 +56,7 @@ import java.nio.charset.StandardCharsets;
|
||||||
* base64 alphabet.</p></li>
|
* base64 alphabet.</p></li>
|
||||||
*
|
*
|
||||||
* <li><a id="mime"><b>MIME</b></a>
|
* <li><a id="mime"><b>MIME</b></a>
|
||||||
* <p> Uses the "The Base64 Alphabet" as specified in Table 1 of
|
* <p> Uses "The Base64 Alphabet" as specified in Table 1 of
|
||||||
* RFC 2045 for encoding and decoding operation. The encoded output
|
* RFC 2045 for encoding and decoding operation. The encoded output
|
||||||
* must be represented in lines of no more than 76 characters each
|
* must be represented in lines of no more than 76 characters each
|
||||||
* and uses a carriage return {@code '\r'} followed immediately by
|
* and uses a carriage return {@code '\r'} followed immediately by
|
||||||
|
|
|
@ -48,8 +48,8 @@ public class EventObject implements java.io.Serializable {
|
||||||
/**
|
/**
|
||||||
* Constructs a prototypical Event.
|
* Constructs a prototypical Event.
|
||||||
*
|
*
|
||||||
* @param source The object on which the Event initially occurred.
|
* @param source the object on which the Event initially occurred
|
||||||
* @exception IllegalArgumentException if source is null.
|
* @throws IllegalArgumentException if source is null
|
||||||
*/
|
*/
|
||||||
public EventObject(Object source) {
|
public EventObject(Object source) {
|
||||||
if (source == null)
|
if (source == null)
|
||||||
|
@ -61,7 +61,7 @@ public class EventObject implements java.io.Serializable {
|
||||||
/**
|
/**
|
||||||
* The object on which the Event initially occurred.
|
* The object on which the Event initially occurred.
|
||||||
*
|
*
|
||||||
* @return The object on which the Event initially occurred.
|
* @return the object on which the Event initially occurred
|
||||||
*/
|
*/
|
||||||
public Object getSource() {
|
public Object getSource() {
|
||||||
return source;
|
return source;
|
||||||
|
@ -70,7 +70,7 @@ public class EventObject implements java.io.Serializable {
|
||||||
/**
|
/**
|
||||||
* Returns a String representation of this EventObject.
|
* Returns a String representation of this EventObject.
|
||||||
*
|
*
|
||||||
* @return A a String representation of this EventObject.
|
* @return a String representation of this EventObject
|
||||||
*/
|
*/
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return getClass().getName() + "[source=" + source + "]";
|
return getClass().getName() + "[source=" + source + "]";
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
package java.util;
|
package java.util;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* FomattableFlags are passed to the {@link Formattable#formatTo
|
* FormattableFlags are passed to the {@link Formattable#formatTo
|
||||||
* Formattable.formatTo()} method and modify the output format for {@linkplain
|
* Formattable.formatTo()} method and modify the output format for {@linkplain
|
||||||
* Formattable Formattables}. Implementations of {@link Formattable} are
|
* Formattable Formattables}. Implementations of {@link Formattable} are
|
||||||
* responsible for interpreting and validating any flags.
|
* responsible for interpreting and validating any flags.
|
||||||
|
|
|
@ -1909,7 +1909,7 @@ public final class Locale implements Cloneable, Serializable {
|
||||||
* Returns a name for the locale that is appropriate for display to the
|
* Returns a name for the locale that is appropriate for display to the
|
||||||
* user. This will be the values returned by getDisplayLanguage(),
|
* user. This will be the values returned by getDisplayLanguage(),
|
||||||
* getDisplayScript(), getDisplayCountry(), and getDisplayVariant() assembled
|
* getDisplayScript(), getDisplayCountry(), and getDisplayVariant() assembled
|
||||||
* into a single string. The the non-empty values are used in order,
|
* into a single string. The non-empty values are used in order,
|
||||||
* with the second and subsequent names in parentheses. For example:
|
* with the second and subsequent names in parentheses. For example:
|
||||||
* <blockquote>
|
* <blockquote>
|
||||||
* language (script, country, variant)<br>
|
* language (script, country, variant)<br>
|
||||||
|
|
|
@ -122,6 +122,10 @@ import jdk.internal.util.xml.PropertiesDefaultHandler;
|
||||||
* <p>This class is thread-safe: multiple threads can share a single
|
* <p>This class is thread-safe: multiple threads can share a single
|
||||||
* {@code Properties} object without the need for external synchronization.
|
* {@code Properties} object without the need for external synchronization.
|
||||||
*
|
*
|
||||||
|
* @apiNote
|
||||||
|
* The {@code Properties} class does not inherit the concept of a load factor
|
||||||
|
* from its superclass, {@code Hashtable}.
|
||||||
|
*
|
||||||
* @author Arthur van Hoff
|
* @author Arthur van Hoff
|
||||||
* @author Michael McCloskey
|
* @author Michael McCloskey
|
||||||
* @author Xueming Shen
|
* @author Xueming Shen
|
||||||
|
@ -148,25 +152,49 @@ class Properties extends Hashtable<Object,Object> {
|
||||||
* simple read operations. Writes and bulk operations remain synchronized,
|
* simple read operations. Writes and bulk operations remain synchronized,
|
||||||
* as in Hashtable.
|
* as in Hashtable.
|
||||||
*/
|
*/
|
||||||
private transient ConcurrentHashMap<Object, Object> map =
|
private transient ConcurrentHashMap<Object, Object> map;
|
||||||
new ConcurrentHashMap<>(8);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an empty property list with no default values.
|
* Creates an empty property list with no default values.
|
||||||
|
*
|
||||||
|
* @implNote The initial capacity of a {@code Properties} object created
|
||||||
|
* with this constructor is unspecified.
|
||||||
*/
|
*/
|
||||||
public Properties() {
|
public Properties() {
|
||||||
this(null);
|
this(null, 8);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates an empty property list with no default values, and with an
|
||||||
|
* initial size accommodating the specified number of elements without the
|
||||||
|
* need to dynamically resize.
|
||||||
|
*
|
||||||
|
* @param initialCapacity the {@code Properties} will be sized to
|
||||||
|
* accommodate this many elements
|
||||||
|
* @throws IllegalArgumentException if the initial capacity is less than
|
||||||
|
* zero.
|
||||||
|
*/
|
||||||
|
public Properties(int initialCapacity) {
|
||||||
|
this(null, initialCapacity);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an empty property list with the specified defaults.
|
* Creates an empty property list with the specified defaults.
|
||||||
*
|
*
|
||||||
|
* @implNote The initial capacity of a {@code Properties} object created
|
||||||
|
* with this constructor is unspecified.
|
||||||
|
*
|
||||||
* @param defaults the defaults.
|
* @param defaults the defaults.
|
||||||
*/
|
*/
|
||||||
public Properties(Properties defaults) {
|
public Properties(Properties defaults) {
|
||||||
|
this(defaults, 8);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Properties(Properties defaults, int initialCapacity) {
|
||||||
// use package-private constructor to
|
// use package-private constructor to
|
||||||
// initialize unused fields with dummy values
|
// initialize unused fields with dummy values
|
||||||
super((Void) null);
|
super((Void) null);
|
||||||
|
map = new ConcurrentHashMap<>(initialCapacity);
|
||||||
this.defaults = defaults;
|
this.defaults = defaults;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2743,7 +2743,7 @@ public abstract class ResourceBundle {
|
||||||
* of multiple subtags separated by underscore, generate candidate
|
* of multiple subtags separated by underscore, generate candidate
|
||||||
* <code>Locale</code>s by omitting the variant subtags one by one, then
|
* <code>Locale</code>s by omitting the variant subtags one by one, then
|
||||||
* insert them after every occurrence of <code> Locale</code>s with the
|
* insert them after every occurrence of <code> Locale</code>s with the
|
||||||
* full variant value in the original list. For example, if the
|
* full variant value in the original list. For example, if
|
||||||
* the variant consists of two subtags <em>V1</em> and <em>V2</em>:
|
* the variant consists of two subtags <em>V1</em> and <em>V2</em>:
|
||||||
*
|
*
|
||||||
* <ul>
|
* <ul>
|
||||||
|
|
|
@ -1409,7 +1409,7 @@ public final class ServiceLoader<S>
|
||||||
*
|
*
|
||||||
* <p> To achieve laziness the actual work of locating providers is done
|
* <p> To achieve laziness the actual work of locating providers is done
|
||||||
* when processing the stream. If a service provider cannot be loaded for any
|
* when processing the stream. If a service provider cannot be loaded for any
|
||||||
* of the the reasons specified in the <a href="#errors">Errors</a> section
|
* of the reasons specified in the <a href="#errors">Errors</a> section
|
||||||
* above then {@link ServiceConfigurationError} is thrown by whatever method
|
* above then {@link ServiceConfigurationError} is thrown by whatever method
|
||||||
* caused the service provider to be loaded. </p>
|
* caused the service provider to be loaded. </p>
|
||||||
*
|
*
|
||||||
|
|
|
@ -134,7 +134,7 @@ import sun.security.util.Debug;
|
||||||
* setting the value of the {@code auth.policy.provider} security property to
|
* setting the value of the {@code auth.policy.provider} security property to
|
||||||
* the fully qualified name of the desired {@code Policy} implementation class.
|
* the fully qualified name of the desired {@code Policy} implementation class.
|
||||||
*
|
*
|
||||||
* @deprecated as of JDK version 1.4 -- Replaced by java.security.Policy.
|
* @deprecated Replaced by java.security.Policy.
|
||||||
* java.security.Policy has a method:
|
* java.security.Policy has a method:
|
||||||
* <pre>
|
* <pre>
|
||||||
* public PermissionCollection getPermissions
|
* public PermissionCollection getPermissions
|
||||||
|
@ -152,11 +152,12 @@ import sun.security.util.Debug;
|
||||||
*
|
*
|
||||||
* These two APIs provide callers the means to query the
|
* These two APIs provide callers the means to query the
|
||||||
* Policy for Principal-based Permission entries.
|
* Policy for Principal-based Permission entries.
|
||||||
|
* This class is subject to removal in a future version of Java SE.
|
||||||
*
|
*
|
||||||
* @since 1.4
|
* @since 1.4
|
||||||
* @see java.security.Security security properties
|
* @see java.security.Security security properties
|
||||||
*/
|
*/
|
||||||
@Deprecated(since="1.4")
|
@Deprecated(since="1.4", forRemoval=true)
|
||||||
public abstract class Policy {
|
public abstract class Policy {
|
||||||
|
|
||||||
private static Policy policy;
|
private static Policy policy;
|
||||||
|
|
|
@ -29,7 +29,6 @@ import java.security.AccessController;
|
||||||
import java.security.Permission;
|
import java.security.Permission;
|
||||||
import java.security.Permissions;
|
import java.security.Permissions;
|
||||||
import java.security.PermissionCollection;
|
import java.security.PermissionCollection;
|
||||||
import java.security.Policy;
|
|
||||||
import java.security.Principal;
|
import java.security.Principal;
|
||||||
import java.security.PrivilegedAction;
|
import java.security.PrivilegedAction;
|
||||||
import java.security.ProtectionDomain;
|
import java.security.ProtectionDomain;
|
||||||
|
@ -57,7 +56,7 @@ public class SubjectDomainCombiner implements java.security.DomainCombiner {
|
||||||
sun.security.util.Debug.getInstance("combiner",
|
sun.security.util.Debug.getInstance("combiner",
|
||||||
"\t[SubjectDomainCombiner]");
|
"\t[SubjectDomainCombiner]");
|
||||||
|
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings({"deprecation", "removal"})
|
||||||
// Note: check only at classloading time, not dynamically during combine()
|
// Note: check only at classloading time, not dynamically during combine()
|
||||||
private static final boolean useJavaxPolicy =
|
private static final boolean useJavaxPolicy =
|
||||||
javax.security.auth.Policy.isCustomPolicySet(debug);
|
javax.security.auth.Policy.isCustomPolicySet(debug);
|
||||||
|
@ -303,7 +302,7 @@ public class SubjectDomainCombiner implements java.security.DomainCombiner {
|
||||||
if (!allowCaching) {
|
if (!allowCaching) {
|
||||||
java.security.AccessController.doPrivileged
|
java.security.AccessController.doPrivileged
|
||||||
(new PrivilegedAction<Void>() {
|
(new PrivilegedAction<Void>() {
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings({"deprecation", "removal"})
|
||||||
public Void run() {
|
public Void run() {
|
||||||
// Call refresh only caching is disallowed
|
// Call refresh only caching is disallowed
|
||||||
javax.security.auth.Policy.getPolicy().refresh();
|
javax.security.auth.Policy.getPolicy().refresh();
|
||||||
|
@ -374,7 +373,7 @@ public class SubjectDomainCombiner implements java.security.DomainCombiner {
|
||||||
PermissionCollection newPerms =
|
PermissionCollection newPerms =
|
||||||
java.security.AccessController.doPrivileged
|
java.security.AccessController.doPrivileged
|
||||||
(new PrivilegedAction<PermissionCollection>() {
|
(new PrivilegedAction<PermissionCollection>() {
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings({"deprecation", "removal"})
|
||||||
public PermissionCollection run() {
|
public PermissionCollection run() {
|
||||||
return
|
return
|
||||||
javax.security.auth.Policy.getPolicy().getPermissions
|
javax.security.auth.Policy.getPolicy().getPermissions
|
||||||
|
|
|
@ -238,7 +238,7 @@ public final class BootstrapLogger implements Logger, PlatformLogger.Bridge,
|
||||||
// This way we could simply do things like:
|
// This way we could simply do things like:
|
||||||
// push((logger) -> logger.log(level, msg));
|
// push((logger) -> logger.log(level, msg));
|
||||||
// Unfortunately, if we come to here it means we are in the bootsraping
|
// Unfortunately, if we come to here it means we are in the bootsraping
|
||||||
// phase where using lambdas is not safe yet - so we have to use a
|
// phase where using lambdas is not safe yet - so we have to use
|
||||||
// a data object instead...
|
// a data object instead...
|
||||||
//
|
//
|
||||||
static final class LogEvent {
|
static final class LogEvent {
|
||||||
|
|
|
@ -66,7 +66,7 @@ import jdk.internal.perf.PerfCounter;
|
||||||
* -m and --add-modules options. The modules are located on a module path that
|
* -m and --add-modules options. The modules are located on a module path that
|
||||||
* is constructed from the upgrade module path, system modules, and application
|
* is constructed from the upgrade module path, system modules, and application
|
||||||
* module path. The Configuration is instantiated as the boot layer with each
|
* module path. The Configuration is instantiated as the boot layer with each
|
||||||
* module in the the configuration defined to a class loader.
|
* module in the configuration defined to a class loader.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public final class ModuleBootstrap {
|
public final class ModuleBootstrap {
|
||||||
|
|
|
@ -74,7 +74,7 @@ public class ModuleHashesBuilder {
|
||||||
* the outgoing edges from M to non-candidate modules.
|
* the outgoing edges from M to non-candidate modules.
|
||||||
*/
|
*/
|
||||||
public Map<String, ModuleHashes> computeHashes(Set<String> roots) {
|
public Map<String, ModuleHashes> computeHashes(Set<String> roots) {
|
||||||
// build a graph containing the the packaged modules and
|
// build a graph containing the packaged modules and
|
||||||
// its transitive dependences matching --hash-modules
|
// its transitive dependences matching --hash-modules
|
||||||
Graph.Builder<String> builder = new Graph.Builder<>();
|
Graph.Builder<String> builder = new Graph.Builder<>();
|
||||||
Deque<ResolvedModule> deque = new ArrayDeque<>(configuration.modules());
|
Deque<ResolvedModule> deque = new ArrayDeque<>(configuration.modules());
|
||||||
|
|
|
@ -56,7 +56,7 @@ public final class Resources {
|
||||||
/**
|
/**
|
||||||
* Derive a <em>package name</em> for a resource. The package name
|
* Derive a <em>package name</em> for a resource. The package name
|
||||||
* returned by this method may not be a legal package name. This method
|
* returned by this method may not be a legal package name. This method
|
||||||
* returns null if the the resource name ends with a "/" (a directory)
|
* returns null if the resource name ends with a "/" (a directory)
|
||||||
* or the resource name does not contain a "/".
|
* or the resource name does not contain a "/".
|
||||||
*/
|
*/
|
||||||
public static String toPackageName(String name) {
|
public static String toPackageName(String name) {
|
||||||
|
|
|
@ -192,7 +192,7 @@ final class Frame {
|
||||||
private static final int LOCAL = 0x2000000;
|
private static final int LOCAL = 0x2000000;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Kind of the the types that are relative to the stack of an input stack
|
* Kind of the types that are relative to the stack of an input stack
|
||||||
* map frame. The value of such types is a position relatively to the top of
|
* map frame. The value of such types is a position relatively to the top of
|
||||||
* this stack.
|
* this stack.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -2888,7 +2888,7 @@ public class HttpURLConnection extends java.net.HttpURLConnection {
|
||||||
/*
|
/*
|
||||||
* If we have an input stream this means we received a response
|
* If we have an input stream this means we received a response
|
||||||
* from the server. That stream may have been read to EOF and
|
* from the server. That stream may have been read to EOF and
|
||||||
* dependening on the stream type may already be closed or the
|
* depending on the stream type may already be closed or
|
||||||
* the http client may be returned to the keep-alive cache.
|
* the http client may be returned to the keep-alive cache.
|
||||||
* If the http client has been returned to the keep-alive cache
|
* If the http client has been returned to the keep-alive cache
|
||||||
* it may be closed (idle timeout) or may be allocated to
|
* it may be closed (idle timeout) or may be allocated to
|
||||||
|
|
|
@ -140,13 +140,6 @@ public class FileChannelImpl
|
||||||
|
|
||||||
// Used by FileInputStream.getChannel(), FileOutputStream.getChannel
|
// Used by FileInputStream.getChannel(), FileOutputStream.getChannel
|
||||||
// and RandomAccessFile.getChannel()
|
// and RandomAccessFile.getChannel()
|
||||||
public static FileChannel open(FileDescriptor fd, String path,
|
|
||||||
boolean readable, boolean writable,
|
|
||||||
Object parent)
|
|
||||||
{
|
|
||||||
return new FileChannelImpl(fd, path, readable, writable, false, parent);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static FileChannel open(FileDescriptor fd, String path,
|
public static FileChannel open(FileDescriptor fd, String path,
|
||||||
boolean readable, boolean writable,
|
boolean readable, boolean writable,
|
||||||
boolean direct, Object parent)
|
boolean direct, Object parent)
|
||||||
|
|
|
@ -66,7 +66,7 @@ public class ParameterizedTypeImpl implements ParameterizedType {
|
||||||
/**
|
/**
|
||||||
* Static factory. Given a (generic) class, actual type arguments
|
* Static factory. Given a (generic) class, actual type arguments
|
||||||
* and an owner type, creates a parameterized type.
|
* and an owner type, creates a parameterized type.
|
||||||
* This class can be instantiated with a a raw type that does not
|
* This class can be instantiated with a raw type that does not
|
||||||
* represent a generic type, provided the list of actual type
|
* represent a generic type, provided the list of actual type
|
||||||
* arguments is empty.
|
* arguments is empty.
|
||||||
* If the ownerType argument is null, the declaring class of the
|
* If the ownerType argument is null, the declaring class of the
|
||||||
|
|
|
@ -65,6 +65,7 @@ import sun.security.util.PropertyExpander;
|
||||||
* This class is entirely deprecated.
|
* This class is entirely deprecated.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
|
@SuppressWarnings("removal")
|
||||||
public class AuthPolicyFile extends javax.security.auth.Policy {
|
public class AuthPolicyFile extends javax.security.auth.Policy {
|
||||||
|
|
||||||
static final ResourceBundle rb =
|
static final ResourceBundle rb =
|
||||||
|
@ -410,7 +411,7 @@ public class AuthPolicyFile extends javax.security.auth.Policy {
|
||||||
certs = null;
|
certs = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// only add if we had no signer or we had a
|
// only add if we had no signer or we had
|
||||||
// a signer and found the keys for it.
|
// a signer and found the keys for it.
|
||||||
if (certs != null || pe.signedBy == null) {
|
if (certs != null || pe.signedBy == null) {
|
||||||
Permission perm = new UnresolvedPermission(
|
Permission perm = new UnresolvedPermission(
|
||||||
|
|
|
@ -789,7 +789,7 @@ public class PolicyFile extends java.security.Policy {
|
||||||
certs = null;
|
certs = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// only add if we had no signer or we had a
|
// only add if we had no signer or we had
|
||||||
// a signer and found the keys for it.
|
// a signer and found the keys for it.
|
||||||
if (certs != null || pe.signedBy == null) {
|
if (certs != null || pe.signedBy == null) {
|
||||||
Permission perm = new UnresolvedPermission(
|
Permission perm = new UnresolvedPermission(
|
||||||
|
|
|
@ -154,7 +154,7 @@ class SubjectCodeSource extends CodeSource implements java.io.Serializable {
|
||||||
*
|
*
|
||||||
* @param codesource the <code>CodeSource</code> to compare against.
|
* @param codesource the <code>CodeSource</code> to compare against.
|
||||||
*
|
*
|
||||||
* @return true if this <code>SubjectCodeSource</code> implies the
|
* @return true if this <code>SubjectCodeSource</code> implies
|
||||||
* the specified <code>CodeSource</code>.
|
* the specified <code>CodeSource</code>.
|
||||||
*/
|
*/
|
||||||
public boolean implies(CodeSource codesource) {
|
public boolean implies(CodeSource codesource) {
|
||||||
|
|
|
@ -119,7 +119,7 @@ public final class ResponderId {
|
||||||
* When encoded in DER this object will use the byKey option, a
|
* When encoded in DER this object will use the byKey option, a
|
||||||
* SHA-1 hash of the responder's public key.
|
* SHA-1 hash of the responder's public key.
|
||||||
*
|
*
|
||||||
* @param pubKey the the OCSP responder's public key
|
* @param pubKey the OCSP responder's public key
|
||||||
*
|
*
|
||||||
* @throws IOException if the internal DER-encoding of the
|
* @throws IOException if the internal DER-encoding of the
|
||||||
* {@code KeyIdentifier} fails.
|
* {@code KeyIdentifier} fails.
|
||||||
|
|
|
@ -94,7 +94,7 @@ public class SunCertPathBuilderException extends CertPathBuilderException {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a <code>SunCertPathBuilderException</code> withe the specified
|
* Creates a <code>SunCertPathBuilderException</code> with the specified
|
||||||
* detail message and adjacency list.
|
* detail message and adjacency list.
|
||||||
*
|
*
|
||||||
* @param msg the detail message
|
* @param msg the detail message
|
||||||
|
|
|
@ -145,7 +145,7 @@ final class CertStatusReqItemV2 {
|
||||||
* @return the encoded length of this {@code CertStatusReqItemV2}
|
* @return the encoded length of this {@code CertStatusReqItemV2}
|
||||||
*/
|
*/
|
||||||
int length() {
|
int length() {
|
||||||
// The length is the the status type (1 byte) + the request length
|
// The length is the status type (1 byte) + the request length
|
||||||
// field (2 bytes) + the StatusRequest data length.
|
// field (2 bytes) + the StatusRequest data length.
|
||||||
return request.length() + 3;
|
return request.length() + 3;
|
||||||
}
|
}
|
||||||
|
|
|
@ -539,7 +539,7 @@ final class DTLSInputRecord extends InputRecord implements DTLSRecord {
|
||||||
|
|
||||||
// Should be repacked for suitable fragment length.
|
// Should be repacked for suitable fragment length.
|
||||||
//
|
//
|
||||||
// Note that the acquiring processes will reassemble the
|
// Note that the acquiring processes will reassemble
|
||||||
// the fragments later.
|
// the fragments later.
|
||||||
return compareToSequence(o.recordEpoch, o.recordSeq);
|
return compareToSequence(o.recordEpoch, o.recordSeq);
|
||||||
}
|
}
|
||||||
|
|
|
@ -188,7 +188,7 @@ final class MAC extends Authenticator {
|
||||||
* @param type record type
|
* @param type record type
|
||||||
* @param bb a ByteBuffer in which the position and limit
|
* @param bb a ByteBuffer in which the position and limit
|
||||||
* demarcate the data to be MAC'd.
|
* demarcate the data to be MAC'd.
|
||||||
* @param isSimulated if true, simulate the the MAC computation
|
* @param isSimulated if true, simulate the MAC computation
|
||||||
*
|
*
|
||||||
* @return the MAC result
|
* @return the MAC result
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -333,7 +333,7 @@ final class TrustStoreManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load the the KeyStore as described in the specified descriptor.
|
* Load the KeyStore as described in the specified descriptor.
|
||||||
*/
|
*/
|
||||||
private static KeyStore loadKeyStore(
|
private static KeyStore loadKeyStore(
|
||||||
TrustStoreDescriptor descriptor) throws Exception {
|
TrustStoreDescriptor descriptor) throws Exception {
|
||||||
|
|
|
@ -724,7 +724,8 @@ public class SignatureFileVerifier {
|
||||||
if (signers == null) {
|
if (signers == null) {
|
||||||
signers = new ArrayList<>();
|
signers = new ArrayList<>();
|
||||||
}
|
}
|
||||||
// Append the new code signer
|
// Append the new code signer. If timestamp is invalid, this
|
||||||
|
// jar will be treated as unsigned.
|
||||||
signers.add(new CodeSigner(certChain, info.getTimestamp()));
|
signers.add(new CodeSigner(certChain, info.getTimestamp()));
|
||||||
|
|
||||||
if (debug != null) {
|
if (debug != null) {
|
||||||
|
|
|
@ -1485,7 +1485,7 @@ public class X509CertImpl extends X509Certificate implements DerEncoder {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the certificate constraints path length from the
|
* Get the certificate constraints path length from
|
||||||
* the critical BasicConstraints extension, (oid = 2.5.29.19).
|
* the critical BasicConstraints extension, (oid = 2.5.29.19).
|
||||||
* @return the length of the constraint.
|
* @return the length of the constraint.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -592,7 +592,7 @@ abstract class Trie2 implements Iterable<Trie2.Range> {
|
||||||
// may be lower when iterating over the code points for a single lead surrogate.
|
// may be lower when iterating over the code points for a single lead surrogate.
|
||||||
private int limitCP;
|
private int limitCP;
|
||||||
|
|
||||||
// True while iterating over the the Trie2 values for code points.
|
// True while iterating over the Trie2 values for code points.
|
||||||
// False while iterating over the alternate values for lead surrogates.
|
// False while iterating over the alternate values for lead surrogates.
|
||||||
private boolean doingCodePoints = true;
|
private boolean doingCodePoints = true;
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,7 @@ import jdk.internal.logger.LoggerWrapper;
|
||||||
*
|
*
|
||||||
* If the logging facility is not enabled, the platform loggers
|
* If the logging facility is not enabled, the platform loggers
|
||||||
* will output log messages per the default logging configuration
|
* will output log messages per the default logging configuration
|
||||||
* (see below). In this implementation, it does not log the
|
* (see below). In this implementation, it does not log
|
||||||
* the stack frame information issuing the log message.
|
* the stack frame information issuing the log message.
|
||||||
*
|
*
|
||||||
* When the logging facility is enabled (at startup or runtime),
|
* When the logging facility is enabled (at startup or runtime),
|
||||||
|
|
|
@ -110,7 +110,7 @@ class UnixChannelFactory {
|
||||||
static FileChannel newFileChannel(int fd, String path, boolean reading, boolean writing) {
|
static FileChannel newFileChannel(int fd, String path, boolean reading, boolean writing) {
|
||||||
FileDescriptor fdObj = new FileDescriptor();
|
FileDescriptor fdObj = new FileDescriptor();
|
||||||
fdAccess.set(fdObj, fd);
|
fdAccess.set(fdObj, fd);
|
||||||
return FileChannelImpl.open(fdObj, path, reading, writing, null);
|
return FileChannelImpl.open(fdObj, path, reading, writing, false, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -183,7 +183,6 @@ public enum SourceVersion {
|
||||||
case "10":
|
case "10":
|
||||||
return RELEASE_10;
|
return RELEASE_10;
|
||||||
case "9":
|
case "9":
|
||||||
case "1.9":
|
|
||||||
return RELEASE_9;
|
return RELEASE_9;
|
||||||
case "1.8":
|
case "1.8":
|
||||||
return RELEASE_8;
|
return RELEASE_8;
|
||||||
|
|
|
@ -75,7 +75,7 @@ public abstract class AbstractAnnotationValueVisitor6<R, P>
|
||||||
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
||||||
* release level.
|
* release level.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated(since="9")
|
||||||
protected AbstractAnnotationValueVisitor6() {}
|
protected AbstractAnnotationValueVisitor6() {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -75,7 +75,7 @@ public abstract class AbstractElementVisitor6<R, P> implements ElementVisitor<R,
|
||||||
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
||||||
* release level.
|
* release level.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated(since="9")
|
||||||
protected AbstractElementVisitor6(){}
|
protected AbstractElementVisitor6(){}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -74,7 +74,7 @@ public abstract class AbstractTypeVisitor6<R, P> implements TypeVisitor<R, P> {
|
||||||
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
||||||
* release level.
|
* release level.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated(since="9")
|
||||||
protected AbstractTypeVisitor6() {}
|
protected AbstractTypeVisitor6() {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -91,7 +91,7 @@ public class ElementKindVisitor6<R, P>
|
||||||
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
||||||
* release level.
|
* release level.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated(since="9")
|
||||||
protected ElementKindVisitor6() {
|
protected ElementKindVisitor6() {
|
||||||
super(null);
|
super(null);
|
||||||
}
|
}
|
||||||
|
@ -104,7 +104,7 @@ public class ElementKindVisitor6<R, P>
|
||||||
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
||||||
* release level.
|
* release level.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated(since="9")
|
||||||
protected ElementKindVisitor6(R defaultValue) {
|
protected ElementKindVisitor6(R defaultValue) {
|
||||||
super(defaultValue);
|
super(defaultValue);
|
||||||
}
|
}
|
||||||
|
|
|
@ -106,7 +106,7 @@ public class ElementScanner6<R, P> extends AbstractElementVisitor6<R, P> {
|
||||||
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
||||||
* release level.
|
* release level.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated(since="9")
|
||||||
protected ElementScanner6(){
|
protected ElementScanner6(){
|
||||||
DEFAULT_VALUE = null;
|
DEFAULT_VALUE = null;
|
||||||
}
|
}
|
||||||
|
@ -119,7 +119,7 @@ public class ElementScanner6<R, P> extends AbstractElementVisitor6<R, P> {
|
||||||
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
||||||
* release level.
|
* release level.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated(since="9")
|
||||||
protected ElementScanner6(R defaultValue){
|
protected ElementScanner6(R defaultValue){
|
||||||
DEFAULT_VALUE = defaultValue;
|
DEFAULT_VALUE = defaultValue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -92,7 +92,7 @@ public class SimpleAnnotationValueVisitor6<R, P>
|
||||||
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
||||||
* release level.
|
* release level.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated(since="9")
|
||||||
protected SimpleAnnotationValueVisitor6() {
|
protected SimpleAnnotationValueVisitor6() {
|
||||||
super();
|
super();
|
||||||
DEFAULT_VALUE = null;
|
DEFAULT_VALUE = null;
|
||||||
|
@ -106,7 +106,7 @@ public class SimpleAnnotationValueVisitor6<R, P>
|
||||||
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
||||||
* release level.
|
* release level.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated(since="9")
|
||||||
protected SimpleAnnotationValueVisitor6(R defaultValue) {
|
protected SimpleAnnotationValueVisitor6(R defaultValue) {
|
||||||
super();
|
super();
|
||||||
DEFAULT_VALUE = defaultValue;
|
DEFAULT_VALUE = defaultValue;
|
||||||
|
|
|
@ -94,7 +94,7 @@ public class SimpleElementVisitor6<R, P> extends AbstractElementVisitor6<R, P> {
|
||||||
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
||||||
* release level.
|
* release level.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated(since="9")
|
||||||
protected SimpleElementVisitor6(){
|
protected SimpleElementVisitor6(){
|
||||||
DEFAULT_VALUE = null;
|
DEFAULT_VALUE = null;
|
||||||
}
|
}
|
||||||
|
@ -107,7 +107,7 @@ public class SimpleElementVisitor6<R, P> extends AbstractElementVisitor6<R, P> {
|
||||||
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
||||||
* release level.
|
* release level.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated(since="9")
|
||||||
protected SimpleElementVisitor6(R defaultValue){
|
protected SimpleElementVisitor6(R defaultValue){
|
||||||
DEFAULT_VALUE = defaultValue;
|
DEFAULT_VALUE = defaultValue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,7 +94,7 @@ public class SimpleTypeVisitor6<R, P> extends AbstractTypeVisitor6<R, P> {
|
||||||
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
||||||
* release level.
|
* release level.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated(since="9")
|
||||||
protected SimpleTypeVisitor6(){
|
protected SimpleTypeVisitor6(){
|
||||||
DEFAULT_VALUE = null;
|
DEFAULT_VALUE = null;
|
||||||
}
|
}
|
||||||
|
@ -107,7 +107,7 @@ public class SimpleTypeVisitor6<R, P> extends AbstractTypeVisitor6<R, P> {
|
||||||
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
||||||
* release level.
|
* release level.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated(since="9")
|
||||||
protected SimpleTypeVisitor6(R defaultValue){
|
protected SimpleTypeVisitor6(R defaultValue){
|
||||||
DEFAULT_VALUE = defaultValue;
|
DEFAULT_VALUE = defaultValue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -85,7 +85,7 @@ public class TypeKindVisitor6<R, P> extends SimpleTypeVisitor6<R, P> {
|
||||||
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
||||||
* release level.
|
* release level.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated(since="9")
|
||||||
protected TypeKindVisitor6() {
|
protected TypeKindVisitor6() {
|
||||||
super(null);
|
super(null);
|
||||||
}
|
}
|
||||||
|
@ -99,7 +99,7 @@ public class TypeKindVisitor6<R, P> extends SimpleTypeVisitor6<R, P> {
|
||||||
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
* @deprecated Release 6 is obsolete; update to a visitor for a newer
|
||||||
* release level.
|
* release level.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated(since="9")
|
||||||
protected TypeKindVisitor6(R defaultValue) {
|
protected TypeKindVisitor6(R defaultValue) {
|
||||||
super(defaultValue);
|
super(defaultValue);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -96,7 +96,7 @@ public class ToolProvider {
|
||||||
* locate system tools as well as user-installed tools.
|
* locate system tools as well as user-installed tools.
|
||||||
* @return a class loader, or {@code null}
|
* @return a class loader, or {@code null}
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated(since="9")
|
||||||
public static ClassLoader getSystemToolClassLoader() {
|
public static ClassLoader getSystemToolClassLoader() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* reserved comment block
|
* Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT REMOVE OR ALTER!
|
* @LastModified: Oct 2017
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@ -181,6 +181,7 @@ public abstract class Utility {
|
||||||
* @throws IOException if a failure from reading from the bytes argument
|
* @throws IOException if a failure from reading from the bytes argument
|
||||||
* occurs
|
* occurs
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("fallthrough") // by design for case Const.INSTANCEOF
|
||||||
public static String codeToString(final ByteSequence bytes, final ConstantPool constant_pool,
|
public static String codeToString(final ByteSequence bytes, final ConstantPool constant_pool,
|
||||||
final boolean verbose) throws IOException {
|
final boolean verbose) throws IOException {
|
||||||
final short opcode = (short) bytes.readUnsignedByte();
|
final short opcode = (short) bytes.readUnsignedByte();
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* reserved comment block
|
* Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT REMOVE OR ALTER!
|
* @LastModified: Oct 2017
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@ -175,6 +175,7 @@ class BCELFactory extends EmptyVisitor {
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@SuppressWarnings("fallthrough") // by design for case Const.ANEWARRAY
|
||||||
public void visitAllocationInstruction( final AllocationInstruction i ) {
|
public void visitAllocationInstruction( final AllocationInstruction i ) {
|
||||||
Type type;
|
Type type;
|
||||||
if (i instanceof CPInstruction) {
|
if (i instanceof CPInstruction) {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* reserved comment block
|
* Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT REMOVE OR ALTER!
|
* @LastModified: Oct 2017
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@ -54,6 +54,7 @@ final class Message extends Instruction {
|
||||||
return Type.Void;
|
return Type.Void;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("fallthrough") // at default
|
||||||
public void translate(ClassGenerator classGen, MethodGenerator methodGen) {
|
public void translate(ClassGenerator classGen, MethodGenerator methodGen) {
|
||||||
final ConstantPoolGen cpg = classGen.getConstantPool();
|
final ConstantPoolGen cpg = classGen.getConstantPool();
|
||||||
final InstructionList il = methodGen.getInstructionList();
|
final InstructionList il = methodGen.getInstructionList();
|
||||||
|
|
|
@ -232,6 +232,7 @@ final class Step extends RelativeLocationPath {
|
||||||
translateStep(classGen, methodGen, hasPredicates() ? _predicates.size() - 1 : -1);
|
translateStep(classGen, methodGen, hasPredicates() ? _predicates.size() - 1 : -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("fallthrough") // at case NodeTest.ANODE and NodeTest.ELEMENT
|
||||||
private void translateStep(ClassGenerator classGen,
|
private void translateStep(ClassGenerator classGen,
|
||||||
MethodGenerator methodGen,
|
MethodGenerator methodGen,
|
||||||
int predicateIndex) {
|
int predicateIndex) {
|
||||||
|
|
|
@ -191,6 +191,7 @@ final class Whitespace extends TopLevelElement {
|
||||||
* Scans through the rules vector and looks for a rule of higher
|
* Scans through the rules vector and looks for a rule of higher
|
||||||
* priority that contradicts the current rule.
|
* priority that contradicts the current rule.
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("fallthrough") // case RULE_NAMESPACE
|
||||||
private static WhitespaceRule findContradictingRule(List<WhitespaceRule> rules,
|
private static WhitespaceRule findContradictingRule(List<WhitespaceRule> rules,
|
||||||
WhitespaceRule rule) {
|
WhitespaceRule rule) {
|
||||||
for (WhitespaceRule currentRule : rules) {
|
for (WhitespaceRule currentRule : rules) {
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* @LastModified: Oct 2017
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@ -73,6 +74,7 @@ class XPathLexer implements com.sun.java_cup.internal.runtime.Scanner {
|
||||||
* name instead of a keyword (Jira-1912). Look two tokens behind
|
* name instead of a keyword (Jira-1912). Look two tokens behind
|
||||||
* to desambiguate expressions like "* and *" or "and * and".
|
* to desambiguate expressions like "* and *" or "and * and".
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("fallthrough")
|
||||||
Symbol disambiguateOperator(int ss) throws Exception {
|
Symbol disambiguateOperator(int ss) throws Exception {
|
||||||
switch (last) {
|
switch (last) {
|
||||||
case sym.STAR:
|
case sym.STAR:
|
||||||
|
@ -745,6 +747,7 @@ class XPathLexer implements com.sun.java_cup.internal.runtime.Scanner {
|
||||||
":13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3,184:" +
|
":13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3,184:" +
|
||||||
"4,232,184:8,-1:2,184:10,-1:3,76,184,76:3");
|
"4,232,184:8,-1:2,184:10,-1:3,76,184,76:3");
|
||||||
|
|
||||||
|
@SuppressWarnings("fallthrough") // at case 18 and -1
|
||||||
public com.sun.java_cup.internal.runtime.Symbol next_token ()
|
public com.sun.java_cup.internal.runtime.Symbol next_token ()
|
||||||
throws java.io.IOException,
|
throws java.io.IOException,
|
||||||
Exception
|
Exception
|
||||||
|
|
|
@ -1591,13 +1591,13 @@ class parser_actions {
|
||||||
RESULT = new CurrentCall(fname);
|
RESULT = new CurrentCall(fname);
|
||||||
}
|
}
|
||||||
else if (fname == parser.getQNameIgnoreDefaultNs("number")) {
|
else if (fname == parser.getQNameIgnoreDefaultNs("number")) {
|
||||||
RESULT = new NumberCall(fname, parser.EmptyArgs);
|
RESULT = new NumberCall(fname, XPathParser.EmptyArgs);
|
||||||
}
|
}
|
||||||
else if (fname == parser.getQNameIgnoreDefaultNs("string")) {
|
else if (fname == parser.getQNameIgnoreDefaultNs("string")) {
|
||||||
RESULT = new StringCall(fname, parser.EmptyArgs);
|
RESULT = new StringCall(fname, XPathParser.EmptyArgs);
|
||||||
}
|
}
|
||||||
else if (fname == parser.getQNameIgnoreDefaultNs("concat")) {
|
else if (fname == parser.getQNameIgnoreDefaultNs("concat")) {
|
||||||
RESULT = new ConcatCall(fname, parser.EmptyArgs);
|
RESULT = new ConcatCall(fname, XPathParser.EmptyArgs);
|
||||||
}
|
}
|
||||||
else if (fname == parser.getQNameIgnoreDefaultNs("true")) {
|
else if (fname == parser.getQNameIgnoreDefaultNs("true")) {
|
||||||
RESULT = new BooleanExpr(true);
|
RESULT = new BooleanExpr(true);
|
||||||
|
@ -1609,10 +1609,10 @@ class parser_actions {
|
||||||
RESULT = new NameCall(fname);
|
RESULT = new NameCall(fname);
|
||||||
}
|
}
|
||||||
else if (fname == parser.getQNameIgnoreDefaultNs("generate-id")) {
|
else if (fname == parser.getQNameIgnoreDefaultNs("generate-id")) {
|
||||||
RESULT = new GenerateIdCall(fname, parser.EmptyArgs);
|
RESULT = new GenerateIdCall(fname, XPathParser.EmptyArgs);
|
||||||
}
|
}
|
||||||
else if (fname == parser.getQNameIgnoreDefaultNs("string-length")) {
|
else if (fname == parser.getQNameIgnoreDefaultNs("string-length")) {
|
||||||
RESULT = new StringLengthCall(fname, parser.EmptyArgs);
|
RESULT = new StringLengthCall(fname, XPathParser.EmptyArgs);
|
||||||
}
|
}
|
||||||
else if (fname == parser.getQNameIgnoreDefaultNs("position")) {
|
else if (fname == parser.getQNameIgnoreDefaultNs("position")) {
|
||||||
RESULT = new PositionCall(fname);
|
RESULT = new PositionCall(fname);
|
||||||
|
@ -1627,7 +1627,7 @@ class parser_actions {
|
||||||
RESULT = new NamespaceUriCall(fname);
|
RESULT = new NamespaceUriCall(fname);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
RESULT = new FunctionCall(fname, parser.EmptyArgs);
|
RESULT = new FunctionCall(fname, XPathParser.EmptyArgs);
|
||||||
}
|
}
|
||||||
|
|
||||||
parser_result = new Symbol(16/*FunctionCall*/, (parser_stack.get(parser_top-2)).left, (parser_stack.get(parser_top-0)).right, RESULT);
|
parser_result = new Symbol(16/*FunctionCall*/, (parser_stack.get(parser_top-2)).left, (parser_stack.get(parser_top-0)).right, RESULT);
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* @LastModified: Oct 2017
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@ -1278,11 +1279,13 @@ public final class SAXImpl extends SAX2DTM2
|
||||||
// For "attribute::p:*", the principal node kind is
|
// For "attribute::p:*", the principal node kind is
|
||||||
// attribute
|
// attribute
|
||||||
m_baseIterator = getAxisIterator(axis);
|
m_baseIterator = getAxisIterator(axis);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
case Axis.NAMESPACE: {
|
case Axis.NAMESPACE: {
|
||||||
// This covers "namespace::p:*". It is syntactically
|
// This covers "namespace::p:*". It is syntactically
|
||||||
// correct, though it doesn't make much sense.
|
// correct, though it doesn't make much sense.
|
||||||
m_baseIterator = getAxisIterator(axis);
|
m_baseIterator = getAxisIterator(axis);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
default: {
|
default: {
|
||||||
// In all other cases, the principal node kind is
|
// In all other cases, the principal node kind is
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* reserved comment block
|
* Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT REMOVE OR ALTER!
|
* @LastModified: Oct 2017
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@ -145,6 +145,7 @@ public class TransletOutputHandlerFactory {
|
||||||
_indentNumber = value;
|
_indentNumber = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("fallthrough") // intentional at case STAX, SAX
|
||||||
public SerializationHandler getSerializationHandler()
|
public SerializationHandler getSerializationHandler()
|
||||||
throws IOException, ParserConfigurationException
|
throws IOException, ParserConfigurationException
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* reserved comment block
|
* Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT REMOVE OR ALTER!
|
* @LastModified: Oct 2017
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@ -161,8 +161,8 @@ public class DeferredDocumentTypeImpl
|
||||||
if (((DocumentImpl)getOwnerDocument()).allowGrammarAccess){
|
if (((DocumentImpl)getOwnerDocument()).allowGrammarAccess){
|
||||||
insertBefore(node, last);
|
insertBefore(node, last);
|
||||||
last = node;
|
last = node;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// NOTE: Should never get here! -Ac
|
// NOTE: Should never get here! -Ac
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* reserved comment block
|
* Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT REMOVE OR ALTER!
|
* @LastModified: Oct 2017
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@ -439,7 +439,7 @@ class XSDElementTraverser extends XSDAbstractTraverser {
|
||||||
fSchemaHandler.checkForDuplicateNames(
|
fSchemaHandler.checkForDuplicateNames(
|
||||||
(schemaDoc.fTargetNamespace == null) ? ","+DOMUtil.getAttrValue(child, SchemaSymbols.ATT_NAME)
|
(schemaDoc.fTargetNamespace == null) ? ","+DOMUtil.getAttrValue(child, SchemaSymbols.ATT_NAME)
|
||||||
: schemaDoc.fTargetNamespace+","+ DOMUtil.getAttrValue(child, SchemaSymbols.ATT_NAME),
|
: schemaDoc.fTargetNamespace+","+ DOMUtil.getAttrValue(child, SchemaSymbols.ATT_NAME),
|
||||||
fSchemaHandler.ATTRIBUTE_TYPE, fSchemaHandler.getIDRegistry(), fSchemaHandler.getIDRegistry_sub(),
|
XSDHandler.ATTRIBUTE_TYPE, fSchemaHandler.getIDRegistry(), fSchemaHandler.getIDRegistry_sub(),
|
||||||
child, schemaDoc);
|
child, schemaDoc);
|
||||||
}
|
}
|
||||||
} else if (childName.equals(SchemaSymbols.ELT_KEYREF)) {
|
} else if (childName.equals(SchemaSymbols.ELT_KEYREF)) {
|
||||||
|
|
|
@ -3025,6 +3025,7 @@ public class XSDHandler {
|
||||||
return newComponents;
|
return newComponents;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("fallthrough")
|
||||||
private void expandRelatedComponents(XSObject component,List<XSObject>componentList, Map<String, List<String>> dependencies) {
|
private void expandRelatedComponents(XSObject component,List<XSObject>componentList, Map<String, List<String>> dependencies) {
|
||||||
short componentType = component.getType();
|
short componentType = component.getType();
|
||||||
switch (componentType) {
|
switch (componentType) {
|
||||||
|
|
|
@ -600,6 +600,7 @@ public class AbstractDOMParser extends AbstractXMLDocumentParser {
|
||||||
*
|
*
|
||||||
* @throws XNIException Thrown by application to signal an error.
|
* @throws XNIException Thrown by application to signal an error.
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("fallthrough") // by design at case LSParserFilter.FILTER_SKIP
|
||||||
public void comment (XMLString text, Augmentations augs) throws XNIException {
|
public void comment (XMLString text, Augmentations augs) throws XNIException {
|
||||||
if (fInDTD) {
|
if (fInDTD) {
|
||||||
if (fInternalSubset != null && !fInDTDExternalSubset) {
|
if (fInternalSubset != null && !fInDTDExternalSubset) {
|
||||||
|
@ -673,6 +674,7 @@ public class AbstractDOMParser extends AbstractXMLDocumentParser {
|
||||||
*
|
*
|
||||||
* @throws XNIException Thrown by handler to signal an error.
|
* @throws XNIException Thrown by handler to signal an error.
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("fallthrough") // by design at case LSParserFilter.FILTER_REJECT
|
||||||
public void processingInstruction (String target, XMLString data, Augmentations augs)
|
public void processingInstruction (String target, XMLString data, Augmentations augs)
|
||||||
throws XNIException {
|
throws XNIException {
|
||||||
|
|
||||||
|
@ -1416,6 +1418,7 @@ public class AbstractDOMParser extends AbstractXMLDocumentParser {
|
||||||
*
|
*
|
||||||
* @throws XNIException Thrown by handler to signal an error.
|
* @throws XNIException Thrown by handler to signal an error.
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("fallthrough") // by design at case LSParserFilter.FILTER_REJECT
|
||||||
public void endCDATA (Augmentations augs) throws XNIException {
|
public void endCDATA (Augmentations augs) throws XNIException {
|
||||||
|
|
||||||
fInCDATASection = false;
|
fInCDATASection = false;
|
||||||
|
@ -2596,6 +2599,7 @@ public class AbstractDOMParser extends AbstractXMLDocumentParser {
|
||||||
* or removed fFistChunk must be set to true, otherwise some data can be lost.
|
* or removed fFistChunk must be set to true, otherwise some data can be lost.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("fallthrough") // by design at case LSParserFilter.FILTER_REJECT
|
||||||
protected void setCharacterData (boolean sawChars){
|
protected void setCharacterData (boolean sawChars){
|
||||||
|
|
||||||
// handle character data
|
// handle character data
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* reserved comment block
|
* Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT REMOVE OR ALTER!
|
* @LastModified: Oct 2017
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@ -1697,6 +1697,7 @@ implements DTM, org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler
|
||||||
* @return String Value of this node, or null if not
|
* @return String Value of this node, or null if not
|
||||||
* meaningful for this node type.
|
* meaningful for this node type.
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("fallthrough")
|
||||||
public String getNodeValue(int nodeHandle)
|
public String getNodeValue(int nodeHandle)
|
||||||
{
|
{
|
||||||
nodes.readSlot(nodeHandle, gotslot);
|
nodes.readSlot(nodeHandle, gotslot);
|
||||||
|
|
|
@ -1651,6 +1651,7 @@ public class DOM2DTM extends DTMDefaultBaseIterators
|
||||||
* @param node Node whose subtree is to be walked, gathering the
|
* @param node Node whose subtree is to be walked, gathering the
|
||||||
* contents of all Text or CDATASection nodes.
|
* contents of all Text or CDATASection nodes.
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("fallthrough")
|
||||||
protected static void dispatchNodeData(Node node,
|
protected static void dispatchNodeData(Node node,
|
||||||
org.xml.sax.ContentHandler ch,
|
org.xml.sax.ContentHandler ch,
|
||||||
int depth)
|
int depth)
|
||||||
|
|
|
@ -1020,6 +1020,7 @@ public abstract class BaseMarkupSerializer
|
||||||
* @throws IOException An I/O exception occured while
|
* @throws IOException An I/O exception occured while
|
||||||
* serializing
|
* serializing
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("fallthrough") // by design at case Node.DOCUMENT_FRAGMENT_NODE
|
||||||
protected void serializeNode( Node node )
|
protected void serializeNode( Node node )
|
||||||
throws IOException
|
throws IOException
|
||||||
{
|
{
|
||||||
|
|
|
@ -62,6 +62,7 @@ public class FilterExprWalker extends AxesWalker
|
||||||
*
|
*
|
||||||
* @throws javax.xml.transform.TransformerException
|
* @throws javax.xml.transform.TransformerException
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("fallthrough")
|
||||||
public void init(Compiler compiler, int opPos, int stepType)
|
public void init(Compiler compiler, int opPos, int stepType)
|
||||||
throws javax.xml.transform.TransformerException
|
throws javax.xml.transform.TransformerException
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* reserved comment block
|
* Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT REMOVE OR ALTER!
|
* @LastModified: Oct 2017
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@ -299,7 +299,7 @@ public class MatchPatternIterator extends LocPathIterator
|
||||||
System.out.println(", "+m_cdtm.getNodeName(n));
|
System.out.println(", "+m_cdtm.getNodeName(n));
|
||||||
// if(m_cdtm.getNodeName(n).equals("near-east"))
|
// if(m_cdtm.getNodeName(n).equals("near-east"))
|
||||||
System.out.println("pattern: "+m_pattern.toString());
|
System.out.println("pattern: "+m_pattern.toString());
|
||||||
m_pattern.debugWhatToShow(m_pattern.getWhatToShow());
|
NodeTest.debugWhatToShow(m_pattern.getWhatToShow());
|
||||||
}
|
}
|
||||||
|
|
||||||
XObject score = m_pattern.execute(xctxt);
|
XObject score = m_pattern.execute(xctxt);
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* reserved comment block
|
* Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT REMOVE OR ALTER!
|
* @LastModified: Oct 2017
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@ -554,6 +554,7 @@ public class WalkerFactory
|
||||||
*
|
*
|
||||||
* @throws javax.xml.transform.TransformerException
|
* @throws javax.xml.transform.TransformerException
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("fallthrough") // by design at case OpCodes.FROM_DESCENDANTS
|
||||||
private static boolean isOptimizableForDescendantIterator(
|
private static boolean isOptimizableForDescendantIterator(
|
||||||
Compiler compiler, int stepOpCodePos, int stepIndex)
|
Compiler compiler, int stepOpCodePos, int stepIndex)
|
||||||
throws javax.xml.transform.TransformerException
|
throws javax.xml.transform.TransformerException
|
||||||
|
@ -1102,7 +1103,7 @@ public class WalkerFactory
|
||||||
System.out.print(", predAxis: " + Axis.getNames(ai.getAxis()));
|
System.out.print(", predAxis: " + Axis.getNames(ai.getAxis()));
|
||||||
System.out.print(", what: ");
|
System.out.print(", what: ");
|
||||||
System.out.print(" ");
|
System.out.print(" ");
|
||||||
ai.debugWhatToShow(ai.getWhatToShow());
|
NodeTest.debugWhatToShow(ai.getWhatToShow());
|
||||||
}
|
}
|
||||||
|
|
||||||
int argLen = compiler.getFirstPredicateOpPos(opPos);
|
int argLen = compiler.getFirstPredicateOpPos(opPos);
|
||||||
|
@ -1621,6 +1622,7 @@ public class WalkerFactory
|
||||||
*
|
*
|
||||||
* @throws javax.xml.transform.TransformerException
|
* @throws javax.xml.transform.TransformerException
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("fallthrough") // by design at case OpCodes.FROM_ROOT
|
||||||
private static boolean isNaturalDocOrder(
|
private static boolean isNaturalDocOrder(
|
||||||
Compiler compiler, int stepOpCodePos, int stepIndex, int analysis)
|
Compiler compiler, int stepOpCodePos, int stepIndex, int analysis)
|
||||||
throws javax.xml.transform.TransformerException
|
throws javax.xml.transform.TransformerException
|
||||||
|
|
|
@ -106,6 +106,7 @@ class Lexer
|
||||||
*
|
*
|
||||||
* @throws javax.xml.transform.TransformerException
|
* @throws javax.xml.transform.TransformerException
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("fallthrough") // on purpose at case '-', '(' and default
|
||||||
void tokenize(String pat, List<String> targetStrings)
|
void tokenize(String pat, List<String> targetStrings)
|
||||||
throws javax.xml.transform.TransformerException
|
throws javax.xml.transform.TransformerException
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* reserved comment block
|
* Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT REMOVE OR ALTER!
|
* @LastModified: Oct 2017
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@ -65,7 +65,7 @@ public class ContextMatchStepPattern extends StepPattern
|
||||||
if (xctxt.getIteratorRoot() == xctxt.getCurrentNode())
|
if (xctxt.getIteratorRoot() == xctxt.getCurrentNode())
|
||||||
return getStaticScore();
|
return getStaticScore();
|
||||||
else
|
else
|
||||||
return this.SCORE_NONE;
|
return NodeTest.SCORE_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -116,7 +116,7 @@ public class StepPattern extends NodeTest implements SubContextList, ExpressionO
|
||||||
m_targetString = PsuedoNames.PSEUDONAME_ROOT;
|
m_targetString = PsuedoNames.PSEUDONAME_ROOT;
|
||||||
break;
|
break;
|
||||||
case DTMFilter.SHOW_ELEMENT :
|
case DTMFilter.SHOW_ELEMENT :
|
||||||
if (this.WILD == m_name)
|
if (WILD.equals(m_name))
|
||||||
m_targetString = PsuedoNames.PSEUDONAME_ANY;
|
m_targetString = PsuedoNames.PSEUDONAME_ANY;
|
||||||
else
|
else
|
||||||
m_targetString = m_name;
|
m_targetString = m_name;
|
||||||
|
|
|
@ -586,7 +586,7 @@ public class ParserAdapter implements XMLReader, DocumentHandler
|
||||||
// note funky case: localname can be null
|
// note funky case: localname can be null
|
||||||
// when declaring the default prefix, and
|
// when declaring the default prefix, and
|
||||||
// yet the uri isn't null.
|
// yet the uri isn't null.
|
||||||
atts.addAttribute (nsSupport.XMLNS, prefix,
|
atts.addAttribute (NamespaceSupport.XMLNS, prefix,
|
||||||
attQName.intern(), type, value);
|
attQName.intern(), type, value);
|
||||||
else
|
else
|
||||||
atts.addAttribute ("", "",
|
atts.addAttribute ("", "",
|
||||||
|
|
|
@ -292,8 +292,8 @@ public class Types {
|
||||||
@Override
|
@Override
|
||||||
public Type visitTypeVar(TypeVar t, ProjectionKind pkind) {
|
public Type visitTypeVar(TypeVar t, ProjectionKind pkind) {
|
||||||
if (vars.contains(t)) {
|
if (vars.contains(t)) {
|
||||||
try {
|
|
||||||
if (seen.add(t)) {
|
if (seen.add(t)) {
|
||||||
|
try {
|
||||||
final Type bound;
|
final Type bound;
|
||||||
switch (pkind) {
|
switch (pkind) {
|
||||||
case UPWARDS:
|
case UPWARDS:
|
||||||
|
@ -309,13 +309,14 @@ public class Types {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return bound.map(this, pkind);
|
return bound.map(this, pkind);
|
||||||
} else {
|
|
||||||
//cycle
|
|
||||||
return syms.objectType;
|
|
||||||
}
|
|
||||||
} finally {
|
} finally {
|
||||||
seen.remove(t);
|
seen.remove(t);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
//cycle
|
||||||
|
return pkind == ProjectionKind.UPWARDS ?
|
||||||
|
syms.objectType : syms.botType;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
return t;
|
return t;
|
||||||
}
|
}
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue