mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 11:04:34 +02:00
Merge
This commit is contained in:
commit
6fb483993a
381 changed files with 34919 additions and 2581 deletions
3
.hgtags
3
.hgtags
|
@ -56,3 +56,6 @@ ce74bd35ce948d629a356e168797f44b593b1578 jdk7-b73
|
|||
e9c98378f6b9256c0595ef2985ca5899f0c0e274 jdk7-b79
|
||||
e6abd38682d237306d6c147c17538ec9e7f8e3a7 jdk7-b80
|
||||
dcc938ac40cc45f1ef454d76020b5db5d943001c jdk7-b81
|
||||
a30062be6d9ca1d48579826f870f85974300004e jdk7-b82
|
||||
34c8199936a1682aa8587857f44cfaf37c2b6381 jdk7-b83
|
||||
b1e55627a6980b9508854ed0c0f21d4f981b4494 jdk7-b84
|
||||
|
|
|
@ -56,3 +56,6 @@ ab4ae8f4514693a9fe17ca2fec0239d8f8450d2c jdk7-b78
|
|||
20aeeb51713990dbea6929a2e100a8bbf5df70d4 jdk7-b79
|
||||
a3242906c7747b5d9bcc3d118c7c3c69aa40f4b7 jdk7-b80
|
||||
8403096d1fe7ff5318df9708cfec84a3fd3e1cf9 jdk7-b81
|
||||
e1176f86805fe07fd9fb9da065dc51b47712ce76 jdk7-b82
|
||||
6880a3af9addb41541e80ebe8cde6f79ec402a58 jdk7-b83
|
||||
2f3ea057d1ad56cf3b269cdc4de2741411151982 jdk7-b84
|
||||
|
|
|
@ -56,3 +56,6 @@ a7f7276b48cd74d8eb1baa83fbf3d1ef4a2603c8 jdk7-b78
|
|||
ec0421b5703b677e2226cf4bf7ae4eaafd8061c5 jdk7-b79
|
||||
0336e70ca0aeabc783cc01658f36cb6e27ea7934 jdk7-b80
|
||||
e08a42a2a94d97ea8eedb187a94dbff822c8fbba jdk7-b81
|
||||
1e8c1bfad1abb4b81407a0f2645e0fb85764ca48 jdk7-b82
|
||||
fde0df7a2384f7fe33204a79678989807d9c2b98 jdk7-b83
|
||||
68c8961a82e4a3ad2a67991e5d834192a81eb4cd jdk7-b84
|
||||
|
|
|
@ -56,3 +56,28 @@ e703499b4b51e3af756ae77c3d5e8b3058a14e4e jdk7-b78
|
|||
a5a6adfca6ecefb5894a848debabfe442ff50e25 jdk7-b79
|
||||
3003ddd1d4330b06cb4691ae74d600d3685899eb jdk7-b80
|
||||
1f9b07674480c224828852ffe137beea36b3cab5 jdk7-b81
|
||||
1999f5b12482d66c8b0daf6709daea4f51893a04 jdk7-b82
|
||||
a94714c550658fd6741793ef036cb9625dc2ab1a hs17-b01
|
||||
faf94d94786b621f8e13cbcc941ca69c6d967c3f hs17-b02
|
||||
f4b900403d6e4b0af51447bd13bbe23fe3a1dac7 hs17-b03
|
||||
d8dd291a362acb656026a9c0a9da48501505a1e7 hs17-b04
|
||||
9174bb32e934965288121f75394874eeb1fcb649 hs17-b05
|
||||
a5a6adfca6ecefb5894a848debabfe442ff50e25 hs17-b06
|
||||
3003ddd1d4330b06cb4691ae74d600d3685899eb hs17-b07
|
||||
1f9b07674480c224828852ffe137beea36b3cab5 hs17-b08
|
||||
ff3232b68fbb35185b338d7ff4695b52460243f3 hs17-b09
|
||||
981375ca07b7f0605f92f57aad95122e8c385a4d hs16-b01
|
||||
f4cbf78110c726919f46b59a3b054c54c7e889b4 hs16-b02
|
||||
07c1c01e031513bfe6a7d17c6cf30d2752824ae9 hs16-b03
|
||||
08f86fa55a31113df626a75c8a626e66a543a1bd hs16-b04
|
||||
32c83fb84370a35344676991a48440378e6b6c8a hs16-b05
|
||||
ba313800759b678979434d6da8ed3bf49eb8bea4 hs16-b06
|
||||
3c0f729815607e1678bd0c41ae68494c700dcc71 hs16-b07
|
||||
ac59d4e6dae51ac5fc31a9a4940d1857f91161b1 hs16-b08
|
||||
3f844a28c5f4912bd04043b44f21b25b0805ffc2 hs15-b01
|
||||
1605bb4eb5a7a1703b13d5b077a22cc665fe45f7 hs15-b02
|
||||
2581d90c6c9b2012da930eb4742add94a03069a0 hs15-b03
|
||||
9ab385cb0c42997e16a7761ebcd25c90560a2714 hs15-b04
|
||||
fafab5d5349c7c066d677538db67a1ee0fb33bd2 hs15-b05
|
||||
3f370a32906eb5ba993fabd7b4279be7f31052b9 jdk7-b83
|
||||
ffc8d176b84bcfb5ac21302b4feb3b0c0d69b97c jdk7-b84
|
||||
|
|
|
@ -35,7 +35,7 @@ HOTSPOT_VM_COPYRIGHT=Copyright 2009
|
|||
|
||||
HS_MAJOR_VER=17
|
||||
HS_MINOR_VER=0
|
||||
HS_BUILD_NUMBER=09
|
||||
HS_BUILD_NUMBER=10
|
||||
|
||||
JDK_MAJOR_VER=1
|
||||
JDK_MINOR_VER=7
|
||||
|
|
|
@ -1537,7 +1537,6 @@ bool add_global_entry(JNIEnv* env, Handle name, jmmVMGlobal *global, Flag *flag,
|
|||
global->type = JMM_VMGLOBAL_TYPE_JSTRING;
|
||||
} else {
|
||||
global->type = JMM_VMGLOBAL_TYPE_UNKNOWN;
|
||||
assert(false, "Unsupported VMGlobal Type");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -56,3 +56,6 @@ bfadab8c7b1bf806a49d3e1bc19ec919717f057a jdk7-b77
|
|||
b1005c504358c18694c84e95fec16b28cdce7ae1 jdk7-b79
|
||||
9219574db5936367114b0f31469837f27d5a375a jdk7-b80
|
||||
204e59d488cdaa9eafa8cb7164ea955b5a9d4a51 jdk7-b81
|
||||
c876ad22e4bf9d3c6460080db7ace478e29a3ff9 jdk7-b82
|
||||
309a0a7fc6ceb1c9fc3a85b3608e97ef8f7b0dfd jdk7-b83
|
||||
32c0cf01d555747918529a6ff9e06b0090c7a474 jdk7-b84
|
||||
|
|
|
@ -24,10 +24,10 @@
|
|||
#
|
||||
|
||||
drops.master.copy.base=${drops.dir}
|
||||
drops.master.url.base=https://jaxp.dev.java.net/files/documents/913/144160
|
||||
drops.master.url.base=https://jaxp.dev.java.net/files/documents/913/147490
|
||||
|
||||
jaxp_src.bundle.name=jdk7-jaxp-m5.zip
|
||||
jaxp_src.bundle.md5.checksum=8b58ce7919cda8e32a9afc5cb4b58bb1
|
||||
jaxp_src.bundle.name=jdk7-jaxp-m6.zip
|
||||
jaxp_src.bundle.md5.checksum=080827d779c114365f8504bd79b34604
|
||||
jaxp_src.master.bundle.dir=${drops.master.copy.base}
|
||||
jaxp_src.master.bundle.url.base=${drops.master.url.base}
|
||||
|
||||
|
|
|
@ -56,3 +56,6 @@ fc1c72d1dfbb17db7d46bba8db9afc39cbbb9299 jdk7-b78
|
|||
c08894f5b6e594b9b12993e256b96c1b38099632 jdk7-b79
|
||||
447767dee56a0f8cb89acc8bf7be5f9be7d84e8b jdk7-b80
|
||||
f051045fe94a48fae1097f90cbd9227e6aae6b7e jdk7-b81
|
||||
31573ae8eed15a6c170f3f0d1abd0b9109c0e086 jdk7-b82
|
||||
371e3ded591d09112a9f231e37cb072781c486ac jdk7-b83
|
||||
8bc02839eee4ef02cd1b50e87638874368a26535 jdk7-b84
|
||||
|
|
|
@ -56,3 +56,6 @@ e6a5d095c356a547cf5b3c8885885aca5e91e09b jdk7-b77
|
|||
918920710d65432a2d54fdf407c1524a5571c4ad jdk7-b79
|
||||
049cfaaa9a7374e3768a79969a799e8b59ad52fa jdk7-b80
|
||||
10b993d417fcdb40480dad7032ac241f4b87f1af jdk7-b81
|
||||
69ef657320ad5c35cfa12e4d8322d877e778f8b3 jdk7-b82
|
||||
9027c6b9d7e2c9ca04a1add691b5b50d0f22b1aa jdk7-b83
|
||||
7cb9388bb1a16365fa5118c5efa38b1cd58be40d jdk7-b84
|
||||
|
|
|
@ -240,7 +240,12 @@ import_product:
|
|||
|
||||
all build:: sanity-all post-sanity-all
|
||||
|
||||
SUBDIRS = tools java javax org sun sunw com jpda mkdemo mksample launchers
|
||||
SUBDIRS = tools java javax sun com
|
||||
SUBDIRS_tools = launchers
|
||||
SUBDIRS_misc = org sunw jpda mkdemo mksample
|
||||
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -32,6 +32,8 @@ PRODUCT = com
|
|||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = sun
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -38,10 +38,19 @@ ifndef OPENJDK
|
|||
endif
|
||||
endif
|
||||
|
||||
# jarsigner is part of JRE
|
||||
SUBDIRS = java security net/ssl jarsigner
|
||||
|
||||
SUBDIRS_management = jmx
|
||||
SUBDIRS_desktop = image inputmethods
|
||||
SUBDIRS_enterprise = crypto/provider jndi \
|
||||
org xml rowset net/httpserver
|
||||
SUBDIRS_misc = $(SCRIPT_SUBDIR) tracing servicetag nio demo
|
||||
|
||||
# Omit mirror since it's built with the apt tool.
|
||||
SUBDIRS = $(SCRIPT_SUBDIR) image security crypto/provider jndi jmx \
|
||||
java inputmethods org xml rowset net/httpserver net/ssl demo \
|
||||
tools jarsigner tracing servicetag nio
|
||||
SUBDIRS_tools = tools
|
||||
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
|
|
@ -38,6 +38,8 @@ PRODUCT = sun
|
|||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = jvmti
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -38,6 +38,8 @@ PRODUCT = sun
|
|||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = hprof
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -32,6 +32,8 @@ PRODUCT = sun
|
|||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = indicim thaiim
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -31,7 +31,10 @@ BUILDDIR = ../../..
|
|||
PRODUCT = plugin
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = browser pack
|
||||
SUBDIRS = pack
|
||||
SUBDIRS_misc = browser
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -32,6 +32,8 @@ PRODUCT = plugin
|
|||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = dom net
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -51,6 +51,8 @@ else
|
|||
SUBDIRS = snmp
|
||||
endif
|
||||
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build:
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -31,6 +31,8 @@ BUILDDIR = ../../..
|
|||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = toolkit cosnaming ldap rmi dns
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -31,6 +31,8 @@ BUILDDIR = ../../../..
|
|||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = registry
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -31,6 +31,8 @@ BUILDDIR = ../../..
|
|||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = sctp
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -32,6 +32,8 @@ PRODUCT = org
|
|||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = apache
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -31,6 +31,7 @@ BUILDDIR = ../../../..
|
|||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = xml
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
|
|
@ -30,7 +30,10 @@
|
|||
BUILDDIR = ../../..
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = jgss sasl auth auth/module
|
||||
SUBDIRS = auth
|
||||
SUBDIRS_misc = jgss sasl auth/module
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -35,6 +35,8 @@ include $(BUILDDIR)/common/Defs.gmk
|
|||
AUTO_FILES_JAVA_DIRS = com/sun/tools/extcheck
|
||||
|
||||
SUBDIRS = attach
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build:
|
||||
$(SUBDIRS-loop)
|
||||
clean clobber::
|
||||
|
|
|
@ -33,6 +33,8 @@ PRODUCT = sun
|
|||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = dtrace
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build:
|
||||
$(SUBDIRS-loop)
|
||||
clean clobber::
|
||||
|
|
|
@ -576,17 +576,17 @@ endef
|
|||
define install-file
|
||||
$(prep-target)
|
||||
$(CP) $< $@
|
||||
$(install-module-file)
|
||||
@$(install-module-file)
|
||||
endef
|
||||
|
||||
define chmod-file
|
||||
$(CHMOD) $1 $@
|
||||
$(call chmod-module-file, $1)
|
||||
@$(call chmod-module-file, $1)
|
||||
endef
|
||||
|
||||
define install-sym-link
|
||||
$(LN) -s $1 $@
|
||||
$(call install-module-sym-link, $1)
|
||||
@$(call install-module-sym-link, $1)
|
||||
endef
|
||||
|
||||
#
|
||||
|
@ -607,131 +607,9 @@ define java-vm-cleanup
|
|||
if [ -w $(HOTSPOT_LOG_NAME) ] ; then $(RM) $(HOTSPOT_LOG_NAME); fi
|
||||
endef
|
||||
|
||||
# Default make settings for processing SUBDIRS with clobber or clean names
|
||||
SUBDIRS_MAKEFLAGS-clobber = INCREMENTAL_BUILD=false
|
||||
SUBDIRS_MAKEFLAGS-clean = INCREMENTAL_BUILD=false
|
||||
|
||||
# Current directory
|
||||
CURRENT_DIRECTORY := $(shell $(PWD))
|
||||
|
||||
# If no timing wanted, we need to define these as empty
|
||||
ifdef NO_TIMING
|
||||
|
||||
TIMING_ID:=NA
|
||||
|
||||
define TIMING_start
|
||||
t=0:0:0:0
|
||||
endef
|
||||
|
||||
define TIMING_end
|
||||
time_used=0
|
||||
endef
|
||||
|
||||
else # NO_TIMING
|
||||
|
||||
# Default timing id
|
||||
TIMING_ID:=$(shell $(BASENAME) $(CURRENT_DIRECTORY))
|
||||
|
||||
# Timing start (must be used in same shell, e.g. same command line)
|
||||
# Defines the shell variable $1 to have the start time.
|
||||
define TIMING_start
|
||||
$1=`$(DATE) +%j:%H:%M:%S`
|
||||
endef
|
||||
|
||||
# Timing end (must be used in same shell, e.g. same command line)
|
||||
# Expects shell variable $1 to have been defined as the start time.
|
||||
# Expects shell variable $2 to have timing id string
|
||||
# Sets total_seconds shell variable as the total seconds used.
|
||||
# Sets time_used shell variable to contain format "%dh%dm%ds"
|
||||
define TIMING_end
|
||||
begTime="$${$1}"; \
|
||||
timing_id="$${$2}"; \
|
||||
endTime=`$(DATE) +%j:%H:%M:%S`; \
|
||||
d1=`$(ECHO) $${begTime} | $(CUT) -d':' -f1 | $(SED) -e 's@^0*@@'`; \
|
||||
if [ "$${d1}" = "" ] ; then d1=0; fi; \
|
||||
h1=`$(ECHO) $${begTime} | $(CUT) -d':' -f2 | $(SED) -e 's@^0*@@'`; \
|
||||
if [ "$${h1}" = "" ] ; then h1=0; fi; \
|
||||
m1=`$(ECHO) $${begTime} | $(CUT) -d':' -f3 | $(SED) -e 's@^0*@@'`; \
|
||||
if [ "$${m1}" = "" ] ; then m1=0; fi; \
|
||||
s1=`$(ECHO) $${begTime} | $(CUT) -d':' -f4 | $(SED) -e 's@^0*@@'`; \
|
||||
if [ "$${s1}" = "" ] ; then s1=0; fi; \
|
||||
d2=`$(ECHO) $${endTime} | $(CUT) -d':' -f1 | $(SED) -e 's@^0*@@'`; \
|
||||
if [ "$${d2}" = "" ] ; then d2=0; fi; \
|
||||
h2=`$(ECHO) $${endTime} | $(CUT) -d':' -f2 | $(SED) -e 's@^0*@@'`; \
|
||||
if [ "$${h2}" = "" ] ; then h2=0; fi; \
|
||||
m2=`$(ECHO) $${endTime} | $(CUT) -d':' -f3 | $(SED) -e 's@^0*@@'`; \
|
||||
if [ "$${m2}" = "" ] ; then m2=0; fi; \
|
||||
s2=`$(ECHO) $${endTime} | $(CUT) -d':' -f4 | $(SED) -e 's@^0*@@'`; \
|
||||
if [ "$${s2}" = "" ] ; then s2=0; fi; \
|
||||
t1_secs=`$(EXPR) $${d1} '*' 60 '*' 60 '*' 24 '+' $${h1} '*' 60 '*' 60 \
|
||||
'+' $${m1} '*' 60 '+' $${s1}`; \
|
||||
t2_secs=`$(EXPR) $${d2} '*' 60 '*' 60 '*' 24 '+' $${h2} '*' 60 '*' 60 \
|
||||
'+' $${m2} '*' 60 '+' $${s2}`; \
|
||||
total_seconds=`$(EXPR) $${t2_secs} '-' $${t1_secs}`; \
|
||||
if [ "$${total_seconds}" -lt 0 ] ; then total_seconds=0; fi; \
|
||||
t_hour=`$(EXPR) $${total_seconds} '/' '(' 60 '*' 60 ')'`h; \
|
||||
t_min=`$(EXPR) '(' $${total_seconds} '%' '(' 60 '*' 60 ')' ')' '/' 60`m; \
|
||||
t_sec=`$(EXPR) $${total_seconds} '%' 60`s; \
|
||||
time_used=$${t_sec}; \
|
||||
if [ "$${t_hour}" != "0h" ] ; then \
|
||||
time_used=$${t_hour}$${t_min}$${t_sec}; \
|
||||
elif [ "$${t_min}" != "0m" ] ; then \
|
||||
time_used=$${t_min}$${t_sec}; \
|
||||
else \
|
||||
time_used=$${t_sec}; \
|
||||
fi; \
|
||||
$(PRINTF) " Timing: %05d seconds or %s for %s\n" \
|
||||
$${total_seconds} $${time_used} $${timing_id}
|
||||
endef
|
||||
|
||||
endif # NO_TIMING
|
||||
|
||||
# Given a SUBDIRS list, cd into them and make them
|
||||
# SUBDIRS_MAKEFLAGS Make settings for a subdir make
|
||||
# SUBDIRS_MAKEFLAGS-$@ Make settings specific to this target
|
||||
define SUBDIRS-loop
|
||||
@$(ECHO) "Begin Processing SUBDIRS: $(SUBDIRS)"
|
||||
@for i in DUMMY $(SUBDIRS) ; do \
|
||||
if [ "$$i" != "DUMMY" ] ; then \
|
||||
$(ECHO) ">>>Recursively making "$$i" "$@" @ `$(DATE)` ..."; \
|
||||
timing_id="$(TIMING_ID)-`$(BASENAME) $${i}`"; \
|
||||
$(call TIMING_start,startTime); \
|
||||
curDir=$(CURRENT_DIRECTORY); \
|
||||
$(CD) $$i; $(MAKE) $@ TIMING_ID=$${timing_id} \
|
||||
$(SUBDIRS_MAKEFLAGS) \
|
||||
$(SUBDIRS_MAKEFLAGS-$@) \
|
||||
FULL_VERSION=$(FULL_VERSION) \
|
||||
RELEASE=$(RELEASE) || exit 1; \
|
||||
$(CD) $${curDir}; \
|
||||
$(call TIMING_end,startTime,timing_id); \
|
||||
$(ECHO) "<<<Finished Recursively making "$$i" "$@" @ `$(DATE)`." ; \
|
||||
fi ; \
|
||||
done
|
||||
@$(ECHO) "Done Processing SUBDIRS: $(SUBDIRS)"
|
||||
endef
|
||||
|
||||
# Given a OTHERSUBDIRS list, cd into them and make them (extra loop define)
|
||||
# OTHERSUBDIRS_MAKEFLAGS Make settings for a subdir make
|
||||
define OTHERSUBDIRS-loop
|
||||
@$(ECHO) "Begin Processing OTHERSUBDIRS: $(OTHERSUBDIRS)"
|
||||
@for i in DUMMY $(OTHERSUBDIRS) ; do \
|
||||
if [ "$$i" != "DUMMY" ] ; then \
|
||||
$(ECHO) ">>>Recursively making "$$i" "$@" @ `$(DATE)` ..."; \
|
||||
timing_id="$(TIMING_ID)-`$(BASENAME) $${i}`"; \
|
||||
$(call TIMING_start,startTime); \
|
||||
curDir=$(CURRENT_DIRECTORY); \
|
||||
$(CD) $$i; $(MAKE) $@ TIMING_ID=$${timing_id} \
|
||||
$(OTHERSUBDIRS_MAKEFLAGS) \
|
||||
FULL_VERSION=$(FULL_VERSION) \
|
||||
RELEASE=$(RELEASE) || exit 1; \
|
||||
$(CD) $${curDir}; \
|
||||
$(call TIMING_end,startTime,timing_id); \
|
||||
$(ECHO) "<<<Finished Recursively making "$$i" "$@" @ `$(DATE)`." ; \
|
||||
fi ; \
|
||||
done
|
||||
@$(ECHO) "Done Processing OTHERSUBDIRS: $(OTHERSUBDIRS)"
|
||||
endef
|
||||
|
||||
#
|
||||
# Create BYFILE OPT and DBG settings, if CFLAGS_OPT/foobar.o is set then it is
|
||||
# used for this file, otherwise the default settings are used.
|
||||
|
@ -819,7 +697,7 @@ endef
|
|||
|
||||
define install-import-file
|
||||
$(install-importonly-file)
|
||||
$(install-module-file)
|
||||
@$(install-module-file)
|
||||
endef
|
||||
|
||||
.PHONY: all build clean clobber
|
||||
|
|
|
@ -71,7 +71,8 @@ sanity-base: pre-sanity \
|
|||
sane-cacerts \
|
||||
sane-ant_version \
|
||||
sane-zip_version \
|
||||
sane-msvcrt_path
|
||||
sane-msvcrt_path \
|
||||
sane-build_modules
|
||||
|
||||
# The rules sanity-* have a one-to-one correspondence with the major targets
|
||||
# Each sanity-* rule should have no body to ensure that the post-sanity-* is the
|
||||
|
|
204
jdk/make/common/Subdirs.gmk
Normal file
204
jdk/make/common/Subdirs.gmk
Normal file
|
@ -0,0 +1,204 @@
|
|||
# Copyright 2010 Sun Microsystems, Inc. All Rights Reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions
|
||||
#
|
||||
|
||||
#
|
||||
# Generic makefile for building subdirectories.
|
||||
#
|
||||
# SUBDIRS variables to specify the subdirectories to build recursively.
|
||||
# Makefile has to include Subdirs.gmk AFTER all SUBDIRS variables are
|
||||
# defined.
|
||||
#
|
||||
# This file does not contain any rule.
|
||||
#
|
||||
# WARNING: This file is shared with other workspaces.
|
||||
# So when it includes other files, it must use JDK_TOPDIR.
|
||||
|
||||
#
|
||||
# SUBDIRS subdirs for the base module always get built
|
||||
# SUBDIRS_<group> subdirs for the named group
|
||||
#
|
||||
# By default, subdirs specified in the SUBDIRS and all SUBDIRS_*
|
||||
# variables will be built.
|
||||
#
|
||||
# BUILD_MODULES variable can be used to specify one or more groups
|
||||
# to be built (BUILD_MODULES=all will build all groups).
|
||||
#
|
||||
# Variables of the currently supported groups are:
|
||||
# SUBDIRS_desktop
|
||||
# SUBDIRS_management
|
||||
# SUBDIRS_enterprise
|
||||
# SUBDIRS_misc
|
||||
# SUBDIRS_tools
|
||||
#
|
||||
# Change to the above list also need to update
|
||||
# make/common/shared/Sanity.gmk. NOTE: this list is subject
|
||||
# to change till the JDK 7 SE profiles/modules are finalized.
|
||||
#
|
||||
# Eventually we want to restructure the make directory
|
||||
# according to these grouping (e.g. make/desktop/...) and
|
||||
# the SUBDIRS_<group> variables would not be needed.
|
||||
#
|
||||
# To build the desktop and tools groups only, you can do:
|
||||
# gnumake BUILD_MODULES="desktop tools" ...
|
||||
#
|
||||
|
||||
# Iterate the subdirectories specified in $1.
|
||||
# - cd into each subdir and make them
|
||||
|
||||
# Given a SUBDIRS* list (first argument), cd into them and make them
|
||||
# SUBDIRS_MAKEFLAGS Make settings for a subdir make
|
||||
# SUBDIRS_MAKEFLAGS-$@ Make settings specific to this target
|
||||
#
|
||||
define subdirs-group-loop
|
||||
@$(ECHO) "Begin Processing SUBDIRS: $($1)"
|
||||
@for i in DUMMY $($1) ; do \
|
||||
if [ "$$i" != "DUMMY" ] ; then \
|
||||
$(MAKE) -C $$i $@ $(SUBDIRS_MAKEFLAGS) $(SUBDIRS_MAKEFLAGS-$@) \
|
||||
FULL_VERSION=$(FULL_VERSION) RELEASE=$(RELEASE) || exit 1; \
|
||||
fi ; \
|
||||
done
|
||||
@$(ECHO) "Done Processing SUBDIRS: $($1)"
|
||||
endef
|
||||
|
||||
# Given a OTHERSUBDIRS list, cd into them and make them (extra loop define)
|
||||
# OTHERSUBDIRS_MAKEFLAGS Make settings for a subdir make
|
||||
define OTHERSUBDIRS-loop
|
||||
@$(ECHO) "Begin Processing OTHERSUBDIRS: $(OTHERSUBDIRS)"
|
||||
@for i in DUMMY $(OTHERSUBDIRS) ; do \
|
||||
if [ "$$i" != "DUMMY" ] ; then \
|
||||
$(MAKE) -C $$i $@ $(OTHERSUBDIRS_MAKEFLAGS) \
|
||||
FULL_VERSION=$(FULL_VERSION) RELEASE=$(RELEASE) || exit 1; \
|
||||
fi ; \
|
||||
done
|
||||
@$(ECHO) "Done Processing OTHERSUBDIRS: $(OTHERSUBDIRS)"
|
||||
endef
|
||||
|
||||
#
|
||||
# Iterate the list specified in SUBDIRS_<group> only if
|
||||
# SUBDIRS_<group> is set and <group> or "all" is specified
|
||||
# in the BUILD_MODULES variable
|
||||
#
|
||||
ifdef SUBDIRS_desktop
|
||||
ifneq (,$(findstring desktop, $(BUILD_MODULES)))
|
||||
define subdirs-desktop-loop
|
||||
@$(call subdirs-group-loop,SUBDIRS_desktop)
|
||||
endef
|
||||
else
|
||||
define subdirs-desktop-loop
|
||||
endef
|
||||
endif
|
||||
else
|
||||
define subdirs-desktop-loop
|
||||
endef
|
||||
endif # SUBDIRS_desktop
|
||||
|
||||
ifdef SUBDIRS_enterprise
|
||||
ifneq (,$(findstring enterprise, $(BUILD_MODULES)))
|
||||
define subdirs-enterprise-loop
|
||||
@$(call subdirs-group-loop,SUBDIRS_enterprise)
|
||||
endef
|
||||
else
|
||||
define subdirs-enterprise-loop
|
||||
endef
|
||||
endif
|
||||
else
|
||||
define subdirs-enterprise-loop
|
||||
endef
|
||||
endif # SUBDIRS_enterprise
|
||||
|
||||
ifdef SUBDIRS_management
|
||||
ifneq (,$(findstring management, $(BUILD_MODULES)))
|
||||
define subdirs-management-loop
|
||||
@$(call subdirs-group-loop,SUBDIRS_management)
|
||||
endef
|
||||
else
|
||||
define subdirs-management-loop
|
||||
endef
|
||||
endif
|
||||
else
|
||||
define subdirs-management-loop
|
||||
endef
|
||||
endif # SUBDIRS_management
|
||||
|
||||
ifdef SUBDIRS_misc
|
||||
ifneq (,$(findstring misc, $(BUILD_MODULES)))
|
||||
define subdirs-misc-loop
|
||||
@$(call subdirs-group-loop,SUBDIRS_misc)
|
||||
endef
|
||||
else
|
||||
define subdirs-misc-loop
|
||||
endef
|
||||
endif
|
||||
else
|
||||
define subdirs-misc-loop
|
||||
endef
|
||||
endif # SUBDIRS_misc
|
||||
|
||||
ifdef SUBDIRS_tools
|
||||
ifneq (,$(findstring tools, $(BUILD_MODULES)))
|
||||
define subdirs-tools-loop
|
||||
@$(call subdirs-group-loop,SUBDIRS_tools)
|
||||
endef
|
||||
else
|
||||
define subdirs-tools-loop
|
||||
endef
|
||||
endif
|
||||
else
|
||||
define subdirs-tools-loop
|
||||
endef
|
||||
endif # SUBDIRS_tools
|
||||
|
||||
#
|
||||
# If BUILD_MODULES is not set or it's set to "all",
|
||||
# iterate all groups.
|
||||
SUBDIRS_all = $(SUBDIRS) $(SUBDIRS_desktop) $(SUBDIRS_enterprise) \
|
||||
$(SUBDIRS_management) $(SUBDIRS_misc) $(SUBDIRS_tools)
|
||||
|
||||
ifndef BUILD_MODULES
|
||||
define SUBDIRS-loop
|
||||
@$(call subdirs-group-loop,SUBDIRS_all)
|
||||
endef
|
||||
|
||||
else
|
||||
|
||||
ifneq (,$(findstring all, $(BUILD_MODULES)))
|
||||
define SUBDIRS-loop
|
||||
@$(call subdirs-group-loop,SUBDIRS_all)
|
||||
endef
|
||||
|
||||
else # BUILD_MODULES set
|
||||
#
|
||||
# Iterate SUBDIRS and the groups specified in BUILD_MODULES
|
||||
#
|
||||
define SUBDIRS-loop
|
||||
@$(call subdirs-group-loop,SUBDIRS)
|
||||
@$(subdirs-desktop-loop)
|
||||
@$(subdirs-enterprise-loop)
|
||||
@$(subdirs-management-loop)
|
||||
@$(subdirs-misc-loop)
|
||||
@$(subdirs-tools-loop)
|
||||
endef
|
||||
|
||||
endif
|
||||
endif # BUILD_MODULES
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright 2005-2009 Sun Microsystems, Inc. All Rights Reserved.
|
||||
# Copyright 2005-2010 Sun Microsystems, Inc. All Rights Reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -218,7 +218,8 @@ include $(JDK_MAKE_SHARED_DIR)/Sanity-Settings.gmk
|
|||
sane-zip_version \
|
||||
sane-unzip_version \
|
||||
sane-msvcrt_path \
|
||||
sane-freetype
|
||||
sane-freetype \
|
||||
sane-build_modules
|
||||
|
||||
######################################################
|
||||
# check for COPYRIGHT_YEAR variable
|
||||
|
@ -844,6 +845,21 @@ else
|
|||
sane-freetype:
|
||||
endif
|
||||
|
||||
######################################################
|
||||
# if specified, BUILD_MODULES must contain valid values.
|
||||
######################################################
|
||||
MODULES_REGEX="all|base|desktop|management|enterprise|misc|tools"
|
||||
sane-build_modules:
|
||||
ifdef BUILD_MODULES
|
||||
@for m in $(BUILD_MODULES) ; do \
|
||||
valid=`$(ECHO) $$m | $(EGREP) $(MODULES_REGEX)`; \
|
||||
if [ "x$$valid" = "x" ] ; then \
|
||||
$(ECHO) "ERROR: $$m set in the BUILD_MODULES variable is invalid.\n" \
|
||||
"" >> $(ERROR_FILE); \
|
||||
fi \
|
||||
done
|
||||
endif
|
||||
|
||||
######################################################
|
||||
# CUPS_HEADERS_PATH must be valid
|
||||
######################################################
|
||||
|
@ -1093,6 +1109,7 @@ endif
|
|||
# Check for existence of misc Hotspot imported files
|
||||
######################################################
|
||||
HOTSPOT_INCLUDE_FILE_LIST = jvmti.h
|
||||
HOTSPOT_INCLUDE_FILE_LIST += jvmticmlr.h
|
||||
#HOTSPOT_INCLUDE_FILE_LIST += jni.h jni_md.h
|
||||
#HOTSPOT_INCLUDE_FILE_LIST += jvm.h jvm_md.h
|
||||
#HOTSPOT_INCLUDE_FILE_LIST += jmm.h
|
||||
|
|
|
@ -38,9 +38,13 @@ SUBDIRS += hpi version jvm redist verify fdlibm java sun_nio jli main zip
|
|||
|
||||
# Others
|
||||
# Note: java_crw_demo java_hprof_demo are demos but must be delivered built in sdk
|
||||
SUBDIRS += security npt java_crw_demo java_hprof_demo \
|
||||
math awt util text applet net nio dyn \
|
||||
sql rmi jar beans logging management instrument
|
||||
|
||||
SUBDIRS += security math util text net nio jar
|
||||
|
||||
SUBDIRS_desktop = awt applet beans
|
||||
SUBDIRS_management = management
|
||||
SUBDIRS_misc = npt java_crw_demo java_hprof_demo \
|
||||
logging instrument dyn sql rmi
|
||||
|
||||
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
|
@ -53,6 +57,8 @@ ifeq ($(PLATFORM), linux)
|
|||
SUBDIRS += jexec
|
||||
endif # PLATFORM
|
||||
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -34,6 +34,8 @@ include $(BUILDDIR)/common/Defs.gmk
|
|||
# Build specified the HPI implementations
|
||||
#
|
||||
SUBDIRS = $(HPIS)
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -218,6 +218,8 @@ ifeq ($(PLATFORM), solaris)
|
|||
endif
|
||||
|
||||
SUBDIRS = reflect
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build:
|
||||
$(SUBDIRS-loop)
|
||||
clean clobber::
|
||||
|
|
|
@ -49,7 +49,7 @@ Euro_Resources_properties := $(FILES_compiled_properties)
|
|||
# $(BUILDDIR)/java/text/FILES_java.gmk contains the "sun.text.resources" for
|
||||
# European language support
|
||||
|
||||
include $(BUILDDIR)/java/text/FILES_java.gmk
|
||||
include $(BUILDDIR)/java/text/base/FILES_java.gmk
|
||||
|
||||
Euro_Resources_java += $(FILES_java)
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright 1995-2005 Sun Microsystems, Inc. All Rights Reserved.
|
||||
# Copyright 1995-2010 Sun Microsystems, Inc. All Rights Reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -34,7 +34,8 @@ include $(BUILDDIR)/common/Defs.gmk
|
|||
|
||||
FILES_h = $(INCLUDEDIR)/jni.h \
|
||||
$(PLATFORM_INCLUDE)/jni_md.h \
|
||||
$(INCLUDEDIR)/jvmti.h \
|
||||
$(INCLUDEDIR)/jvmti.h \
|
||||
$(INCLUDEDIR)/jvmticmlr.h \
|
||||
$(INCLUDEDIR)/classfile_constants.h
|
||||
|
||||
$(INCLUDEDIR)/%.h: $(SHARE_SRC)/javavm/export/%.h
|
||||
|
|
|
@ -36,6 +36,8 @@ SUBDIRS = java javaw
|
|||
else
|
||||
SUBDIRS = java
|
||||
endif
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -26,7 +26,6 @@
|
|||
FILES_src = \
|
||||
java/nio/Bits.java \
|
||||
java/nio/Buffer.java \
|
||||
java/nio/BufferPoolMXBean.java \
|
||||
java/nio/ByteOrder.java \
|
||||
java/nio/MappedByteBuffer.java \
|
||||
java/nio/StringCharBuffer.java \
|
||||
|
|
|
@ -304,7 +304,11 @@ endif # PLATFORM
|
|||
# Rules
|
||||
#
|
||||
|
||||
SUBDIRS_management = mxbean
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
build: sources
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
clean clobber::
|
||||
$(RM) -r $(NIO_GEN) $(SNIO_GEN)
|
||||
|
|
34
jdk/make/java/nio/mxbean/Makefile
Normal file
34
jdk/make/java/nio/mxbean/Makefile
Normal file
|
@ -0,0 +1,34 @@
|
|||
#
|
||||
# Copyright 2010 Sun Microsystems, Inc. All Rights Reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
BUILDDIR = ../../..
|
||||
MODULE = management
|
||||
PACKAGE = java.nio
|
||||
PRODUCT = java
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
FILES_java = java/nio/BufferPoolMXBean.java
|
||||
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
|
@ -62,7 +62,10 @@ CLASSSHARINGDATA_DIR = $(BUILDDIR)/tools/sharing
|
|||
# Needed to do file copy
|
||||
ABS_BUILDDIR :=$(call FullPath,$(BUILDDIR))
|
||||
|
||||
SUBDIRS = fonts sajdi
|
||||
SUBDIRS_desktop = fonts
|
||||
SUBDIRS_tools = sajdi
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ BUILDDIR = ../..
|
|||
PACKAGE = sun.nio
|
||||
PRODUCT = sun
|
||||
|
||||
OTHER_JAVACFLAGS += -Xlint:serial -Werror
|
||||
OTHER_JAVACFLAGS += -Xlint:serial,-deprecation -Werror
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright 1996-2006 Sun Microsystems, Inc. All Rights Reserved.
|
||||
# Copyright 2010 Sun Microsystems, Inc. All Rights Reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -23,86 +23,19 @@
|
|||
# have any questions.
|
||||
#
|
||||
|
||||
BUILDDIR = ../..
|
||||
MODULE = base
|
||||
PACKAGE = java.text
|
||||
PRODUCT = sun
|
||||
#
|
||||
# Makefile for building all of java.text
|
||||
#
|
||||
|
||||
BUILDDIR = ../..
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Files
|
||||
#
|
||||
include FILES_java.gmk
|
||||
SUBDIRS = base
|
||||
SUBDIRS_desktop = bidi
|
||||
|
||||
#
|
||||
# Include
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
#
|
||||
# Rules to add data files BreakIterator
|
||||
#
|
||||
TEXT_CLASSES = $(BUILDTOOLCLASSDIR)/java.text/classes
|
||||
|
||||
# input
|
||||
#
|
||||
# Notes: sun.text.resources.BreakIteratorRules no longer goes to runtime.
|
||||
# They are used at JDK build phase in order to create $(BIFILES) which
|
||||
# are used on runtime instead.
|
||||
#
|
||||
TEXT_SRCDIR = $(SHARE_SRC)/classes/sun/text/resources
|
||||
TEXT_SOURCES = $(TEXT_SRCDIR)/BreakIteratorRules.java \
|
||||
$(TEXT_SRCDIR)/BreakIteratorInfo.java
|
||||
UNICODEDATA = $(BUILDDIR)/tools/UnicodeData
|
||||
|
||||
# output
|
||||
TEXT_CLASSDIR = $(CLASSBINDIR)/sun/text/resources
|
||||
BIFILES = $(TEXT_CLASSDIR)/CharacterBreakIteratorData \
|
||||
$(TEXT_CLASSDIR)/WordBreakIteratorData \
|
||||
$(TEXT_CLASSDIR)/LineBreakIteratorData \
|
||||
$(TEXT_CLASSDIR)/SentenceBreakIteratorData
|
||||
|
||||
ICU_FILES = $(TEXT_CLASSDIR)/unorm.icu \
|
||||
$(TEXT_CLASSDIR)/uprops.icu \
|
||||
$(TEXT_CLASSDIR)/ubidi.icu
|
||||
|
||||
# builder
|
||||
GENERATEBREAKITERATORDATA_JARFILE = \
|
||||
$(BUILDTOOLJARDIR)/generatebreakiteratordata.jar
|
||||
|
||||
$(BIFILES): $(GENERATEBREAKITERATORDATA_JARFILE) \
|
||||
$(UNICODEDATA)/UnicodeData.txt \
|
||||
$(TEXT_SOURCES)
|
||||
$(prep-target)
|
||||
$(RM) -r $(TEXT_CLASSES)
|
||||
$(MKDIR) -p $(TEXT_CLASSES)
|
||||
$(BOOT_JAVAC_CMD) -d $(TEXT_CLASSES) \
|
||||
-sourcepath $(TEXT_SRCDIR) \
|
||||
$(TEXT_SOURCES)
|
||||
$(MKDIR) -p $(TEXT_CLASSDIR)
|
||||
$(BOOT_JAVA_CMD) -Xbootclasspath/p:$(TEXT_CLASSES) \
|
||||
-jar $(GENERATEBREAKITERATORDATA_JARFILE) \
|
||||
-o $(TEXT_CLASSDIR) \
|
||||
-spec $(UNICODEDATA)/UnicodeData.txt
|
||||
@$(java-vm-cleanup)
|
||||
|
||||
build: $(BIFILES) $(ICU_FILES)
|
||||
|
||||
#
|
||||
# Extra rules to copy unorm.icu, uprops.icu, and ubidi.icu
|
||||
#
|
||||
$(TEXT_CLASSDIR)/unorm.icu: $(TEXT_SRCDIR)/unorm.icu
|
||||
$(install-file)
|
||||
|
||||
$(TEXT_CLASSDIR)/uprops.icu: $(TEXT_SRCDIR)/uprops.icu
|
||||
$(install-file)
|
||||
|
||||
$(TEXT_CLASSDIR)/ubidi.icu: $(TEXT_SRCDIR)/ubidi.icu
|
||||
$(install-file)
|
||||
|
||||
clean clobber::
|
||||
$(RM) -r $(TEXT_CLASSES)
|
||||
$(RM) -r $(BIFILES)
|
||||
$(RM) $(ICU_FILES)
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -29,7 +29,6 @@ FILES_java = \
|
|||
java/text/AttributedString.java \
|
||||
java/text/BreakDictionary.java \
|
||||
java/text/BreakIterator.java \
|
||||
java/text/Bidi.java \
|
||||
java/text/CharacterIterator.java \
|
||||
java/text/CharacterIteratorFieldDelegate.java \
|
||||
java/text/ChoiceFormat.java \
|
||||
|
@ -76,10 +75,6 @@ FILES_java = \
|
|||
sun/text/Normalizer.java \
|
||||
sun/text/SupplementaryCharacterData.java \
|
||||
sun/text/UCompactIntArray.java \
|
||||
sun/text/bidi/BidiBase.java \
|
||||
sun/text/bidi/BidiLine.java \
|
||||
sun/text/bidi/BidiRun.java \
|
||||
\
|
||||
sun/text/normalizer/CharTrie.java \
|
||||
sun/text/normalizer/CharacterIteratorWrapper.java \
|
||||
sun/text/normalizer/ICUBinary.java \
|
108
jdk/make/java/text/base/Makefile
Normal file
108
jdk/make/java/text/base/Makefile
Normal file
|
@ -0,0 +1,108 @@
|
|||
#
|
||||
# Copyright 1996-2006 Sun Microsystems, Inc. All Rights Reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
BUILDDIR = ../../..
|
||||
MODULE = base
|
||||
PACKAGE = java.text
|
||||
PRODUCT = sun
|
||||
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Files
|
||||
#
|
||||
include FILES_java.gmk
|
||||
|
||||
#
|
||||
# Include
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
||||
|
||||
#
|
||||
# Rules to add data files BreakIterator
|
||||
#
|
||||
TEXT_CLASSES = $(BUILDTOOLCLASSDIR)/java.text/classes
|
||||
|
||||
# input
|
||||
#
|
||||
# Notes: sun.text.resources.BreakIteratorRules no longer goes to runtime.
|
||||
# They are used at JDK build phase in order to create $(BIFILES) which
|
||||
# are used on runtime instead.
|
||||
#
|
||||
TEXT_SRCDIR = $(SHARE_SRC)/classes/sun/text/resources
|
||||
TEXT_SOURCES = $(TEXT_SRCDIR)/BreakIteratorRules.java \
|
||||
$(TEXT_SRCDIR)/BreakIteratorInfo.java
|
||||
UNICODEDATA = $(BUILDDIR)/tools/UnicodeData
|
||||
|
||||
# output
|
||||
TEXT_CLASSDIR = $(CLASSBINDIR)/sun/text/resources
|
||||
BIFILES = $(TEXT_CLASSDIR)/CharacterBreakIteratorData \
|
||||
$(TEXT_CLASSDIR)/WordBreakIteratorData \
|
||||
$(TEXT_CLASSDIR)/LineBreakIteratorData \
|
||||
$(TEXT_CLASSDIR)/SentenceBreakIteratorData
|
||||
|
||||
ICU_FILES = $(TEXT_CLASSDIR)/unorm.icu \
|
||||
$(TEXT_CLASSDIR)/uprops.icu \
|
||||
$(TEXT_CLASSDIR)/ubidi.icu
|
||||
|
||||
# builder
|
||||
GENERATEBREAKITERATORDATA_JARFILE = \
|
||||
$(BUILDTOOLJARDIR)/generatebreakiteratordata.jar
|
||||
|
||||
$(BIFILES): $(GENERATEBREAKITERATORDATA_JARFILE) \
|
||||
$(UNICODEDATA)/UnicodeData.txt \
|
||||
$(TEXT_SOURCES)
|
||||
$(prep-target)
|
||||
$(RM) -r $(TEXT_CLASSES)
|
||||
$(MKDIR) -p $(TEXT_CLASSES)
|
||||
$(BOOT_JAVAC_CMD) -d $(TEXT_CLASSES) \
|
||||
-sourcepath $(TEXT_SRCDIR) \
|
||||
$(TEXT_SOURCES)
|
||||
$(MKDIR) -p $(TEXT_CLASSDIR)
|
||||
$(BOOT_JAVA_CMD) -Xbootclasspath/p:$(TEXT_CLASSES) \
|
||||
-jar $(GENERATEBREAKITERATORDATA_JARFILE) \
|
||||
-o $(TEXT_CLASSDIR) \
|
||||
-spec $(UNICODEDATA)/UnicodeData.txt
|
||||
@$(java-vm-cleanup)
|
||||
|
||||
build: $(BIFILES) $(ICU_FILES)
|
||||
|
||||
#
|
||||
# Extra rules to copy unorm.icu, uprops.icu, and ubidi.icu
|
||||
#
|
||||
$(TEXT_CLASSDIR)/unorm.icu: $(TEXT_SRCDIR)/unorm.icu
|
||||
$(install-file)
|
||||
|
||||
$(TEXT_CLASSDIR)/uprops.icu: $(TEXT_SRCDIR)/uprops.icu
|
||||
$(install-file)
|
||||
|
||||
$(TEXT_CLASSDIR)/ubidi.icu: $(TEXT_SRCDIR)/ubidi.icu
|
||||
$(install-file)
|
||||
|
||||
clean clobber::
|
||||
$(RM) -r $(TEXT_CLASSES)
|
||||
$(RM) -r $(BIFILES)
|
||||
$(RM) $(ICU_FILES)
|
||||
|
44
jdk/make/java/text/bidi/Makefile
Normal file
44
jdk/make/java/text/bidi/Makefile
Normal file
|
@ -0,0 +1,44 @@
|
|||
#
|
||||
# Copyright 2010 Sun Microsystems, Inc. All Rights Reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
BUILDDIR = ../../..
|
||||
PACKAGE = java.text
|
||||
PRODUCT = sun
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
# Files for Bidi that is not in the base module
|
||||
#
|
||||
FILES_java = \
|
||||
java/text/Bidi.java \
|
||||
sun/text/bidi/BidiBase.java \
|
||||
sun/text/bidi/BidiLine.java \
|
||||
sun/text/bidi/BidiRun.java \
|
||||
sun/text/CodePointIterator.java
|
||||
|
||||
#
|
||||
# Include
|
||||
#
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
|
@ -30,19 +30,24 @@
|
|||
BUILDDIR = ..
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
# imageio uses xml, so build it last
|
||||
SUBDIRS = others
|
||||
|
||||
SUBDIRS = \
|
||||
others \
|
||||
accessibility \
|
||||
print \
|
||||
swing \
|
||||
crypto \
|
||||
sound \
|
||||
sql \
|
||||
rmi \
|
||||
management \
|
||||
imageio
|
||||
SUBDIRS_management = management
|
||||
|
||||
SUBDIRS_misc = \
|
||||
crypto \
|
||||
sql \
|
||||
rmi
|
||||
|
||||
# imageio uses xml, so build it last
|
||||
SUBDIRS_desktop = \
|
||||
accessibility \
|
||||
print \
|
||||
swing \
|
||||
sound \
|
||||
imageio
|
||||
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build:
|
||||
$(SUBDIRS-loop)
|
||||
|
|
|
@ -31,6 +31,8 @@ BUILDDIR = ../..
|
|||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = ssl
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -159,6 +159,7 @@ vpath %.cpp $(PLATFORM_SRC)/native/com/sun/media/sound
|
|||
# Include rules
|
||||
#
|
||||
include $(BUILDDIR)/common/Library.gmk
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
#
|
||||
# Rules that copy files.
|
||||
|
|
|
@ -40,6 +40,7 @@ AUTO_JAVA_PRUNE = plaf
|
|||
SUBDIRS = html32dtd plaf
|
||||
|
||||
include $(BUILDDIR)/common/Classes.gmk
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
build: other_files
|
||||
$(SUBDIRS-loop)
|
||||
|
|
|
@ -35,6 +35,7 @@ include $(BUILDDIR)/common/Defs.gmk
|
|||
# Core.
|
||||
#
|
||||
SUBDIRS = jdwp back front transport expr tty bdi gui
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
|
|
@ -36,6 +36,8 @@ SUBDIRS = socket
|
|||
ifeq ($(PLATFORM), windows)
|
||||
SUBDIRS += shmem
|
||||
endif # PLATFORM
|
||||
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -31,7 +31,13 @@ BUILDDIR = ..
|
|||
PRODUCT = demos
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = applets jfc jvmti management jni scripting jpda
|
||||
SUBDIRS = jni
|
||||
SUBDIRS_desktop = applets jfc
|
||||
SUBDIRS_management = management
|
||||
SUBDIRS_misc = scripting
|
||||
SUBDIRS_tools = jpda jvmti
|
||||
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build:: nbproject
|
||||
$(SUBDIRS-loop)
|
||||
|
|
|
@ -40,6 +40,7 @@ endif
|
|||
|
||||
SUBDIRS_MAKEFLAGS += DEMO_IS_APPLET=true
|
||||
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -46,6 +46,7 @@ ifndef OPENJDK
|
|||
SUBDIRS += Java2D SwingSet2 Stylepad
|
||||
endif
|
||||
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -37,6 +37,8 @@ ifeq ($(PLATFORM),solaris)
|
|||
SUBDIRS += Poller
|
||||
endif
|
||||
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved.
|
||||
# Copyright 2004-2010 Sun Microsystems, Inc. All Rights Reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -34,12 +34,13 @@ include $(BUILDDIR)/common/Defs.gmk
|
|||
|
||||
# Can be built in any order, the JRE version of hprof and java_crw_demo are
|
||||
# really built in make/java.
|
||||
# The hprof target here just deliveres the sources and README files.
|
||||
# The hprof target here just delivers the sources and README files.
|
||||
# The java_crw_demo and agent_util files are copied into each demo that
|
||||
# uses them.
|
||||
SUBDIRS = \
|
||||
versionCheck \
|
||||
gctest \
|
||||
compiledMethodLoad \
|
||||
gctest \
|
||||
heapViewer \
|
||||
heapTracker \
|
||||
minst \
|
||||
|
@ -47,6 +48,8 @@ SUBDIRS = \
|
|||
waiters \
|
||||
hprof
|
||||
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright 2004 Sun Microsystems, Inc. All Rights Reserved.
|
||||
# Copyright 2004-2010 Sun Microsystems, Inc. All Rights Reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -27,8 +27,8 @@ Instructions on adding a jvmti demo agent.
|
|||
|
||||
Basically you want to mimic the jvmti demo agent "mtrace".
|
||||
|
||||
* Create and populate a source directory at src/demo/jvmti
|
||||
(Try and re-use code in agent_util area like src/demo/jvmti/mtrace)
|
||||
* Create and populate a source directory at src/share/demo/jvmti
|
||||
(Try and re-use code in agent_util area like src/share/demo/jvmti/mtrace)
|
||||
(This should include a small README.txt document on what this demo is)
|
||||
|
||||
* Make sure the appropriate "demo" copyright notice is added to all the
|
||||
|
@ -44,7 +44,7 @@ Basically you want to mimic the jvmti demo agent "mtrace".
|
|||
* Create test directory at test/demo/jvmti, create at least one test
|
||||
(Use test/demo/jvmti/mtrace as a template)
|
||||
|
||||
* Don't forget to SCCS in all the new files
|
||||
* Don't forget to check in all the new files
|
||||
|
||||
* Build and create images (cd make && gnumake && gnumake images)
|
||||
(Do this on Solaris, Linux, and at least one Windows platform)
|
||||
|
@ -54,5 +54,5 @@ Basically you want to mimic the jvmti demo agent "mtrace".
|
|||
* Run the tests: cd test/demo/jvmti && runregress .
|
||||
(Do this on Solaris, Linux, and at least one Windows platform)
|
||||
|
||||
Contact: jk-svc-group@sun.com for more information or help.
|
||||
Contact: serviceability-dev@openjdk.java.net for more information or help.
|
||||
|
||||
|
|
41
jdk/make/mkdemo/jvmti/compiledMethodLoad/Makefile
Normal file
41
jdk/make/mkdemo/jvmti/compiledMethodLoad/Makefile
Normal file
|
@ -0,0 +1,41 @@
|
|||
#
|
||||
# Copyright 2010 Sun Microsystems, Inc. All Rights Reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation. Sun designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Sun in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
BUILDDIR = ../../..
|
||||
PRODUCT = demo/jvmti
|
||||
DEMONAME = compiledMethodLoad
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
DEMO_ROOT = $(SHARE_SRC)/demo/jvmti/$(DEMONAME)
|
||||
DEMO_TOPFILES = ./README.txt
|
||||
DEMO_DESTDIR = $(DEMODIR)/jvmti/$(DEMONAME)
|
||||
|
||||
DEMO_OBJECTS = agent_util.$(OBJECT_SUFFIX)
|
||||
|
||||
#
|
||||
# Demo jar building rules.
|
||||
#
|
||||
include $(BUILDDIR)/common/Demo.gmk
|
||||
|
|
@ -38,6 +38,8 @@ SUBDIRS = FullThreadDump \
|
|||
MemoryMonitor \
|
||||
JTop
|
||||
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -32,6 +32,7 @@ PRODUCT = demos
|
|||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = jconsole-plugin
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
|
|
@ -37,13 +37,18 @@ else
|
|||
WEBSERVICES_SUBDIR = webservices
|
||||
endif
|
||||
|
||||
SUBDIRS = nio jmx scripting $(WEBSERVICES_SUBDIR) nbproject
|
||||
SUBDIRS =
|
||||
SUBDIRS_misc = nio scripting nbproject
|
||||
SUBDIRS_enterprise = $(WEBSERVICES_SUBDIR)
|
||||
SUBDIRS_management = jmx
|
||||
|
||||
# include dtrace samples in Solaris builds
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
SUBDIRS += dtrace
|
||||
endif
|
||||
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -32,6 +32,8 @@ PRODUCT = java
|
|||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = jmx-scandir
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -32,6 +32,8 @@ PRODUCT = java
|
|||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = file multicast server
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -32,6 +32,8 @@ PRODUCT = java
|
|||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = scriptpad
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -32,6 +32,7 @@ PRODUCT = java
|
|||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = EbayClient EbayServer
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
|
|
@ -32,6 +32,7 @@ PRODUCT = org
|
|||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = ietf jcp
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
|
|
@ -31,6 +31,8 @@ BUILDDIR = ../..
|
|||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = jgss
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -58,13 +58,18 @@ ifdef OPENJDK
|
|||
else
|
||||
RENDER_SUBDIR = dcpr
|
||||
endif
|
||||
|
||||
# nio need to be compiled before awt to have all charsets ready
|
||||
SUBDIRS = jar security javazic misc jkernel net audio $(RENDER_SUBDIR) image \
|
||||
nio awt splashscreen $(XAWT_SUBDIR) \
|
||||
$(HEADLESS_SUBDIR) $(DGA_SUBDIR) \
|
||||
font jpeg cmm applet rmi beans $(JDBC_SUBDIR) \
|
||||
jawt text launcher management $(ORG_SUBDIR) \
|
||||
native2ascii serialver tools jconsole tracing
|
||||
SUBDIRS = jar security javazic misc net nio text launcher
|
||||
SUBDIRS_desktop = audio $(RENDER_SUBDIR) image \
|
||||
awt splashscreen $(XAWT_SUBDIR) \
|
||||
$(HEADLESS_SUBDIR) $(DGA_SUBDIR) \
|
||||
jawt font jpeg cmm applet beans
|
||||
SUBDIRS_management = management
|
||||
SUBDIRS_misc = jkernel $(ORG_SUBDIR) \
|
||||
rmi $(JDBC_SUBDIR) tracing
|
||||
SUBDIRS_tools = native2ascii serialver tools jconsole
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
|
|
@ -179,6 +179,8 @@ FILES_cpp = \
|
|||
awt_Mlib.cpp \
|
||||
awt_new.cpp \
|
||||
awt_TrayIcon.cpp \
|
||||
awt_DCHolder.cpp \
|
||||
awt_ole.cpp \
|
||||
ShaderList.cpp \
|
||||
D3DBlitLoops.cpp \
|
||||
D3DBufImgOps.cpp \
|
||||
|
|
|
@ -250,13 +250,14 @@ ifeq ($(PLATFORM), windows)
|
|||
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
|
||||
OTHER_LDLIBS = kernel32.lib user32.lib gdi32.lib winspool.lib \
|
||||
imm32.lib ole32.lib uuid.lib shell32.lib \
|
||||
comdlg32.lib winmm.lib comctl32.lib delayimp.lib \
|
||||
comdlg32.lib winmm.lib comctl32.lib \
|
||||
shlwapi.lib delayimp.lib \
|
||||
$(JVMLIB) \
|
||||
/DELAYLOAD:user32.dll /DELAYLOAD:gdi32.dll \
|
||||
/DELAYLOAD:shell32.dll /DELAYLOAD:winmm.dll \
|
||||
/DELAYLOAD:winspool.drv /DELAYLOAD:imm32.dll \
|
||||
/DELAYLOAD:ole32.dll /DELAYLOAD:comdlg32.dll \
|
||||
/DELAYLOAD:comctl32.dll
|
||||
/DELAYLOAD:comctl32.dll /DELAYLOAD:shlwapi.dll
|
||||
|
||||
clean:: awt.clean
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -36,6 +36,8 @@ else # !OPENJDK
|
|||
ICCPROFILE_SRC_DIR = $(CLOSED_SRC)/share/lib/cmm/kcms
|
||||
endif # OPENJDK
|
||||
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
#
|
||||
# ICC Profiles used by the CMM.
|
||||
#
|
||||
|
|
|
@ -43,6 +43,8 @@ ifeq ($(PLATFORM),solaris)
|
|||
endif
|
||||
endif
|
||||
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -47,6 +47,8 @@ else
|
|||
endif
|
||||
SUBDIRS += jmxremote
|
||||
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -29,6 +29,8 @@ PRODUCT = sun
|
|||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = others spi
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -26,7 +26,9 @@
|
|||
BUILDDIR = ../../..
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = nameservice
|
||||
SUBDIRS_misc = nameservice
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -27,6 +27,8 @@ BUILDDIR = ../../../..
|
|||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = dns
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -29,6 +29,8 @@ PRODUCT = sun
|
|||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = cs
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -32,6 +32,8 @@ PRODUCT = org
|
|||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = mozilla
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -32,6 +32,8 @@ PRODUCT = org
|
|||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = javascript
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -43,6 +43,8 @@ ifeq ($(PLATFORM), windows)
|
|||
SUBDIRS += cgi
|
||||
endif # PLATFORM
|
||||
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
# Then do the rest
|
||||
all build clean clobber ::
|
||||
$(SUBDIRS-loop)
|
||||
|
|
|
@ -67,8 +67,10 @@ ifdef DISABLE_INTREE_EC
|
|||
INTREE_EC =
|
||||
endif
|
||||
|
||||
SUBDIRS = $(INTREE_EC) other action util tools jgss krb5 smartcardio \
|
||||
$(PKCS11) $(JGSS_WRAPPER) $(MSCAPI)
|
||||
SUBDIRS = $(INTREE_EC) other action util krb5
|
||||
SUBDIRS_misc = jgss $(PKCS11) $(JGSS_WRAPPER) $(MSCAPI) smartcardio
|
||||
SUBDIRS_tools = tools
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
|
|
@ -33,6 +33,8 @@ PRODUCT = sun
|
|||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
SUBDIRS = dtrace
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build:
|
||||
$(SUBDIRS-loop)
|
||||
clean clobber::
|
||||
|
|
|
@ -56,6 +56,8 @@ ifndef DISABLE_NIMBUS
|
|||
SUBDIRS += generate_nimbus
|
||||
endif
|
||||
|
||||
include $(BUILDDIR)/common/Subdirs.gmk
|
||||
|
||||
all build clean clobber::
|
||||
$(SUBDIRS-loop)
|
||||
|
||||
|
|
|
@ -27,7 +27,6 @@ package com.sun.java.util.jar.pack;
|
|||
|
||||
import java.io.*;
|
||||
import java.util.*;
|
||||
import java.util.logging.Level;
|
||||
import com.sun.java.util.jar.pack.Package.Class;
|
||||
import com.sun.java.util.jar.pack.Package.File;
|
||||
import com.sun.java.util.jar.pack.Package.InnerClass;
|
||||
|
@ -162,7 +161,7 @@ class PackageReader extends BandStructure {
|
|||
|
||||
ok = true;
|
||||
} catch (Exception ee) {
|
||||
Utils.log.log(Level.WARNING, "Error on input: "+ee, ee);
|
||||
Utils.log.warning("Error on input: "+ee, ee);
|
||||
if (verbose > 0)
|
||||
Utils.log.info("Stream offsets:"+
|
||||
" served="+in.getBytesServed()+
|
||||
|
|
|
@ -27,7 +27,6 @@ package com.sun.java.util.jar.pack;
|
|||
|
||||
import java.io.*;
|
||||
import java.util.*;
|
||||
import java.util.logging.Level;
|
||||
import com.sun.java.util.jar.pack.Package.Class;
|
||||
import com.sun.java.util.jar.pack.Package.File;
|
||||
import com.sun.java.util.jar.pack.Package.InnerClass;
|
||||
|
@ -84,7 +83,7 @@ class PackageWriter extends BandStructure {
|
|||
|
||||
ok = true;
|
||||
} catch (Exception ee) {
|
||||
Utils.log.log(Level.WARNING, "Error on output: "+ee, ee);
|
||||
Utils.log.warning("Error on output: "+ee, ee);
|
||||
//if (verbose > 0) ee.printStackTrace();
|
||||
// Write partial output only if we are verbose.
|
||||
if (verbose > 0) finalOut.close();
|
||||
|
|
|
@ -28,9 +28,10 @@ package com.sun.java.util.jar.pack;
|
|||
import java.util.*;
|
||||
import java.util.jar.*;
|
||||
import java.util.zip.*;
|
||||
import java.util.logging.*;
|
||||
import java.io.*;
|
||||
|
||||
import sun.util.logging.PlatformLogger;
|
||||
|
||||
class Utils {
|
||||
static final String COM_PREFIX = "com.sun.java.util.jar.pack.";
|
||||
static final String METAINF = "META-INF";
|
||||
|
@ -130,31 +131,53 @@ class Utils {
|
|||
= Boolean.getBoolean(Utils.COM_PREFIX+"nolog");
|
||||
|
||||
|
||||
static final Logger log
|
||||
= new Logger("java.util.jar.Pack200", null) {
|
||||
public void log(LogRecord record) {
|
||||
int verbose = currentPropMap().getInteger(DEBUG_VERBOSE);
|
||||
if (verbose > 0) {
|
||||
if (nolog &&
|
||||
record.getLevel().intValue() < Level.WARNING.intValue()) {
|
||||
System.out.println(record.getMessage());
|
||||
} else {
|
||||
super.log(record);
|
||||
}
|
||||
}
|
||||
}
|
||||
static class Pack200Logger {
|
||||
private final String name;
|
||||
private PlatformLogger log;
|
||||
Pack200Logger(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public void fine(String msg) {
|
||||
int verbose = currentPropMap().getInteger(DEBUG_VERBOSE);
|
||||
if (verbose > 0) {
|
||||
System.out.println(msg);
|
||||
private synchronized PlatformLogger getLogger() {
|
||||
if (log == null) {
|
||||
log = PlatformLogger.getLogger(name);
|
||||
}
|
||||
return log;
|
||||
}
|
||||
|
||||
public void warning(String msg, Object param) {
|
||||
int verbose = currentPropMap().getInteger(DEBUG_VERBOSE);
|
||||
if (verbose > 0) {
|
||||
getLogger().warning(msg, param);
|
||||
}
|
||||
}
|
||||
|
||||
public void warning(String msg) {
|
||||
warning(msg, null);
|
||||
}
|
||||
|
||||
public void info(String msg) {
|
||||
int verbose = currentPropMap().getInteger(DEBUG_VERBOSE);
|
||||
if (verbose > 0) {
|
||||
if (nolog) {
|
||||
System.out.println(msg);
|
||||
} else {
|
||||
getLogger().info(msg);
|
||||
}
|
||||
}
|
||||
};
|
||||
static {
|
||||
LogManager.getLogManager().addLogger(log);
|
||||
}
|
||||
|
||||
public void fine(String msg) {
|
||||
int verbose = currentPropMap().getInteger(DEBUG_VERBOSE);
|
||||
if (verbose > 0) {
|
||||
System.out.println(msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static final Pack200Logger log
|
||||
= new Pack200Logger("java.util.jar.Pack200");
|
||||
|
||||
// Returns the Max Version String of this implementation
|
||||
static String getVersionString() {
|
||||
return "Pack200, Vendor: Sun Microsystems, Version: " +
|
||||
|
|
|
@ -28,6 +28,8 @@ import java.awt.peer.FileDialogPeer;
|
|||
import java.io.FilenameFilter;
|
||||
import java.io.IOException;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.io.File;
|
||||
import sun.awt.AWTAccessor;
|
||||
|
||||
/**
|
||||
* The <code>FileDialog</code> class displays a dialog window
|
||||
|
@ -93,6 +95,25 @@ public class FileDialog extends Dialog {
|
|||
*/
|
||||
String file;
|
||||
|
||||
/**
|
||||
* Contains the File instances for all the files that the user selects.
|
||||
*
|
||||
* @serial
|
||||
* @see getFiles
|
||||
* @since 1.7
|
||||
*/
|
||||
private File[] files;
|
||||
|
||||
/**
|
||||
* Represents whether the file dialog allows the multiple file selection.
|
||||
*
|
||||
* @serial
|
||||
* @see #setMultipleMode
|
||||
* @see #isMultipleMode
|
||||
* @since 1.7
|
||||
*/
|
||||
private boolean multipleMode = false;
|
||||
|
||||
/*
|
||||
* The filter used as the file dialog's filename filter.
|
||||
* The file dialog will only be displaying files whose
|
||||
|
@ -123,6 +144,26 @@ public class FileDialog extends Dialog {
|
|||
}
|
||||
}
|
||||
|
||||
static {
|
||||
AWTAccessor.setFileDialogAccessor(
|
||||
new AWTAccessor.FileDialogAccessor() {
|
||||
public void setFiles(FileDialog fileDialog, String directory, String files[]) {
|
||||
fileDialog.setFiles(directory, files);
|
||||
}
|
||||
public void setFile(FileDialog fileDialog, String file) {
|
||||
fileDialog.file = ("".equals(file)) ? null : file;
|
||||
}
|
||||
public void setDirectory(FileDialog fileDialog, String directory) {
|
||||
fileDialog.dir = ("".equals(directory)) ? null : directory;
|
||||
}
|
||||
public boolean isMultipleMode(FileDialog fileDialog) {
|
||||
synchronized (fileDialog.getObjectLock()) {
|
||||
return fileDialog.multipleMode;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize JNI field and method IDs for fields that may be
|
||||
accessed from C.
|
||||
|
@ -370,6 +411,51 @@ public class FileDialog extends Dialog {
|
|||
return file;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns files that the user selects.
|
||||
* <p>
|
||||
* If the user cancels the file dialog,
|
||||
* then the method returns an empty array.
|
||||
*
|
||||
* @return files that the user selects or an empty array
|
||||
* if the user cancels the file dialog.
|
||||
* @see #setFile(String)
|
||||
* @see #getFile
|
||||
* @since 1.7
|
||||
*/
|
||||
public File[] getFiles() {
|
||||
synchronized (getObjectLock()) {
|
||||
if (files != null) {
|
||||
return files.clone();
|
||||
} else {
|
||||
return new File[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Stores the names of all the files that the user selects.
|
||||
*
|
||||
* Note that the method is private and it's intended to be used
|
||||
* by the peers through the AWTAccessor API.
|
||||
*
|
||||
* @param directory the current directory
|
||||
* @param files the array that contains the short names of
|
||||
* all the files that the user selects.
|
||||
*
|
||||
* @see #getFiles
|
||||
* @since 1.7
|
||||
*/
|
||||
private void setFiles(String directory, String files[]) {
|
||||
synchronized (getObjectLock()) {
|
||||
int filesNumber = (files != null) ? files.length : 0;
|
||||
this.files = new File[filesNumber];
|
||||
for (int i = 0; i < filesNumber; i++) {
|
||||
this.files[i] = new File(directory, files[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the selected file for this file dialog window to be the
|
||||
* specified file. This file becomes the default file if it is set
|
||||
|
@ -380,7 +466,8 @@ public class FileDialog extends Dialog {
|
|||
* as the file.
|
||||
*
|
||||
* @param file the file being set
|
||||
* @see java.awt.FileDialog#getFile
|
||||
* @see #getFile
|
||||
* @see #getFiles
|
||||
*/
|
||||
public void setFile(String file) {
|
||||
this.file = (file != null && file.equals("")) ? null : file;
|
||||
|
@ -390,6 +477,34 @@ public class FileDialog extends Dialog {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Enables or disables multiple file selection for the file dialog.
|
||||
*
|
||||
* @param enable if {@code true}, multiple file selection is enabled;
|
||||
* {@code false} - disabled.
|
||||
* @see #isMultipleMode
|
||||
* @since 1.7
|
||||
*/
|
||||
public void setMultipleMode(boolean enable) {
|
||||
synchronized (getObjectLock()) {
|
||||
this.multipleMode = enable;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether the file dialog allows the multiple file selection.
|
||||
*
|
||||
* @return {@code true} if the file dialog allows the multiple
|
||||
* file selection; {@code false} otherwise.
|
||||
* @see #setMultipleMode
|
||||
* @since 1.7
|
||||
*/
|
||||
public boolean isMultipleMode() {
|
||||
synchronized (getObjectLock()) {
|
||||
return multipleMode;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines this file dialog's filename filter. A filename filter
|
||||
* allows the user to specify which files appear in the file dialog
|
||||
|
|
|
@ -110,7 +110,7 @@ public abstract class GraphicsEnvironment {
|
|||
// long t1 = System.currentTimeMillis();
|
||||
// System.out.println("GE creation took " + (t1-t0)+ "ms.");
|
||||
if (isHeadless()) {
|
||||
localEnv = new HeadlessGraphicsEnvironment(localEnv);
|
||||
ge = new HeadlessGraphicsEnvironment(ge);
|
||||
}
|
||||
} catch (ClassNotFoundException e) {
|
||||
throw new Error("Could not find class: "+nm);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-2010 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -146,6 +146,8 @@ public class DefaultPersistenceDelegate extends PersistenceDelegate {
|
|||
* @param out The code output stream.
|
||||
* @return An expression whose value is <code>oldInstance</code>.
|
||||
*
|
||||
* @throws NullPointerException if {@code out} is {@code null}
|
||||
*
|
||||
* @see #DefaultPersistenceDelegate(String[])
|
||||
*/
|
||||
protected Expression instantiate(Object oldInstance, Encoder out) {
|
||||
|
@ -367,6 +369,8 @@ public class DefaultPersistenceDelegate extends PersistenceDelegate {
|
|||
* @param newInstance The instance that is to be modified.
|
||||
* @param out The stream to which any initialization statements should be written.
|
||||
*
|
||||
* @throws NullPointerException if {@code out} is {@code null}
|
||||
*
|
||||
* @see java.beans.Introspector#getBeanInfo
|
||||
* @see java.beans.PropertyDescriptor
|
||||
*/
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2000-2009 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-2010 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -112,54 +112,82 @@ public class Encoder {
|
|||
|
||||
/**
|
||||
* Returns the persistence delegate for the given type.
|
||||
* The persistence delegate is calculated
|
||||
* by applying the following of rules in order:
|
||||
* <ul>
|
||||
* The persistence delegate is calculated by applying
|
||||
* the following rules in order:
|
||||
* <ol>
|
||||
* <li>
|
||||
* If the type is an array, an internal persistence
|
||||
* delegate is returned which will instantiate an
|
||||
* array of the appropriate type and length, initializing
|
||||
* each of its elements as if they are properties.
|
||||
* If a persistence delegate is associated with the given type
|
||||
* by using the {@link #setPersistenceDelegate} method
|
||||
* it is returned.
|
||||
* <li>
|
||||
* If the type is a proxy, an internal persistence
|
||||
* delegate is returned which will instantiate a
|
||||
* new proxy instance using the static
|
||||
* "newProxyInstance" method defined in the
|
||||
* Proxy class.
|
||||
* A persistence delegate is then looked up by the name
|
||||
* composed of the the fully qualified name of the given type
|
||||
* and the "PersistenceDelegate" postfix.
|
||||
* For example, a persistence delegate for the {@code Bean} class
|
||||
* should be named {@code BeanPersistenceDelegate}
|
||||
* and located in the same package.
|
||||
* <pre>
|
||||
* public class Bean { ... }
|
||||
* public class BeanPersistenceDelegate { ... }</pre>
|
||||
* The instance of the {@code BeanPersistenceDelegate} class
|
||||
* is returned for the {@code Bean} class.
|
||||
* <li>
|
||||
* If the BeanInfo for this type has a <code>BeanDescriptor</code>
|
||||
* which defined a "persistenceDelegate" property, this
|
||||
* value is returned.
|
||||
* If the type is {@code null},
|
||||
* a shared internal persistence delegate is returned
|
||||
* that encodes {@code null} value.
|
||||
* <li>
|
||||
* In all other cases the default persistence delegate
|
||||
* is returned. The default persistence delegate assumes
|
||||
* the type is a <em>JavaBean</em>, implying that it has a default constructor
|
||||
* and that its state may be characterized by the matching pairs
|
||||
* of "setter" and "getter" methods returned by the Introspector.
|
||||
* If the type is a {@code enum} declaration,
|
||||
* a shared internal persistence delegate is returned
|
||||
* that encodes constants of this enumeration
|
||||
* by their names.
|
||||
* <li>
|
||||
* If the type is a primitive type or the corresponding wrapper,
|
||||
* a shared internal persistence delegate is returned
|
||||
* that encodes values of the given type.
|
||||
* <li>
|
||||
* If the type is an array,
|
||||
* a shared internal persistence delegate is returned
|
||||
* that encodes an array of the appropriate type and length,
|
||||
* and each of its elements as if they are properties.
|
||||
* <li>
|
||||
* If the type is a proxy,
|
||||
* a shared internal persistence delegate is returned
|
||||
* that encodes a proxy instance by using
|
||||
* the {@link java.lang.reflect.Proxy#newProxyInstance} method.
|
||||
* <li>
|
||||
* If the {@link BeanInfo} for this type has a {@link BeanDescriptor}
|
||||
* which defined a "persistenceDelegate" attribute,
|
||||
* the value of this named attribute is returned.
|
||||
* <li>
|
||||
* In all other cases the default persistence delegate is returned.
|
||||
* The default persistence delegate assumes the type is a <em>JavaBean</em>,
|
||||
* implying that it has a default constructor and that its state
|
||||
* may be characterized by the matching pairs of "setter" and "getter"
|
||||
* methods returned by the {@link Introspector} class.
|
||||
* The default constructor is the constructor with the greatest number
|
||||
* of parameters that has the {@link ConstructorProperties} annotation.
|
||||
* If none of the constructors have the {@code ConstructorProperties} annotation,
|
||||
* If none of the constructors has the {@code ConstructorProperties} annotation,
|
||||
* then the nullary constructor (constructor with no parameters) will be used.
|
||||
* For example, in the following the nullary constructor
|
||||
* for {@code Foo} will be used, while the two parameter constructor
|
||||
* for {@code Bar} will be used.
|
||||
* <code>
|
||||
* public class Foo {
|
||||
* For example, in the following code fragment, the nullary constructor
|
||||
* for the {@code Foo} class will be used,
|
||||
* while the two-parameter constructor
|
||||
* for the {@code Bar} class will be used.
|
||||
* <pre>
|
||||
* public class Foo {
|
||||
* public Foo() { ... }
|
||||
* public Foo(int x) { ... }
|
||||
* }
|
||||
* public class Bar {
|
||||
* }
|
||||
* public class Bar {
|
||||
* public Bar() { ... }
|
||||
* @ConstructorProperties({"x"})
|
||||
* public Bar(int x) { ... }
|
||||
* @ConstructorProperties({"x", "y"})
|
||||
* public Bar(int x, int y) { ... }
|
||||
* }
|
||||
* </code>
|
||||
* </ul>
|
||||
* }</pre>
|
||||
* </ol>
|
||||
*
|
||||
* @param type The type of the object.
|
||||
* @return The persistence delegate for this type of object.
|
||||
* @param type the class of the objects
|
||||
* @return the persistence delegate for the given type
|
||||
*
|
||||
* @see #setPersistenceDelegate
|
||||
* @see java.beans.Introspector#getBeanInfo
|
||||
|
@ -176,21 +204,18 @@ public class Encoder {
|
|||
}
|
||||
|
||||
/**
|
||||
* Sets the persistence delegate associated with this <code>type</code> to
|
||||
* <code>persistenceDelegate</code>.
|
||||
* Associates the specified persistence delegate with the given type.
|
||||
*
|
||||
* @param type The class of objects that <code>persistenceDelegate</code> applies to.
|
||||
* @param persistenceDelegate The persistence delegate for instances of <code>type</code>.
|
||||
* @param type the class of objects that the specified persistence delegate applies to
|
||||
* @param delegate the persistence delegate for instances of the given type
|
||||
*
|
||||
* @see #getPersistenceDelegate
|
||||
* @see java.beans.Introspector#getBeanInfo
|
||||
* @see java.beans.BeanInfo#getBeanDescriptor
|
||||
*/
|
||||
public void setPersistenceDelegate(Class<?> type,
|
||||
PersistenceDelegate persistenceDelegate)
|
||||
{
|
||||
public void setPersistenceDelegate(Class<?> type, PersistenceDelegate delegate) {
|
||||
synchronized (this.finder) {
|
||||
this.finder.register(type, persistenceDelegate);
|
||||
this.finder.register(type, delegate);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2000-2007 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-2010 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -51,12 +51,19 @@ public class Expression extends Statement {
|
|||
private Object value = unbound;
|
||||
|
||||
/**
|
||||
* Creates a new <code>Statement</code> object with a <code>target</code>,
|
||||
* <code>methodName</code> and <code>arguments</code> as per the parameters.
|
||||
* Creates a new {@link Expression} object
|
||||
* for the specified target object to invoke the method
|
||||
* specified by the name and by the array of arguments.
|
||||
* <p>
|
||||
* The {@code target} and the {@code methodName} values should not be {@code null}.
|
||||
* Otherwise an attempt to execute this {@code Expression}
|
||||
* will result in a {@code NullPointerException}.
|
||||
* If the {@code arguments} value is {@code null},
|
||||
* an empty array is used as the value of the {@code arguments} property.
|
||||
*
|
||||
* @param target The target of this expression.
|
||||
* @param methodName The methodName of this expression.
|
||||
* @param arguments The arguments of this expression. If <code>null</code> then an empty array will be used.
|
||||
* @param target the target object of this expression
|
||||
* @param methodName the name of the method to invoke on the specified target
|
||||
* @param arguments the array of arguments to invoke the specified method
|
||||
*
|
||||
* @see #getValue
|
||||
*/
|
||||
|
@ -66,16 +73,23 @@ public class Expression extends Statement {
|
|||
}
|
||||
|
||||
/**
|
||||
* Creates a new <code>Expression</code> object for a method
|
||||
* that returns a result. The result will never be calculated
|
||||
* however, since this constructor uses the <code>value</code>
|
||||
* parameter to set the value property by calling the
|
||||
* <code>setValue</code> method.
|
||||
* Creates a new {@link Expression} object with the specified value
|
||||
* for the specified target object to invoke the method
|
||||
* specified by the name and by the array of arguments.
|
||||
* The {@code value} value is used as the value of the {@code value} property,
|
||||
* so the {@link #getValue} method will return it
|
||||
* without executing this {@code Expression}.
|
||||
* <p>
|
||||
* The {@code target} and the {@code methodName} values should not be {@code null}.
|
||||
* Otherwise an attempt to execute this {@code Expression}
|
||||
* will result in a {@code NullPointerException}.
|
||||
* If the {@code arguments} value is {@code null},
|
||||
* an empty array is used as the value of the {@code arguments} property.
|
||||
*
|
||||
* @param value The value of this expression.
|
||||
* @param target The target of this expression.
|
||||
* @param methodName The methodName of this expression.
|
||||
* @param arguments The arguments of this expression. If <code>null</code> then an empty array will be used.
|
||||
* @param value the value of this expression
|
||||
* @param target the target object of this expression
|
||||
* @param methodName the name of the method to invoke on the specified target
|
||||
* @param arguments the array of arguments to invoke the specified method
|
||||
*
|
||||
* @see #setValue
|
||||
*/
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 1996-2010 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -29,6 +29,8 @@ import com.sun.beans.WeakCache;
|
|||
import com.sun.beans.finder.BeanInfoFinder;
|
||||
import com.sun.beans.finder.ClassFinder;
|
||||
|
||||
import java.lang.ref.Reference;
|
||||
import java.lang.ref.SoftReference;
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Modifier;
|
||||
|
||||
|
@ -39,6 +41,7 @@ import java.util.Iterator;
|
|||
import java.util.EventListener;
|
||||
import java.util.List;
|
||||
import java.util.TreeMap;
|
||||
import java.util.WeakHashMap;
|
||||
|
||||
import sun.awt.AppContext;
|
||||
import sun.reflect.misc.ReflectUtil;
|
||||
|
@ -155,11 +158,11 @@ public class Introspector {
|
|||
return (new Introspector(beanClass, null, USE_ALL_BEANINFO)).getBeanInfo();
|
||||
}
|
||||
synchronized (BEANINFO_CACHE) {
|
||||
WeakCache<Class<?>, BeanInfo> beanInfoCache =
|
||||
(WeakCache<Class<?>, BeanInfo>) AppContext.getAppContext().get(BEANINFO_CACHE);
|
||||
Map<Class<?>, BeanInfo> beanInfoCache =
|
||||
(Map<Class<?>, BeanInfo>) AppContext.getAppContext().get(BEANINFO_CACHE);
|
||||
|
||||
if (beanInfoCache == null) {
|
||||
beanInfoCache = new WeakCache<Class<?>, BeanInfo>();
|
||||
beanInfoCache = new WeakHashMap<Class<?>, BeanInfo>();
|
||||
AppContext.getAppContext().put(BEANINFO_CACHE, beanInfoCache);
|
||||
}
|
||||
BeanInfo beanInfo = beanInfoCache.get(beanClass);
|
||||
|
@ -341,7 +344,7 @@ public class Introspector {
|
|||
|
||||
public static void flushCaches() {
|
||||
synchronized (BEANINFO_CACHE) {
|
||||
WeakCache beanInfoCache = (WeakCache) AppContext.getAppContext().get(BEANINFO_CACHE);
|
||||
Map beanInfoCache = (Map) AppContext.getAppContext().get(BEANINFO_CACHE);
|
||||
if (beanInfoCache != null) {
|
||||
beanInfoCache.clear();
|
||||
}
|
||||
|
@ -369,7 +372,7 @@ public class Introspector {
|
|||
throw new NullPointerException();
|
||||
}
|
||||
synchronized (BEANINFO_CACHE) {
|
||||
WeakCache beanInfoCache = (WeakCache) AppContext.getAppContext().get(BEANINFO_CACHE);
|
||||
Map beanInfoCache = (Map) AppContext.getAppContext().get(BEANINFO_CACHE);
|
||||
if (beanInfoCache != null) {
|
||||
beanInfoCache.put(clz, null);
|
||||
}
|
||||
|
@ -1458,7 +1461,7 @@ class GenericBeanInfo extends SimpleBeanInfo {
|
|||
private PropertyDescriptor[] properties;
|
||||
private int defaultProperty;
|
||||
private MethodDescriptor[] methods;
|
||||
private BeanInfo targetBeanInfo;
|
||||
private final Reference<BeanInfo> targetBeanInfoRef;
|
||||
|
||||
public GenericBeanInfo(BeanDescriptor beanDescriptor,
|
||||
EventSetDescriptor[] events, int defaultEvent,
|
||||
|
@ -1470,7 +1473,7 @@ class GenericBeanInfo extends SimpleBeanInfo {
|
|||
this.properties = properties;
|
||||
this.defaultProperty = defaultProperty;
|
||||
this.methods = methods;
|
||||
this.targetBeanInfo = targetBeanInfo;
|
||||
this.targetBeanInfoRef = new SoftReference<BeanInfo>(targetBeanInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1509,7 +1512,7 @@ class GenericBeanInfo extends SimpleBeanInfo {
|
|||
methods[i] = new MethodDescriptor(old.methods[i]);
|
||||
}
|
||||
}
|
||||
targetBeanInfo = old.targetBeanInfo;
|
||||
this.targetBeanInfoRef = old.targetBeanInfoRef;
|
||||
}
|
||||
|
||||
public PropertyDescriptor[] getPropertyDescriptors() {
|
||||
|
@ -1537,6 +1540,7 @@ class GenericBeanInfo extends SimpleBeanInfo {
|
|||
}
|
||||
|
||||
public java.awt.Image getIcon(int iconKind) {
|
||||
BeanInfo targetBeanInfo = this.targetBeanInfoRef.get();
|
||||
if (targetBeanInfo != null) {
|
||||
return targetBeanInfo.getIcon(iconKind);
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-2010 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -105,6 +105,8 @@ public abstract class PersistenceDelegate {
|
|||
*
|
||||
* @param oldInstance The instance that will be created by this expression.
|
||||
* @param out The stream to which this expression will be written.
|
||||
*
|
||||
* @throws NullPointerException if {@code out} is {@code null}
|
||||
*/
|
||||
public void writeObject(Object oldInstance, Encoder out) {
|
||||
Object newInstance = out.get(oldInstance);
|
||||
|
@ -158,6 +160,8 @@ public abstract class PersistenceDelegate {
|
|||
* @param oldInstance The instance that will be created by this expression.
|
||||
* @param out The stream to which this expression will be written.
|
||||
* @return An expression whose value is <code>oldInstance</code>.
|
||||
*
|
||||
* @throws NullPointerException if {@code out} is {@code null}
|
||||
*/
|
||||
protected abstract Expression instantiate(Object oldInstance, Encoder out);
|
||||
|
||||
|
@ -196,6 +200,8 @@ public abstract class PersistenceDelegate {
|
|||
* @param oldInstance The instance to be copied.
|
||||
* @param newInstance The instance that is to be modified.
|
||||
* @param out The stream to which any initialization statements should be written.
|
||||
*
|
||||
* @throws NullPointerException if {@code out} is {@code null}
|
||||
*/
|
||||
protected void initialize(Class<?> type,
|
||||
Object oldInstance, Object newInstance,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2000-2009 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-2010 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -69,13 +69,19 @@ public class Statement {
|
|||
ClassLoader loader;
|
||||
|
||||
/**
|
||||
* Creates a new <code>Statement</code> object with a <code>target</code>,
|
||||
* <code>methodName</code> and <code>arguments</code> as per the parameters.
|
||||
*
|
||||
* @param target The target of this statement.
|
||||
* @param methodName The methodName of this statement.
|
||||
* @param arguments The arguments of this statement. If <code>null</code> then an empty array will be used.
|
||||
* Creates a new {@link Statement} object
|
||||
* for the specified target object to invoke the method
|
||||
* specified by the name and by the array of arguments.
|
||||
* <p>
|
||||
* The {@code target} and the {@code methodName} values should not be {@code null}.
|
||||
* Otherwise an attempt to execute this {@code Expression}
|
||||
* will result in a {@code NullPointerException}.
|
||||
* If the {@code arguments} value is {@code null},
|
||||
* an empty array is used as the value of the {@code arguments} property.
|
||||
*
|
||||
* @param target the target object of this statement
|
||||
* @param methodName the name of the method to invoke on the specified target
|
||||
* @param arguments the array of arguments to invoke the specified method
|
||||
*/
|
||||
@ConstructorProperties({"target", "methodName", "arguments"})
|
||||
public Statement(Object target, String methodName, Object[] arguments) {
|
||||
|
@ -85,27 +91,36 @@ public class Statement {
|
|||
}
|
||||
|
||||
/**
|
||||
* Returns the target of this statement.
|
||||
* Returns the target object of this statement.
|
||||
* If this method returns {@code null},
|
||||
* the {@link #execute} method
|
||||
* throws a {@code NullPointerException}.
|
||||
*
|
||||
* @return The target of this statement.
|
||||
* @return the target object of this statement
|
||||
*/
|
||||
public Object getTarget() {
|
||||
return target;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the name of the method.
|
||||
* Returns the name of the method to invoke.
|
||||
* If this method returns {@code null},
|
||||
* the {@link #execute} method
|
||||
* throws a {@code NullPointerException}.
|
||||
*
|
||||
* @return The name of the method.
|
||||
* @return the name of the method
|
||||
*/
|
||||
public String getMethodName() {
|
||||
return methodName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the arguments of this statement.
|
||||
* Returns the arguments for the method to invoke.
|
||||
* The number of arguments and their types
|
||||
* must match the method being called.
|
||||
* {@code null} can be used as a synonym of an empty array.
|
||||
*
|
||||
* @return the arguments of this statement.
|
||||
* @return the array of arguments
|
||||
*/
|
||||
public Object[] getArguments() {
|
||||
return arguments;
|
||||
|
@ -154,6 +169,9 @@ public class Statement {
|
|||
}
|
||||
|
||||
Object[] arguments = getArguments();
|
||||
if (arguments == null) {
|
||||
arguments = emptyArray;
|
||||
}
|
||||
// Class.forName() won't load classes outside
|
||||
// of core from a class inside core. Special
|
||||
// case this method.
|
||||
|
@ -285,7 +303,9 @@ public class Statement {
|
|||
Object target = getTarget();
|
||||
String methodName = getMethodName();
|
||||
Object[] arguments = getArguments();
|
||||
|
||||
if (arguments == null) {
|
||||
arguments = emptyArray;
|
||||
}
|
||||
StringBuffer result = new StringBuffer(instanceName(target) + "." + methodName + "(");
|
||||
int n = arguments.length;
|
||||
for(int i = 0; i < n; i++) {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2000-2009 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -663,15 +663,23 @@ public class PKIXParameters implements CertPathParameters {
|
|||
*/
|
||||
public Object clone() {
|
||||
try {
|
||||
Object copy = super.clone();
|
||||
// Must clone these because addCertStore, et al. modify them
|
||||
PKIXParameters copy = (PKIXParameters)super.clone();
|
||||
|
||||
// must clone these because addCertStore, et al. modify them
|
||||
if (certStores != null) {
|
||||
certStores = new ArrayList<CertStore>(certStores);
|
||||
copy.certStores = new ArrayList<CertStore>(certStores);
|
||||
}
|
||||
if (certPathCheckers != null) {
|
||||
certPathCheckers =
|
||||
new ArrayList<PKIXCertPathChecker>(certPathCheckers);
|
||||
copy.certPathCheckers =
|
||||
new ArrayList<PKIXCertPathChecker>(certPathCheckers.size());
|
||||
for (PKIXCertPathChecker checker : certPathCheckers) {
|
||||
copy.certPathCheckers.add(
|
||||
(PKIXCertPathChecker)checker.clone());
|
||||
}
|
||||
}
|
||||
|
||||
// other class fields are immutable to public, don't bother
|
||||
// to clone the read-only fields.
|
||||
return copy;
|
||||
} catch (CloneNotSupportedException e) {
|
||||
/* Cannot happen */
|
||||
|
|
|
@ -232,7 +232,7 @@ public final class CollationElementIterator
|
|||
buffer = makeReorderedBuffer(consonant, value, buffer, true);
|
||||
value = buffer[0];
|
||||
expIndex = 1;
|
||||
} else {
|
||||
} else if (consonant != NormalizerBase.DONE) {
|
||||
text.previous();
|
||||
}
|
||||
}
|
||||
|
@ -242,7 +242,7 @@ public final class CollationElementIterator
|
|||
buffer = makeReorderedBuffer(consonant, value, buffer, true);
|
||||
value = buffer[0];
|
||||
expIndex = 1;
|
||||
} else {
|
||||
} else if (consonant != NormalizerBase.DONE) {
|
||||
text.previous();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -621,6 +621,8 @@ class RuleBasedBreakIterator extends BreakIterator {
|
|||
return handleNext();
|
||||
}
|
||||
|
||||
private int cachedLastKnownBreak = BreakIterator.DONE;
|
||||
|
||||
/**
|
||||
* Advances the iterator backwards, to the last boundary preceding this one.
|
||||
* @return The position of the last boundary position preceding this one.
|
||||
|
@ -638,8 +640,16 @@ class RuleBasedBreakIterator extends BreakIterator {
|
|||
// the current position), but not necessarily the last one before
|
||||
// where we started
|
||||
int start = current();
|
||||
getPrevious();
|
||||
int lastResult = handlePrevious();
|
||||
int lastResult = cachedLastKnownBreak;
|
||||
if (lastResult >= start || lastResult <= BreakIterator.DONE) {
|
||||
getPrevious();
|
||||
lastResult = handlePrevious();
|
||||
} else {
|
||||
//it might be better to check if handlePrevious() give us closer
|
||||
//safe value but handlePrevious() is slow too
|
||||
//So, this has to be done carefully
|
||||
text.setIndex(lastResult);
|
||||
}
|
||||
int result = lastResult;
|
||||
|
||||
// iterate forward from the known break position until we pass our
|
||||
|
@ -653,6 +663,7 @@ class RuleBasedBreakIterator extends BreakIterator {
|
|||
// set the current iteration position to be the last break position
|
||||
// before where we started, and then return that value
|
||||
text.setIndex(lastResult);
|
||||
cachedLastKnownBreak = lastResult;
|
||||
return lastResult;
|
||||
}
|
||||
|
||||
|
@ -757,7 +768,8 @@ class RuleBasedBreakIterator extends BreakIterator {
|
|||
// then we can just use next() to get our return value
|
||||
text.setIndex(offset);
|
||||
if (offset == text.getBeginIndex()) {
|
||||
return handleNext();
|
||||
cachedLastKnownBreak = handleNext();
|
||||
return cachedLastKnownBreak;
|
||||
}
|
||||
|
||||
// otherwise, we have to sync up first. Use handlePrevious() to back
|
||||
|
@ -767,10 +779,19 @@ class RuleBasedBreakIterator extends BreakIterator {
|
|||
// position at or before our starting position. Advance forward
|
||||
// from here until we've passed the starting position. The position
|
||||
// we stop on will be the first break position after the specified one.
|
||||
int result = handlePrevious();
|
||||
int result = cachedLastKnownBreak;
|
||||
if (result >= offset || result <= BreakIterator.DONE) {
|
||||
result = handlePrevious();
|
||||
} else {
|
||||
//it might be better to check if handlePrevious() give us closer
|
||||
//safe value but handlePrevious() is slow too
|
||||
//So, this has to be done carefully
|
||||
text.setIndex(result);
|
||||
}
|
||||
while (result != BreakIterator.DONE && result <= offset) {
|
||||
result = handleNext();
|
||||
}
|
||||
cachedLastKnownBreak = result;
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -865,6 +886,8 @@ class RuleBasedBreakIterator extends BreakIterator {
|
|||
text = new SafeCharIterator(newText);
|
||||
}
|
||||
text.first();
|
||||
|
||||
cachedLastKnownBreak = BreakIterator.DONE;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -953,7 +953,7 @@ public class Date
|
|||
* without affecting its internal state.
|
||||
*/
|
||||
static final long getMillisOf(Date date) {
|
||||
if (date.cdate == null) {
|
||||
if (date.cdate == null || date.cdate.isNormalized()) {
|
||||
return date.fastTime;
|
||||
}
|
||||
BaseCalendar.Date d = (BaseCalendar.Date) date.cdate.clone();
|
||||
|
|
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