Merge jdk7-b91
authorduke
Wed, 05 Jul 2017 17:10:46 +0200
changeset 5329 308ad8f68b8d
parent 5328 d983ab4471c4 (diff)
parent 5271 e6f21008e6f7 (current diff)
child 5330 61749d2a269f
child 5331 6cd754e132a2
child 5332 92f5401664dd
child 5356 592dfb57d4b1
child 5361 d36af409752e
child 5363 e5dbe15cfee0
child 5365 34f8f501f771
child 5367 dc292c44a947
child 5369 f6dc4589a315
Merge
--- a/.hgtags-top-repo	Wed Jul 05 17:10:17 2017 +0200
+++ b/.hgtags-top-repo	Wed Jul 05 17:10:46 2017 +0200
@@ -64,3 +64,4 @@
 6b1069f53fbc30663ccef49d78c31bb7d6967bde jdk7-b87
 82135c848d5fcddb065e98ae77b81077c858f593 jdk7-b88
 7f1ba4459972bf84b8201dc1cc4f62b1fe1c74f4 jdk7-b89
+425ba3efabbfe0b188105c10aaf7c3c8fa8d1a38 jdk7-b90
--- a/corba/.hgtags	Wed Jul 05 17:10:17 2017 +0200
+++ b/corba/.hgtags	Wed Jul 05 17:10:46 2017 +0200
@@ -64,3 +64,4 @@
 09a41111a401d327f65e453384d976a10154d9ea jdk7-b87
 39e14d2da687c7e592142137517aaf689544820f jdk7-b88
 bb4424c5e778b842c064a8b1aa902b35f4397654 jdk7-b89
+56ce07b0eb47b93a98a72adef0f21e602c460623 jdk7-b90
--- a/hotspot/.hgtags	Wed Jul 05 17:10:17 2017 +0200
+++ b/hotspot/.hgtags	Wed Jul 05 17:10:46 2017 +0200
@@ -89,3 +89,4 @@
 4b60f23c42231f7ecd62ad1fcb6a9ca26fa57d1b jdk7-b88
 15836273ac2494f36ef62088bc1cb6f3f011f565 jdk7-b89
 4b60f23c42231f7ecd62ad1fcb6a9ca26fa57d1b hs18-b02
+605c9707a766ff518cd841fc04f9bb4b36a3a30b jdk7-b90
--- a/jaxp/.hgtags	Wed Jul 05 17:10:17 2017 +0200
+++ b/jaxp/.hgtags	Wed Jul 05 17:10:46 2017 +0200
@@ -64,3 +64,4 @@
 8b493f1aa136d86de0885fcba15262c4fa2b1412 jdk7-b87
 d8ebd15910034f2ba50b2f129f959f86cca01419 jdk7-b88
 d2818fd2b036f3b3154a9a7de41afcf4ac679c1b jdk7-b89
+c5d932ee326d6f7fd4634b11c7185ea82d184df2 jdk7-b90
--- a/jaxws/.hgtags	Wed Jul 05 17:10:17 2017 +0200
+++ b/jaxws/.hgtags	Wed Jul 05 17:10:46 2017 +0200
@@ -64,3 +64,4 @@
 3febd6fab2ac8ffddbaf7bed00d11290262af153 jdk7-b87
 8c666f8f3565974e301ccb58b7538912551a6e26 jdk7-b88
 bf3675aa7f20fc6f241ce95760005aef2a30ff41 jdk7-b89
+ead7c4566a0017bcb44b468b3ac03b60dc5333ce jdk7-b90
--- a/jdk/.hgtags	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/.hgtags	Wed Jul 05 17:10:46 2017 +0200
@@ -64,3 +64,4 @@
 2cafbbe9825e911a6ca6c17d9a18eb1f0bf0873c jdk7-b87
 b3c69282f6d3c90ec21056cd1ab70dc0c895b069 jdk7-b88
 4a6abb7e224cc8d9a583c23c5782e4668739a119 jdk7-b89
+7f90d0b9dbb7ab4c60d0b0233e4e77fb4fac597c jdk7-b90
--- a/jdk/make/sun/javazic/tzdata/VERSION	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/make/sun/javazic/tzdata/VERSION	Wed Jul 05 17:10:46 2017 +0200
@@ -21,4 +21,4 @@
 # CA 95054 USA or visit www.sun.com if you need additional information or
 # have any questions.
 #
-tzdata2010g
+tzdata2010i
--- a/jdk/make/sun/javazic/tzdata/africa	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/make/sun/javazic/tzdata/africa	Wed Jul 05 17:10:46 2017 +0200
@@ -702,6 +702,21 @@
 # http://www.worldtimezone.com/dst_news/dst_news_morocco03.html
 # </a>
 
+# From Steffen Thorsen (2010-04-13):
+# Several news media in Morocco report that the Ministry of Modernization
+# of Public Sectors has announced that Morocco will have DST from
+# 2010-05-02 to 2010-08-08.
+#
+# Example:
+# <a href="http://www.lavieeco.com/actualites/4099-le-maroc-passera-a-l-heure-d-ete-gmt1-le-2-mai.html">
+# http://www.lavieeco.com/actualites/4099-le-maroc-passera-a-l-heure-d-ete-gmt1-le-2-mai.html
+# </a>
+# (French)
+# Our page:
+# <a href="http://www.timeanddate.com/news/time/morocco-starts-dst-2010.html">
+# http://www.timeanddate.com/news/time/morocco-starts-dst-2010.html
+# </a>
+
 # RULE	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 
 Rule	Morocco	1939	only	-	Sep	12	 0:00	1:00	S
@@ -723,6 +738,8 @@
 Rule	Morocco	2008	only	-	Sep	 1	 0:00	0	-
 Rule	Morocco	2009	only	-	Jun	 1	 0:00	1:00	S
 Rule	Morocco	2009	only	-	Aug	 21	 0:00	0	-
+Rule	Morocco	2010	only	-	May	 2	 0:00	1:00	S
+Rule	Morocco	2010	only	-	Aug	 8	 0:00	0	-
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone Africa/Casablanca	-0:30:20 -	LMT	1913 Oct 26
 			 0:00	Morocco	WE%sT	1984 Mar 16
@@ -964,6 +981,24 @@
 # Therefore, the standard time will be kept unchanged the whole year long."
 # So foregoing DST seems to be an exception (albeit one that may be repeated in the  future).
 
+# From Alexander Krivenyshev (2010-03-27):
+# According to some news reports Tunis confirmed not to use DST in 2010
+#
+# (translation):
+# "The Tunisian government has decided to abandon DST, which was scheduled on
+# Sunday...
+# Tunisian authorities had suspended the DST for the first time last year also
+# coincided with the month of Ramadan..."
+#
+# (in Arabic)
+# <a href="http://www.moheet.com/show_news.aspx?nid=358861&pg=1">
+# http://www.moheet.com/show_news.aspx?nid=358861&pg=1
+# <a href="http://www.almadenahnews.com/newss/news.php?c=118&id=38036">
+# http://www.almadenahnews.com/newss/news.php?c=118&id=38036
+# or
+# <a href="http://www.worldtimezone.com/dst_news/dst_news_tunis02.html">
+# http://www.worldtimezone.com/dst_news/dst_news_tunis02.html
+
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Tunisia	1939	only	-	Apr	15	23:00s	1:00	S
 Rule	Tunisia	1939	only	-	Nov	18	23:00s	0	-
@@ -990,8 +1025,7 @@
 Rule	Tunisia	2005	only	-	Sep	30	 1:00s	0	-
 Rule	Tunisia	2006	2008	-	Mar	lastSun	 2:00s	1:00	S
 Rule	Tunisia	2006	2008	-	Oct	lastSun	 2:00s	0	-
-Rule	Tunisia	2010	max	-	Mar	lastSun	 2:00s	1:00	S
-Rule	Tunisia	2010	max	-	Oct	lastSun	 2:00s	0	-
+
 # Shanks & Pottenger give 0:09:20 for Paris Mean Time; go with Howse's
 # more precise 0:09:21.
 # Shanks & Pottenger say the 1911 switch was on Mar 9; go with Howse's Mar 11.
--- a/jdk/make/sun/javazic/tzdata/asia	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/make/sun/javazic/tzdata/asia	Wed Jul 05 17:10:46 2017 +0200
@@ -588,6 +588,28 @@
 # was still controlled by Japan.  This is hard to believe, but we don't
 # have any other information.
 
+# From smallufo (2010-04-03):
+# According to Taiwan's CWB,
+# <a href="http://www.cwb.gov.tw/V6/astronomy/cdata/summert.htm">
+# http://www.cwb.gov.tw/V6/astronomy/cdata/summert.htm
+# </a>
+# Taipei has DST in 1979 between July 1st and Sep 30.
+
+# From Arthur David Olson (2010-04-07):
+# Here's Google's translation of the table at the bottom of the "summert.htm" page:
+# Decade 	                                                    Name                      Start and end date
+# Republic of China 34 years to 40 years (AD 1945-1951 years) Summer Time               May 1 to September 30 
+# 41 years of the Republic of China (AD 1952)                 Daylight Saving Time      March 1 to October 31 
+# Republic of China 42 years to 43 years (AD 1953-1954 years) Daylight Saving Time      April 1 to October 31 
+# In the 44 years to 45 years (AD 1955-1956 years)            Daylight Saving Time      April 1 to September 30 
+# Republic of China 46 years to 48 years (AD 1957-1959)       Summer Time               April 1 to September 30 
+# Republic of China 49 years to 50 years (AD 1960-1961)       Summer Time               June 1 to September 30 
+# Republic of China 51 years to 62 years (AD 1962-1973 years) Stop Summer Time 
+# Republic of China 63 years to 64 years (1974-1975 AD)       Daylight Saving Time      April 1 to September 30 
+# Republic of China 65 years to 67 years (1976-1978 AD)       Stop Daylight Saving Time 
+# Republic of China 68 years (AD 1979)                        Daylight Saving Time      July 1 to September 30 
+# Republic of China since 69 years (AD 1980)                  Stop Daylight Saving Time
+
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Taiwan	1945	1951	-	May	1	0:00	1:00	D
 Rule	Taiwan	1945	1951	-	Oct	1	0:00	0	S
@@ -598,8 +620,9 @@
 Rule	Taiwan	1960	1961	-	Jun	1	0:00	1:00	D
 Rule	Taiwan	1974	1975	-	Apr	1	0:00	1:00	D
 Rule	Taiwan	1974	1975	-	Oct	1	0:00	0	S
-Rule	Taiwan	1980	only	-	Jun	30	0:00	1:00	D
-Rule	Taiwan	1980	only	-	Sep	30	0:00	0	S
+Rule	Taiwan	1979	only	-	Jun	30	0:00	1:00	D
+Rule	Taiwan	1979	only	-	Sep	30	0:00	0	S
+
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Asia/Taipei	8:06:00 -	LMT	1896 # or Taibei or T'ai-pei
 			8:00	Taiwan	C%sT
@@ -1934,13 +1957,35 @@
 # [T]he German Consulate General in Karachi reported me today that Pakistan
 # will go back to standard time on 1st of November.
 
+# From Steffen Thorsen (2010-03-26):
+# Steffen Thorsen wrote:
+# > On Thursday (2010-03-25) it was announced that DST would start in
+# > Pakistan on 2010-04-01.
+# >
+# > Then today, the president said that they might have to revert the
+# > decision if it is not supported by the parliament. So at the time
+# > being, it seems unclear if DST will be actually observed or not - but
+# > April 1 could be a more likely date than April 15.
+# Now, it seems that the decision to not observe DST in final:
+#
+# "Govt Withdraws Plan To Advance Clocks"
+# <a href="http://www.apakistannews.com/govt-withdraws-plan-to-advance-clocks-172041">
+# http://www.apakistannews.com/govt-withdraws-plan-to-advance-clocks-172041
+# </a>
+#
+# "People laud PM's announcement to end DST"
+# <a href="http://www.app.com.pk/en_/index.php?option=com_content&task=view&id=99374&Itemid=2">
+# http://www.app.com.pk/en_/index.php?option=com_content&task=view&id=99374&Itemid=2
+# </a>
+
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule Pakistan	2002	only	-	Apr	Sun>=2	0:01	1:00	S
 Rule Pakistan	2002	only	-	Oct	Sun>=2	0:01	0	-
 Rule Pakistan	2008	only	-	Jun	1	0:00	1:00	S
 Rule Pakistan	2008	only	-	Nov	1	0:00	0	-
-Rule Pakistan	2009	max	-	Apr	15	0:00	1:00	S
-Rule Pakistan	2009	max	-	Nov	1	0:00	0	-
+Rule Pakistan	2009	only	-	Apr	15	0:00	1:00	S
+Rule Pakistan	2009	only	-	Nov	1	0:00	0	-
+
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Asia/Karachi	4:28:12 -	LMT	1907
 			5:30	-	IST	1942 Sep
--- a/jdk/make/sun/javazic/tzdata/southamerica	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/make/sun/javazic/tzdata/southamerica	Wed Jul 05 17:10:46 2017 +0200
@@ -459,6 +459,27 @@
 # of the country calls it "ART".
 # ...
 
+# From Alexander Krivenyshev (2010-04-09):
+# According to news reports from El Diario de la Republica Province San
+# Luis, Argentina (standard time UTC-04) will keep Daylight Saving Time
+# after April 11, 2010--will continue to have same time as rest of
+# Argentina (UTC-3) (no DST).
+#
+# Confirmaron la pr&oacute;rroga del huso horario de verano (Spanish)
+# <a href="http://www.eldiariodelarepublica.com/index.php?option=com_content&task=view&id=29383&Itemid=9">
+# http://www.eldiariodelarepublica.com/index.php?option=com_content&task=view&id=29383&Itemid=9
+# </a>
+# or (some English translation):
+# <a href="http://www.worldtimezone.com/dst_news/dst_news_argentina08.html">
+# http://www.worldtimezone.com/dst_news/dst_news_argentina08.html
+# </a>
+
+# From Mariano Absatz (2010-04-12):
+# yes...I can confirm this...and given that San Luis keeps calling
+# UTC-03:00 "summer time", we should't just let San Luis go back to "Arg"
+# rules...San Luis is still using "Western ARgentina Time" and it got
+# stuck on Summer daylight savings time even though the summer is over.
+
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 #
 # Buenos Aires (BA), Capital Federal (CF),
@@ -592,8 +613,8 @@
 #
 # San Luis (SL)
 
-Rule	SanLuis	2008	max	-	Mar	Sun>=8	0:00	0	-
-Rule	SanLuis	2007	max	-	Oct	Sun>=8	0:00	1:00	S
+Rule	SanLuis	2008	2009	-	Mar	Sun>=8	0:00	0	-
+Rule	SanLuis	2007	2009	-	Oct	Sun>=8	0:00	1:00	S
 
 Zone America/Argentina/San_Luis -4:25:24 - LMT	1894 Oct 31
 			-4:16:48 -	CMT	1920 May
--- a/jdk/make/sun/launcher/Makefile	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/make/sun/launcher/Makefile	Wed Jul 05 17:10:46 2017 +0200
@@ -38,7 +38,7 @@
 # Resources
 #
 LOCALE_SET_DEFINITION = jre
-NEW_RESOURCE_BUNDLES_COMPILED_PROPERTIES = $(PKGDIR)/resources/launcher.properties
+RESOURCE_BUNDLES_COMPILED_PROPERTIES = $(PKGDIR)/resources/launcher.properties
 
 #
 # Rules
--- a/jdk/make/tools/CharsetMapping/Big5.c2b	Wed Jul 05 17:10:17 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-#Add the following 5 characters which are duplicated
-#or have conflicts with other characters.
-0xA1C4	0xFF3F	#REGWARN Fallback 0xA1C4 SPACING UNDERSCORE
-0xA2AC	0x2571	#REGWARN Fallback 0xA2AC LT DIAG UP RIGHT TO LOW LEFT
-0xA2AD	0x2572	#REGWARN Fallback 0xA2AD LT DIAG UP LEFT TO LOW RIGHT
-0xA451	0x5341	#REGWARN Fallback 0xA451 HANGZHOU NUMERAL TEN
-0xA4CA	0x5345	#REGWARN Fallback 0xA4CA HANGZHOU NUMERAL THIRTY
-#
--- a/jdk/make/tools/CharsetMapping/Big5.map	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/make/tools/CharsetMapping/Big5.map	Wed Jul 05 17:10:46 2017 +0200
@@ -13830,8 +13830,21 @@
 0xF9D4	0x9F49	# <CJK>
 0xF9D5	0x9F98	# <CJK>
 #
+# from Big5.b2c-irreversible
+#
 0xA15A	0xFF3F #SPACING UNDERSCORE
 0xA1FE	0x2571 #LT DIAG UP RIGHT TO LOW LEFT
 0xA240	0x2572 #LT DIAG UP LEFT TO LOW RIGHTG
 0xA2CC	0x5341 #HANGHZOU NUMERAL TEN
 0xA2CE	0x5345 #HANGZHOU NUMERAL THIRTY
+#
+# Add the following 5 characters from Big5.c2b-irreversible
+# It appears these 5 should be here to be the round-trip
+# for these 5 characters. Above 5 are the b->c only nrt.
+#
+0xA1C4	0xFF3F
+0xA2AC	0x2571
+0xA2AD	0x2572
+0xA451	0x5341
+0xA4CA	0x5345
+#
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright 2005 Sun Microsystems, Inc.  All Rights Reserved.
+# Copyright 2005-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
@@ -41,7 +41,7 @@
 cachedrowsetimpl.longfail = getLong bei Wert ( {0} ) in Spalte {1} fehlgeschlagen
 cachedrowsetimpl.floatfail = getFloat bei Wert ( {0} ) in Spalte {1} fehlgeschlagen
 cachedrowsetimpl.doublefail = getDouble bei Wert ( {0} ) in Spalte {1} fehlgeschlagen
-cachedrowsetimpl.dtypemismt = Keine Datentyp\u00fcbereinstimmung
+cachedrowsetimpl.dtypemismt = Keine Datentyp\u00fcbereinstimmung 
 cachedrowsetimpl.datefail = getDate bei Wert ( {0} ) in Spalte {1} fehlgeschlagen; keine Konvertierung m\u00f6glich
 cachedrowsetimpl.timefail = getTime bei Wert ( {0} ) in Spalte {1} fehlgeschlagen; keine Konvertierung m\u00f6glich
 cachedrowsetimpl.posupdate = Positionierte Aktualisierungen werden nicht unterst\u00fctzt
@@ -71,11 +71,13 @@
 cachedrowsetimpl.unsetmatch2 = Spalten-ID als Argument f\u00fcr unsetMatchColumn verwenden
 cachedrowsetimpl.numrows = Zeilenanzahl ist kleiner als Null oder kleiner als Abrufgr\u00f6\u00dfe
 cachedrowsetimpl.startpos = Startposition darf keinen Negativwert aufweisen
-cachedrowsetimpl.nextpage = Daten m\u00fcssen vor dem Abrufen ausgef\u00fcllt werden
+cachedrowsetimpl.nextpage = Daten m\u00fcssen vor dem Abrufen ausgef\u00fcllt werden 
 cachedrowsetimpl.pagesize = Seitengr\u00f6\u00dfe darf nicht kleiner als Null sein
 cachedrowsetimpl.pagesize1 = Seitengr\u00f6\u00dfe darf nicht gr\u00f6\u00dfer als maxRows sein
 cachedrowsetimpl.fwdonly = ResultSet kann nur vorw\u00e4rts gerichtet sein
 cachedrowsetimpl.type = Typ : {0}
+cachedrowsetimpl.opnotysupp = Vorgang noch nicht unterst\u00fctzt
+cachedrowsetimpl.featnotsupp = Funktion nicht unterst\u00fctzt
 
 # WebRowSetImpl exceptions
 webrowsetimpl.nullhash = Instanz WebRowSetImpl konnte nicht instanziiert werden. Hash-Tabelle mit Nullwert f\u00fcr Konstruktor angegeben
@@ -83,7 +85,7 @@
 webrowsetimpl.invalidrd = Ung\u00fcltiger Leser
 
 #FilteredRowSetImpl exceptions
-filteredrowsetimpl.relative = relative: Ung\u00fcltiger Cursorvorgang
+filteredrowsetimpl.relative = relative: Ung\u00fcltiger Cursorvorgang 
 filteredrowsetimpl.absolute = absolute: Ung\u00fcltiger Cursorvorgang
 filteredrowsetimpl.notallowed = Kein zul\u00e4ssiger Wert im Filter
 
@@ -95,6 +97,7 @@
 joinrowsetimpl.notsupported = Verkn\u00fcpfungstyp wird nicht unterst\u00fctzt
 joinrowsetimpl.initerror = Initialisierungsfehler bei JoinRowSet
 joinrowsetimpl.genericerr = Generischer Anfangsfehler bei joinrowset
+joinrowsetimpl.emptyrowset = Leeres Rowset kann nicht zu JoinRowSet hinzugef\u00fcgt werden
 
 #JdbcRowSetImpl exceptions
 jdbcrowsetimpl.invalstate = Ung\u00fcltiger Status
@@ -108,22 +111,28 @@
 jdbcrowsetimpl.usecolname = Spaltenname als Argument f\u00fcr unsetMatchColumn verwenden
 jdbcrowsetimpl.usecolid = Spalten-ID als Argument f\u00fcr unsetMatchColumn verwenden
 jdbcrowsetimpl.resnotupd = ResultSet kann nicht aktualisiert werden
+jdbcrowsetimpl.opnotysupp = Vorgang noch nicht unterst\u00fctzt
+jdbcrowsetimpl.featnotsupp = Funktion nicht unterst\u00fctzt
 
 #CachedRowSetReader exceptions
 crsreader.connect = (JNDI) Verbindung nicht m\u00f6glich
 crsreader.paramtype = Parametertyp konnte nicht abgeleitet werden
+crsreader.connecterr = Interner Fehler im RowSetReader: keine Verbindung oder kein Befehl
+crsreader.datedetected = Datum gefunden
+crsreader.caldetected = Kalender gefunden
 
 #CachedRowSetWriter exceptions
 crswriter.connect = Verbindung konnte nicht hergestellt werden
 crswriter.tname = writeData kann Tabellennamen nicht feststellen
 crswriter.params1 = Wert f\u00fcr params1: {0} 
 crswriter.params2 = Wert f\u00fcr params2: {0} 
+crswriter.conflictsno =  Konflikte w\u00e4hrend der Synchronisation 
 
 #InsertRow exceptions
 insertrow.novalue = Es wurde kein Wert eingef\u00fcgt
 
 #SyncResolverImpl exceptions
-syncrsimpl.indexval = Indexwert liegt au\u00dferhalb des Bereichs
+syncrsimpl.indexval = Indexwert liegt au\u00dferhalb des Bereichs  
 syncrsimpl.noconflict = Kein Konflikt bei dieser Spalte
 syncrsimpl.syncnotpos = Keine Synchronisation m\u00f6glich
 syncrsimpl.valtores = Aufzul\u00f6sender Wert befindet sich entweder in der Datenbank oder in cachedrowset
@@ -132,31 +141,27 @@
 wrsxmlreader.invalidcp = Ende von RowSet wurde erreicht. Ung\u00fcltige Cursorposition
 wrsxmlreader.readxml = readXML: {0}
 wrsxmlreader.parseerr = ** Parsing-Fehler
-wrsxmlreader.line =  , Zeile 
-wrsxmlreader.uri =  , uri 
 
 #WebRowSetXmlWriter exceptions
 wrsxmlwriter.ioex = IOException: {0}
-wrsxmlwriter.sqlex = SQLException: {0} 
+wrsxmlwriter.sqlex = SQLException: {0}
 wrsxmlwriter.failedwrite = Schreiben des Werts fehlgeschlagen
 wsrxmlwriter.notproper = Kein zul\u00e4ssiger Typ
 
-#XmlReaderContentHandle exceptions
-xmlrch.errmap = Fehler beim Definieren der Zuordnung: {0} 
-xmlrch.errmetadata = Fehler beim Definieren der Metadaten: {0} 
+#XmlReaderContentHandler exceptions
+xmlrch.errmap = Fehler beim Definieren der Zuordnung: {0}
+xmlrch.errmetadata = Fehler beim Definieren der Metadaten: {0}
 xmlrch.errinsert = Fehler beim Einf\u00fcgen der Werte: {0}
 xmlrch.errconstr = Fehler beim Erstellen der Zeile: {0}
 xmlrch.errdel = Fehler beim L\u00f6schen der Zeile: {0}
 xmlrch.errinsert = Fehler beim Erstellen der Einf\u00fcgezeile: {0}
 xmlrch.errinsdel = Fehler beim Erstellen der Einf\u00fcge- oder L\u00f6schzeile: {0}
 xmlrch.errupdate = Fehler beim Erstellen der Aktualisierungszeile: {0}
-xmlrch errupdrow = Fehler beim Aktualisieren der Zeile: {0}
+xmlrch.errupdrow = Fehler beim Aktualisieren der Zeile : {0}
 xmlrch.chars = Zeichen:
 xmlrch.badvalue = Fehlerhafter Wert; Eigenschaft darf nicht Null sein.
 xmlrch.badvalue1 = Fehlerhafter Wert; Metadaten d\u00fcrfen nicht Null sein.
-xmlrch.warning = ** Warnung
-xmlrch.line =  , Zeile 
-xmlrch.uri =  , uri 
+xmlrch.warning =  ** Warnung
 
 #RIOptimisticProvider Exceptions
 riop.locking = Sperren der Klassifizierung wird nicht unterst\u00fctzt
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_es.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_es.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright 2005 Sun Microsystems, Inc.  All Rights Reserved.
+# Copyright 2005-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
@@ -32,7 +32,7 @@
 cachedrowsetimpl.invalidcp = Posici\u00f3n de cursor no v\u00e1lida
 cachedrowsetimpl.illegalop = Operaci\u00f3n no permitida en fila no insertada
 cachedrowsetimpl.clonefail = Fallo en la clonaci\u00f3n: {0}
-cachedrowsetimpl.invalidcol = \u00cdndice de columna no v\u00e1lido
+cachedrowsetimpl.invalidcol = \u00cdndice de columnas no v\u00e1lido
 cachedrowsetimpl.invalcolnm = Nombre de columna no v\u00e1lido
 cachedrowsetimpl.boolfail = Fallo de getBoolen en valor ( {0} ) de columna {1}
 cachedrowsetimpl.bytefail = Fallo de getByte en valor ( {0} ) de columna {1}
@@ -41,7 +41,7 @@
 cachedrowsetimpl.longfail = Fallo de getLong en valor ( {0} ) de columna {1}
 cachedrowsetimpl.floatfail = Fallo de getFloat en valor ( {0} ) de columna {1}
 cachedrowsetimpl.doublefail = Fallo de getDouble en valor ( {0} ) de columna {1}
-cachedrowsetimpl.dtypemismt = Discordancia entre tipos de datos
+cachedrowsetimpl.dtypemismt = Discordancia entre tipos de datos 
 cachedrowsetimpl.datefail = Fallo de getDate en valor ( {0} ) de columna {1} no es posible convertir
 cachedrowsetimpl.timefail = Fallo de getTime en valor ( {0} ) de columna {1} no es posible convertir
 cachedrowsetimpl.posupdate = Actualizaciones posicionadas incompatibles
@@ -71,11 +71,13 @@
 cachedrowsetimpl.unsetmatch2 = Usar ID de columna como argumento en unsetMatchColumn
 cachedrowsetimpl.numrows = El n\u00famero de filas es menor que cero o menor que el tama\u00f1o obtenido
 cachedrowsetimpl.startpos = La posici\u00f3n de inicio no puede ser negativa
-cachedrowsetimpl.nextpage = Rellenar datos antes de realizar llamada
+cachedrowsetimpl.nextpage = Rellenar datos antes de realizar llamada 
 cachedrowsetimpl.pagesize = El tama\u00f1o de p\u00e1gina no puede ser menor que cero
 cachedrowsetimpl.pagesize1 = El tama\u00f1o de p\u00e1gina no puede ser mayor que maxRows
 cachedrowsetimpl.fwdonly = ResultSet s\u00f3lo se reenv\u00eda
 cachedrowsetimpl.type = El tipo es: {0}
+cachedrowsetimpl.opnotysupp = Operaci\u00f3n a\u00fan no admitida
+cachedrowsetimpl.featnotsupp = Funci\u00f3n no admitida
 
 # WebRowSetImpl exceptions
 webrowsetimpl.nullhash = La instancia WebRowSetImpl no se puede crear. Hashtable nula proporcionada al constructor
@@ -83,7 +85,7 @@
 webrowsetimpl.invalidrd = Lector no v\u00e1lido
 
 #FilteredRowSetImpl exceptions
-filteredrowsetimpl.relative = relative: Operaci\u00f3n de cursor no v\u00e1lida
+filteredrowsetimpl.relative = relative: Operaci\u00f3n de cursor no v\u00e1lida 
 filteredrowsetimpl.absolute = absolute: Operaci\u00f3n de cursor no v\u00e1lida
 filteredrowsetimpl.notallowed = El filtro no admite este valor
 
@@ -95,6 +97,7 @@
 joinrowsetimpl.notsupported = Este tipo de uni\u00f3n no es compatible
 joinrowsetimpl.initerror = Error de inicio de JoinRowSet
 joinrowsetimpl.genericerr = Error de Genric joinrowset intial
+joinrowsetimpl.emptyrowset = No se puede a\u00f1adir un rowset vac\u00edo a este JoinRowSet
 
 #JdbcRowSetImpl exceptions
 jdbcrowsetimpl.invalstate = Estado no v\u00e1lido
@@ -108,22 +111,28 @@
 jdbcrowsetimpl.usecolname = Usar nombre de columna como argumento en unsetMatchColumn
 jdbcrowsetimpl.usecolid = Usar ID de columna como argumento en unsetMatchColumn
 jdbcrowsetimpl.resnotupd = ResultSet no se puede actualizar
+jdbcrowsetimpl.opnotysupp = Operaci\u00f3n a\u00fan no admitida
+jdbcrowsetimpl.featnotsupp = Funci\u00f3n no admitida
 
 #CachedRowSetReader exceptions
 crsreader.connect = (JNDI) No se puede conectar
 crsreader.paramtype = No se puede deducir tipo de par\u00e1metro
+crsreader.connecterr = Error interno en RowSetReader: no hay conexi\u00f3n ni comando
+crsreader.datedetected = Fecha detectada
+crsreader.caldetected = Calendario detectado
 
 #CachedRowSetWriter exceptions
 crswriter.connect = No se puede obtener una conexi\u00f3n
 crswriter.tname = writeData no puede determinar el nombre de tabla
 crswriter.params1 = Valor de params1: {0} 
 crswriter.params2 = Valor de params2: {0} 
+crswriter.conflictsno =  conflictos en la sincronizaci\u00f3n 
 
 #InsertRow exceptions
 insertrow.novalue = No se ha insertado ning\u00fan valor
 
 #SyncResolverImpl exceptions
-syncrsimpl.indexval = El valor de \u00edndice est\u00e1 fuera del intervalo
+syncrsimpl.indexval = El valor de \u00edndice est\u00e1 fuera del intervalo  
 syncrsimpl.noconflict = Esta columna no est\u00e1 en conflicto
 syncrsimpl.syncnotpos = No se puede sincronizar
 syncrsimpl.valtores = El valor que se debe definir puede estar en la base de datos o en cachedrowset
@@ -132,31 +141,27 @@
 wrsxmlreader.invalidcp = Se ha llegado al final de RowSet. Posici\u00f3n de cursor no v\u00e1lida
 wrsxmlreader.readxml = readXML: {0}
 wrsxmlreader.parseerr = ** Error de an\u00e1lisis
-wrsxmlreader.line =  , l\u00ednea 
-wrsxmlreader.uri =  , uri 
 
 #WebRowSetXmlWriter exceptions
 wrsxmlwriter.ioex = IOException: {0}
-wrsxmlwriter.sqlex = SQLException: {0} 
+wrsxmlwriter.sqlex = SQLException: {0}
 wrsxmlwriter.failedwrite = No se pudo escribir valor
 wsrxmlwriter.notproper = Tipo incorrecto
 
-#XmlReaderContentHandle exceptions
-xmlrch.errmap = Error al configurar la asignaci\u00f3n: {0} 
-xmlrch.errmetadata = Error al configurar metadatos: {0} 
-xmlrch.errinsert = Error al insertar valores: {0}
+#XmlReaderContentHandler exceptions
+xmlrch.errmap = Error al configurar la asignaci\u00f3n: {0}
+xmlrch.errmetadata = Error al configurar metadatos: {0}
+xmlrch.errinsert = Error al insertar los valores: {0}
 xmlrch.errconstr = Error al construir fila: {0}
 xmlrch.errdel = Error al borrar fila: {0}
 xmlrch.errinsert = Error al construir insertar fila: {0}
 xmlrch.errinsdel = Error al construir insertar o suprimir fila: {0}
 xmlrch.errupdate = Error al construir actualizar fila: {0}
-xmlrch errupdrow = Error al actualizar fila: {0}
+xmlrch.errupdrow = Error al actualizar la fila: {0}
 xmlrch.chars = caracteres:
 xmlrch.badvalue = Valor incorrecto; la propiedad no puede ser nula
 xmlrch.badvalue1 = Valor incorrecto; los metadatos no pueden ser nulos
-xmlrch.warning = ** Advertencia
-xmlrch.line =  , l\u00ednea 
-xmlrch.uri =  , uri 
+xmlrch.warning =  ** Advertencia
 
 #RIOptimisticProvider Exceptions
 riop.locking = No se permite bloquear la clasificaci\u00f3n
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_fr.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_fr.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright 2005 Sun Microsystems, Inc.  All Rights Reserved.
+# Copyright 2005-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
@@ -31,7 +31,7 @@
 cachedrowsetimpl.accfailed = \u00c9chec de acceptChanges
 cachedrowsetimpl.invalidcp = Position du curseur non valide
 cachedrowsetimpl.illegalop = Op\u00e9ration non autoris\u00e9e sur ligne non ins\u00e9r\u00e9e
-cachedrowsetimpl.clonefail = \u00c9chec du clonage : 
+cachedrowsetimpl.clonefail = \u00c9chec du clonage : {0}
 cachedrowsetimpl.invalidcol = Index de colonne non valide
 cachedrowsetimpl.invalcolnm = Nom de colonne non valide
 cachedrowsetimpl.boolfail = \u00c9chec de getBoolen pour la valeur ({0}) de la colonne {1}
@@ -41,11 +41,11 @@
 cachedrowsetimpl.longfail = \u00c9chec de getLong pour la valeur ({0}) de la colonne {1}
 cachedrowsetimpl.floatfail = \u00c9chec de getFloat pour la valeur ({0}) de la colonne {1}
 cachedrowsetimpl.doublefail = \u00c9chec de getDouble pour la valeur ({0}) de la colonne {1}
-cachedrowsetimpl.dtypemismt = Le type de donn\u00e9es ne correspond pas
+cachedrowsetimpl.dtypemismt = Le type de donn\u00e9es ne correspond pas 
 cachedrowsetimpl.datefail = \u00c9chec de getDate pour la valeur ({0}) de la colonne {1} - Aucune conversion possible
 cachedrowsetimpl.timefail = \u00c9chec de getDate pour la valeur ({0}) de la colonne {1} - Aucune conversion possible
 cachedrowsetimpl.posupdate = Mises \u00e0 jour choisies non prises en charge
-cachedrowsetimpl.unableins = Instanciation impossible : 
+cachedrowsetimpl.unableins = Instanciation impossible : {0}
 cachedrowsetimpl.beforefirst = beforeFirst : op\u00e9ration de curseur non valide
 cachedrowsetimpl.first = First : op\u00e9ration de curseur non valide
 cachedrowsetimpl.last = last : TYPE_FORWARD_ONLY
@@ -75,7 +75,9 @@
 cachedrowsetimpl.pagesize = La taille de la page ne peut pas \u00eatre n\u00e9gative
 cachedrowsetimpl.pagesize1 = La taille de la page ne peut pas \u00eatre sup\u00e9rieure \u00e0 maxRows
 cachedrowsetimpl.fwdonly = ResultSet est en avant seulement
-cachedrowsetimpl.type = Le type est :
+cachedrowsetimpl.type = Le type est : {0}
+cachedrowsetimpl.opnotysupp = Op\u00e9ration encore non prise en charge
+cachedrowsetimpl.featnotsupp = Fonction non prise en charge
 
 # WebRowSetImpl exceptions
 webrowsetimpl.nullhash = Impossible de cr\u00e9er une instance de WebRowSetImpl. Table de hachage null fournie au constructeur
@@ -83,7 +85,7 @@
 webrowsetimpl.invalidrd = Lecteur non valide
 
 #FilteredRowSetImpl exceptions
-filteredrowsetimpl.relative = relative : op\u00e9ration de curseur non valide
+filteredrowsetimpl.relative = relative : op\u00e9ration de curseur non valide 
 filteredrowsetimpl.absolute = absolute : op\u00e9ration de curseur non valide
 filteredrowsetimpl.notallowed = Cette valeur n'est pas autoris\u00e9e via le filtre
 
@@ -95,6 +97,7 @@
 joinrowsetimpl.notsupported = Ce type de jointure n'est pas pris en charge
 joinrowsetimpl.initerror = Erreur d'initialisation de JoinRowSet
 joinrowsetimpl.genericerr = Erreur initiale g\u00e9n\u00e9rique de JoinRowSet
+joinrowsetimpl.emptyrowset = Impossible d'ajouter un ensemble de lignes vide \u00e0 ce JoinRowSet
 
 #JdbcRowSetImpl exceptions
 jdbcrowsetimpl.invalstate = \u00c9tat non valide
@@ -108,55 +111,57 @@
 jdbcrowsetimpl.usecolname = Utilisez le nom de la colonne en argument de unsetMatchColumn
 jdbcrowsetimpl.usecolid = Utilisez l'ID de la colonne en argument de unsetMatchColumn
 jdbcrowsetimpl.resnotupd = La mise \u00e0 jour de ResultSet est interdite
+jdbcrowsetimpl.opnotysupp = Op\u00e9ration encore non prise en charge
+jdbcrowsetimpl.featnotsupp = Fonction non prise en charge
 
 #CachedRowSetReader exceptions
 crsreader.connect = Impossible de connecter (JNDI)
 crsreader.paramtype = Impossible de d\u00e9duire le type de param\u00e8tre
+crsreader.connecterr = Erreur interne dans RowSetReader\u00a0: aucune connexion ou commande
+crsreader.datedetected = Date d\u00e9tect\u00e9e
+crsreader.caldetected = Calendrier d\u00e9tect\u00e9
 
 #CachedRowSetWriter exceptions
 crswriter.connect = Impossible d'obtenir la connexion
 crswriter.tname = writeData ne peut pas d\u00e9terminer le nom du tableau
-crswriter.params1 = Valeur de params1 : 
-crswriter.params2 = Valeur de params2 : 
+crswriter.params1 = Valeur de params1 : {0} 
+crswriter.params2 = Valeur de params2 : {0} 
+crswriter.conflictsno =  Conflits au cours de la synchronisation 
 
 #InsertRow exceptions
 insertrow.novalue = Aucune valeur n'a \u00e9t\u00e9 ins\u00e9r\u00e9e
 
 #SyncResolverImpl exceptions
-syncrsimpl.indexval = Valeur d'index hors plage
+syncrsimpl.indexval = Valeur d'index hors plage  
 syncrsimpl.noconflict = Cette colonne n'est pas en conflit
 syncrsimpl.syncnotpos = La synchronisation est impossible
 syncrsimpl.valtores = La valeur \u00e0 r\u00e9soudre peut \u00eatre soit dans la base de donn\u00e9es soit dans CachedrowSet
 
 #WebRowSetXmlReader exception
 wrsxmlreader.invalidcp = Fin de RowSet atteinte. Position de curseur non valide
-wrsxmlreader.readxml = readXML : 
+wrsxmlreader.readxml = readXML : {0}
 wrsxmlreader.parseerr = ** Erreur d'analyse
-wrsxmlreader.line =  , ligne 
-wrsxmlreader.uri =  , uri 
 
 #WebRowSetXmlWriter exceptions
-wrsxmlwriter.ioex = IOException : 
-wrsxmlwriter.sqlex = SQLException : 
+wrsxmlwriter.ioex = IOException : {0}
+wrsxmlwriter.sqlex = SQLException : {0}
 wrsxmlwriter.failedwrite = \u00c9chec d'\u00e9criture de la valeur
 wsrxmlwriter.notproper = N'est pas un type correct
 
-#XmlReaderContentHandle exceptions
-xmlrch.errmap = Erreur lors de la d\u00e9finition de Map :  
-xmlrch.errmetadata = Erreur lors de la d\u00e9finition des m\u00e9tadonn\u00e9es : 
-xmlrch.errinsert = Erreur lors de l'insertion des valeurs : 
-xmlrch.errconstr = Erreur lors de la construction de la ligne : 
-xmlrch.errdel = Erreur lors de la suppression de la ligne : 
-xmlrch.errinsert = Erreur lors de la construction de la ligne \u00e0 ins\u00e9rer : 
-xmlrch.errinsdel = Erreur lors de la construction de la ligne insdel : 
-xmlrch.errupdate = Erreur lors de la construction de la ligne \u00e0 mettre \u00e0 jour : 
-xmlrch errupdrow = Erreur lors de la mise \u00e0 jour de la ligne : 
+#XmlReaderContentHandler exceptions
+xmlrch.errmap = Erreur lors de la d\u00e9finition de Map : {0}
+xmlrch.errmetadata = Erreur lors de la d\u00e9finition des m\u00e9tadonn\u00e9es : {0}
+xmlrch.errinsert = Erreur lors de l''insertion des valeurs : {0}
+xmlrch.errconstr = Erreur lors de la construction de la ligne : {0}
+xmlrch.errdel = Erreur lors de la suppression de la ligne : {0}
+xmlrch.errinsert = Erreur lors de la construction de la ligne \u00e0 ins\u00e9rer : {0}
+xmlrch.errinsdel = Erreur lors de la construction de la ligne insdel : {0}
+xmlrch.errupdate = Erreur lors de la construction de la ligne \u00e0 mettre \u00e0 jour : {0}
+xmlrch.errupdrow = Erreur lors de la mise \u00e0 jour de la ligne\u00a0: {0}
 xmlrch.chars = caract\u00e8res :
 xmlrch.badvalue = Valeur incorrecte ; null impossible pour cette propri\u00e9t\u00e9
 xmlrch.badvalue1 = Valeur incorrecte ; null impossible pour ces m\u00e9tadonn\u00e9es
-xmlrch.warning = ** Avertissement
-xmlrch.line =  , ligne 
-xmlrch.uri =  , uri 
+xmlrch.warning =  ** Avertissement
 
 #RIOptimisticProvider Exceptions
 riop.locking = Le verrouillage de la classification n'est pas pris en charge
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_it.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_it.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright 2005 Sun Microsystems, Inc.  All Rights Reserved.
+# Copyright 2005-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
@@ -41,7 +41,7 @@
 cachedrowsetimpl.longfail = getLong non riuscito per il valore ( {0} ) nella colonna {1}
 cachedrowsetimpl.floatfail = getFloat non riuscito per il valore ( {0} ) nella colonna {1}
 cachedrowsetimpl.doublefail = getDouble non riuscito per il valore ( {0} ) nella colonna {1}
-cachedrowsetimpl.dtypemismt = Mancata corrispondenza dei tipi di dati
+cachedrowsetimpl.dtypemismt = Mancata corrispondenza dei tipi di dati 
 cachedrowsetimpl.datefail = getDate non riuscito per il valore ( {0} ) nella colonna {1}. Nessuna conversione disponibile.
 cachedrowsetimpl.timefail = getTime non riuscito per il valore ( {0} ) nella colonna {1}. Nessuna conversione disponibile.
 cachedrowsetimpl.posupdate = Aggiornamenti posizionati non supportati
@@ -76,6 +76,8 @@
 cachedrowsetimpl.pagesize1 = La dimensione della pagina non pu\u00f2 essere superiore a maxRows
 cachedrowsetimpl.fwdonly = ResultSet \u00e8 a solo inoltro
 cachedrowsetimpl.type = Il tipo \u00e8: {0}
+cachedrowsetimpl.opnotysupp = Operazione non ancora supportata
+cachedrowsetimpl.featnotsupp = Funzionalit\u00e0 non supportata
 
 # WebRowSetImpl exceptions
 webrowsetimpl.nullhash = Impossibile istanziare l'istanza WebRowSetImpl. Tabella hash nulla fornita al costruttore
@@ -83,7 +85,7 @@
 webrowsetimpl.invalidrd = Lettore non valido
 
 #FilteredRowSetImpl exceptions
-filteredrowsetimpl.relative = relative: operazione cursore non valida
+filteredrowsetimpl.relative = relative: operazione cursore non valida 
 filteredrowsetimpl.absolute = absolute: operazione cursore non valida
 filteredrowsetimpl.notallowed = Questo valore non \u00e8 consentito nel filtro
 
@@ -95,6 +97,7 @@
 joinrowsetimpl.notsupported = Questo tipo di unione non \u00e8 supportato
 joinrowsetimpl.initerror = Errore di inizializzazione di JoinRowSet
 joinrowsetimpl.genericerr = Errore iniziale di joinrowset generico
+joinrowsetimpl.emptyrowset = Impossibile aggiungere un rowset al JoinRowSet corrente
 
 #JdbcRowSetImpl exceptions
 jdbcrowsetimpl.invalstate = Stato non valido
@@ -108,22 +111,28 @@
 jdbcrowsetimpl.usecolname = Utilizzare il nome di colonna come argomento per unsetMatchColumn
 jdbcrowsetimpl.usecolid = Utilizzare l'ID di colonna come argomento per unsetMatchColumn
 jdbcrowsetimpl.resnotupd = ResultSet non \u00e8 aggiornabile
+jdbcrowsetimpl.opnotysupp = Operazione non ancora supportata
+jdbcrowsetimpl.featnotsupp = Funzionalit\u00e0 non supportata
 
 #CachedRowSetReader exceptions
 crsreader.connect = (JNDI) Impossibile stabilire una connessione
 crsreader.paramtype = Impossibile dedurre il tipo di parametro
+crsreader.connecterr = Errore interno in RowSetReader: nessuna connessione o comando disponibile
+crsreader.datedetected = Data rilevata
+crsreader.caldetected = Calendario rilevato
 
 #CachedRowSetWriter exceptions
 crswriter.connect = Impossibile stabilire una connessione
 crswriter.tname = writeData non riesce a determinare il nome di tabella
 crswriter.params1 = Valore dei parametri 1: {0} 
 crswriter.params2 = Valore dei parametri 2: {0} 
+crswriter.conflictsno =  conflitti durante la sincronizzazione 
 
 #InsertRow exceptions
 insertrow.novalue = Non \u00e8 stato inserito alcun valore
 
 #SyncResolverImpl exceptions
-syncrsimpl.indexval = Il valore di indice non rientra nell'intervallo
+syncrsimpl.indexval = Il valore di indice non rientra nell'intervallo  
 syncrsimpl.noconflict = Questa colonna non \u00e8 in conflitto
 syncrsimpl.syncnotpos = Impossibile eseguire la sincronizzazione
 syncrsimpl.valtores = Il valore da risolvere pu\u00f2 essere nel database o in cachedrowset
@@ -132,31 +141,27 @@
 wrsxmlreader.invalidcp = Raggiunta la fine di RowSet. Posizione cursore non valida
 wrsxmlreader.readxml = readXML: {0}
 wrsxmlreader.parseerr = ** Errore di analisi
-wrsxmlreader.line =  , linea 
-wrsxmlreader.uri =  , uri 
 
 #WebRowSetXmlWriter exceptions
 wrsxmlwriter.ioex = IOException: {0}
-wrsxmlwriter.sqlex = SQLException: {0} 
+wrsxmlwriter.sqlex = SQLException: {0}
 wrsxmlwriter.failedwrite = Impossibile scrivere il valore
 wsrxmlwriter.notproper = Non un tipo corretto
 
-#XmlReaderContentHandle exceptions
-xmlrch.errmap = Errore durante l'impostazione della mappa: {0} 
-xmlrch.errmetadata = Errore durante l'impostazione dei metadati: {0} 
-xmlrch.errinsert = Errore durante l'inserimento dei valori: {0}
+#XmlReaderContentHandler exceptions
+xmlrch.errmap = Errore durante l''impostazione della mappa: {0}
+xmlrch.errmetadata = Errore durante l'impostazione dei metadati: {0}
+xmlrch.errinsert = Errore durante l''inserimento dei valori: {0}
 xmlrch.errconstr = Errore durante la costruzione della riga: {0}
-xmlrch.errdel = Errore durante l'eliminazione della riga: {0}
+xmlrch.errdel = Errore durante l''eliminazione della riga: {0}
 xmlrch.errinsert = Errore durante la costruzione della riga di inserimento: {0}
 xmlrch.errinsdel = Errore durante la costruzione della riga insdel: {0}
 xmlrch.errupdate = Errore durante la costruzione della riga di aggiornamento: {0}
-xmlrch errupdrow = Errore durante l'aggiornamento della riga: {0}
+xmlrch.errupdrow = Errore durante l''aggiornamento della riga: {0}
 xmlrch.chars = caratteri:
 xmlrch.badvalue = valore non valido; propriet\u00e0 non annullabile
 xmlrch.badvalue1 = valore non valido; metadati non annullabili
-xmlrch.warning = ** Avviso
-xmlrch.line =  , linea 
-xmlrch.uri =  , uri 
+xmlrch.warning =  ** Avviso
 
 #RIOptimisticProvider Exceptions
 riop.locking = La classificazione di blocco non \u00e8 supportata
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ja.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ja.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -41,7 +41,7 @@
 cachedrowsetimpl.longfail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getLong \u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002
 cachedrowsetimpl.floatfail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getFloat \u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002
 cachedrowsetimpl.doublefail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getDouble \u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002
-cachedrowsetimpl.dtypemismt = \u30c7\u30fc\u30bf\u578b\u306e\u30df\u30b9\u30de\u30c3\u30c1
+cachedrowsetimpl.dtypemismt = \u30c7\u30fc\u30bf\u578b\u306e\u30df\u30b9\u30de\u30c3\u30c1 
 cachedrowsetimpl.datefail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getDate \u304c\u5931\u6557\u3002\u5909\u63db\u3067\u304d\u307e\u305b\u3093\u3002
 cachedrowsetimpl.timefail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getTime \u304c\u5931\u6557\u3002\u5909\u63db\u3067\u304d\u307e\u305b\u3093\u3002
 cachedrowsetimpl.posupdate = \u4f4d\u7f6e\u6c7a\u3081\u3055\u308c\u305f\u66f4\u65b0\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093\u3002
@@ -71,11 +71,13 @@
 cachedrowsetimpl.unsetmatch2 = unsetMatchColumn \u3078\u306e\u5f15\u6570\u3068\u3057\u3066\u5217 ID \u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002
 cachedrowsetimpl.numrows = \u884c\u6570\u304c\u30bc\u30ed\u307e\u305f\u306f\u30d5\u30a7\u30c3\u30c1\u30b5\u30a4\u30ba\u3088\u308a\u5c0f\u3055\u3044\u3067\u3059\u3002
 cachedrowsetimpl.startpos = \u958b\u59cb\u4f4d\u7f6e\u306f\u8ca0\u3067\u306f\u306a\u308a\u307e\u305b\u3093\u3002
-cachedrowsetimpl.nextpage = \u547c\u3073\u51fa\u3057\u524d\u306b\u30c7\u30fc\u30bf\u3092\u751f\u6210\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+cachedrowsetimpl.nextpage = \u547c\u3073\u51fa\u3057\u524d\u306b\u30c7\u30fc\u30bf\u3092\u751f\u6210\u3057\u3066\u304f\u3060\u3055\u3044\u3002 
 cachedrowsetimpl.pagesize = \u30da\u30fc\u30b8\u30b5\u30a4\u30ba\u306f\u30bc\u30ed\u3088\u308a\u5c0f\u3055\u304f\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002
 cachedrowsetimpl.pagesize1 = \u30da\u30fc\u30b8\u30b5\u30a4\u30ba\u306f maxRows \u3088\u308a\u5927\u304d\u304f\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002
 cachedrowsetimpl.fwdonly = ResultSet \u306f\u9806\u65b9\u5411\u306e\u307f\u3067\u3059\u3002
 cachedrowsetimpl.type = \u578b : {0}
+cachedrowsetimpl.opnotysupp = \u3053\u306e\u64cd\u4f5c\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+cachedrowsetimpl.featnotsupp = \u3053\u306e\u6a5f\u80fd\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
 
 # WebRowSetImpl exceptions
 webrowsetimpl.nullhash = WebRowSetImpl \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316\u3067\u304d\u307e\u305b\u3093\u3002\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306b null \u306e Hashtable \u304c\u4f7f\u7528\u3055\u308c\u307e\u3057\u305f\u3002
@@ -83,7 +85,7 @@
 webrowsetimpl.invalidrd = \u7121\u52b9\u306a\u30ea\u30fc\u30c0\u30fc
 
 #FilteredRowSetImpl exceptions
-filteredrowsetimpl.relative = relative : \u7121\u52b9\u306a\u30ab\u30fc\u30bd\u30eb\u64cd\u4f5c
+filteredrowsetimpl.relative = relative : \u7121\u52b9\u306a\u30ab\u30fc\u30bd\u30eb\u64cd\u4f5c 
 filteredrowsetimpl.absolute = absolute : \u7121\u52b9\u306a\u30ab\u30fc\u30bd\u30eb\u64cd\u4f5c
 filteredrowsetimpl.notallowed = \u3053\u306e\u5024\u306f\u30d5\u30a3\u30eb\u30bf\u3067\u8a31\u5bb9\u3055\u308c\u307e\u305b\u3093\u3002
 
@@ -95,6 +97,7 @@
 joinrowsetimpl.notsupported = \u3053\u306e\u578b\u306e\u7d50\u5408\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
 joinrowsetimpl.initerror = JoinRowSet \u521d\u671f\u5316\u30a8\u30e9\u30fc
 joinrowsetimpl.genericerr = \u6c4e\u7528 joinrowset \u306e\u521d\u671f\u30a8\u30e9\u30fc
+joinrowsetimpl.emptyrowset = \u3053\u306e JoinRowSet \u306b\u306f\u7a7a\u306e\u884c\u30bb\u30c3\u30c8\u3092\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3002
 
 #JdbcRowSetImpl exceptions
 jdbcrowsetimpl.invalstate = \u7121\u52b9\u306a\u72b6\u614b
@@ -108,22 +111,28 @@
 jdbcrowsetimpl.usecolname = unsetMatchColumn \u3078\u306e\u5f15\u6570\u3068\u3057\u3066\u5217\u540d\u3092\u4f7f\u7528\u3066\u304f\u3060\u3055\u3044\u3002
 jdbcrowsetimpl.usecolid = unsetMatchColumn \u3078\u306e\u5f15\u6570\u3068\u3057\u3066\u5217 ID \u3092\u4f7f\u7528\u3066\u304f\u3060\u3055\u3044\u3002
 jdbcrowsetimpl.resnotupd = ResultSet \u306f\u66f4\u65b0\u3067\u304d\u307e\u305b\u3093\u3002
+jdbcrowsetimpl.opnotysupp = \u3053\u306e\u64cd\u4f5c\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+jdbcrowsetimpl.featnotsupp = \u3053\u306e\u6a5f\u80fd\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
 
 #CachedRowSetReader exceptions
 crsreader.connect = (JNDI) \u63a5\u7d9a\u3067\u304d\u307e\u305b\u3093\u3002
 crsreader.paramtype = \u30d1\u30e9\u30e1\u30fc\u30bf\u578b\u3092\u63a8\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002
+crsreader.connecterr = RowSetReader \u306e\u5185\u90e8\u30a8\u30e9\u30fc: \u5207\u65ad\u3055\u308c\u3066\u3044\u308b\u304b\u307e\u305f\u306f\u30b3\u30de\u30f3\u30c9\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
+crsreader.datedetected = \u65e5\u4ed8\u3092\u691c\u51fa\u3057\u307e\u3057\u305f\u3002
+crsreader.caldetected = \u30ab\u30ec\u30f3\u30c0\u3092\u691c\u51fa\u3057\u307e\u3057\u305f\u3002
 
 #CachedRowSetWriter exceptions
 crswriter.connect = \u63a5\u7d9a\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3002
 crswriter.tname = writeData \u304c\u8868\u540d\u3092\u5224\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002
 crswriter.params1 = params1 \u306e\u5024 : {0} 
 crswriter.params2 = params2 \u306e\u5024 : {0} 
+crswriter.conflictsno =  \u540c\u671f\u4e2d\u306b\u885d\u7a81\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002 
 
 #InsertRow exceptions
 insertrow.novalue = \u5024\u306f\u633f\u5165\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
 
 #SyncResolverImpl exceptions
-syncrsimpl.indexval = \u7bc4\u56f2\u5916\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5024
+syncrsimpl.indexval = \u7bc4\u56f2\u5916\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5024  
 syncrsimpl.noconflict = \u3053\u306e\u5217\u306f\u7af6\u5408\u3057\u3066\u3044\u307e\u305b\u3093\u3002
 syncrsimpl.syncnotpos = \u540c\u671f\u3067\u304d\u307e\u305b\u3093\u3002
 syncrsimpl.valtores = \u89e3\u6c7a\u3055\u308c\u308b\u5024\u306f\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b cachedrowset \u306b\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
@@ -132,31 +141,27 @@
 wrsxmlreader.invalidcp = RowSet \u306e\u6700\u5f8c\u306b\u5230\u9054\u3057\u307e\u3057\u305f\u3002\u7121\u52b9\u306a\u30ab\u30fc\u30bd\u30eb\u4f4d\u7f6e
 wrsxmlreader.readxml = readXML : {0}
 wrsxmlreader.parseerr = ** \u69cb\u6587\u89e3\u6790\u30a8\u30e9\u30fc
-wrsxmlreader.line =  , \u884c 
-wrsxmlreader.uri =  , uri 
 
 #WebRowSetXmlWriter exceptions
 wrsxmlwriter.ioex = IOException : {0}
-wrsxmlwriter.sqlex = SQLException : {0} 
+wrsxmlwriter.sqlex = SQLException : {0}
 wrsxmlwriter.failedwrite = \u5024\u306e\u66f8\u304d\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
 wsrxmlwriter.notproper = \u9069\u5207\u306a\u578b\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
 
-#XmlReaderContentHandle exceptions
-xmlrch.errmap = Map \u8a2d\u5b9a\u30a8\u30e9\u30fc : {0} 
-xmlrch.errmetadata = \u30e1\u30bf\u30c7\u30fc\u30bf\u8a2d\u5b9a\u30a8\u30e9\u30fc : {0} 
+#XmlReaderContentHandler exceptions
+xmlrch.errmap = Map \u8a2d\u5b9a\u30a8\u30e9\u30fc : {0}
+xmlrch.errmetadata = \u30e1\u30bf\u30c7\u30fc\u30bf\u8a2d\u5b9a\u30a8\u30e9\u30fc : {0}
 xmlrch.errinsert = \u5024\u306e\u633f\u5165\u30a8\u30e9\u30fc : {0}
 xmlrch.errconstr = \u884c\u306e\u751f\u6210\u30a8\u30e9\u30fc : {0}
 xmlrch.errdel = \u884c\u306e\u524a\u9664\u30a8\u30e9\u30fc : {0}
 xmlrch.errinsert = \u633f\u5165\u884c\u306e\u751f\u6210\u30a8\u30e9\u30fc : {0}
 xmlrch.errinsdel = insdel \u884c\u306e\u751f\u6210\u30a8\u30e9\u30fc : {0}
 xmlrch.errupdate = \u66f4\u65b0\u884c\u306e\u751f\u6210\u30a8\u30e9\u30fc : {0}
-xmlrch errupdrow = \u884c\u306e\u66f4\u65b0\u30a8\u30e9\u30fc : {0}
+xmlrch.errupdrow = \u884c\u306e\u66f4\u65b0\u30a8\u30e9\u30fc: {0}
 xmlrch.chars = \u6587\u5b57 :
-xmlrch.badvalue = \u4e0d\u6b63\u306a\u5024 ; null \u306b\u3067\u304d\u306a\u3044\u30d7\u30ed\u30d1\u30c6\u30a3
+xmlrch.badvalue = \u4e0d\u6b63\u306a\u5024 ; null \u306b\u3067\u304d\u306a\u3044\u30d7\u30ed\u30d1\u30c6\u30a3\u30fc
 xmlrch.badvalue1 = \u4e0d\u6b63\u306a\u5024 ; null \u306b\u3067\u304d\u306a\u3044\u30e1\u30bf\u30c7\u30fc\u30bf
-xmlrch.warning = ** \u8b66\u544a
-xmlrch.line =  , \u884c 
-xmlrch.uri =  , uri 
+xmlrch.warning =  ** \u8b66\u544a
 
 #RIOptimisticProvider Exceptions
 riop.locking = \u30ed\u30c3\u30af\u306e\u5206\u985e\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright 2005 Sun Microsystems, Inc.  All Rights Reserved.
+# Copyright 2005-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
@@ -41,7 +41,7 @@
 cachedrowsetimpl.longfail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getLong\uc774 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
 cachedrowsetimpl.floatfail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getFloat\uac00 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
 cachedrowsetimpl.doublefail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getDouble\uc774 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.dtypemismt = \ub370\uc774\ud130 \uc720\ud615\uc774 \uc77c\uce58\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
+cachedrowsetimpl.dtypemismt = \ub370\uc774\ud130 \uc720\ud615\uc774 \uc77c\uce58\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. 
 cachedrowsetimpl.datefail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getDate\uac00 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4. \ubcc0\ud658\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
 cachedrowsetimpl.timefail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getLong\uc774 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4. \ubcc0\ud658\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
 cachedrowsetimpl.posupdate = \uc704\uce58 \uc9c0\uc815 \uc5c5\ub370\uc774\ud2b8\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
@@ -71,11 +71,13 @@
 cachedrowsetimpl.unsetmatch2 = \uc5f4 ID\ub97c unsetMatchColumn\uc758 \uc778\uc218\ub85c \uc0ac\uc6a9\ud558\uc2ed\uc2dc\uc624.
 cachedrowsetimpl.numrows = \ud589 \uac1c\uc218\uac00 0\ubcf4\ub2e4 \uc791\uac70\ub098 \ubc18\uc785 \ud06c\uae30\ubcf4\ub2e4 \uc791\uc2b5\ub2c8\ub2e4.
 cachedrowsetimpl.startpos = \uc2dc\uc791 \uc704\uce58\ub294 \uc74c\uc218\uc77c \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.nextpage = \ud638\ucd9c\ud558\uae30 \uc804\uc5d0 \ub370\uc774\ud130\ub97c \ucc44\uc6b0\uc2ed\uc2dc\uc624.
+cachedrowsetimpl.nextpage = \ud638\ucd9c\ud558\uae30 \uc804\uc5d0 \ub370\uc774\ud130\ub97c \ucc44\uc6b0\uc2ed\uc2dc\uc624. 
 cachedrowsetimpl.pagesize = \ud398\uc774\uc9c0 \ud06c\uae30\ub294 0\ubcf4\ub2e4 \uc791\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
 cachedrowsetimpl.pagesize1 = \ud398\uc774\uc9c0 \ud06c\uae30\ub294 maxRows\ubcf4\ub2e4 \ud074 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
 cachedrowsetimpl.fwdonly = ResultSet\ub294 \uc804\ub2ec \uc804\uc6a9\uc785\ub2c8\ub2e4.
 cachedrowsetimpl.type = \uc720\ud615: {0}
+cachedrowsetimpl.opnotysupp = \uc791\uc5c5\uc774 \uc544\uc9c1 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
+cachedrowsetimpl.featnotsupp = \uae30\ub2a5\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
 
 # WebRowSetImpl exceptions
 webrowsetimpl.nullhash = WebRowSetImpl \uc778\uc2a4\ud134\uc2a4\ub97c \uc778\uc2a4\ud134\uc2a4\ud654\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uad6c\uc131\uc790\uc5d0 \ub110 Hashtable\uc774 \uc81c\uacf5\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
@@ -83,7 +85,7 @@
 webrowsetimpl.invalidrd = \uc798\ubabb\ub41c \ud310\ub3c5\uae30\uc785\ub2c8\ub2e4.
 
 #FilteredRowSetImpl exceptions
-filteredrowsetimpl.relative = \uc0c1\ub300: \uc798\ubabb\ub41c \ucee4\uc11c \uc791\uc5c5\uc785\ub2c8\ub2e4.
+filteredrowsetimpl.relative = \uc0c1\ub300: \uc798\ubabb\ub41c \ucee4\uc11c \uc791\uc5c5\uc785\ub2c8\ub2e4. 
 filteredrowsetimpl.absolute = \uc808\ub300: \uc798\ubabb\ub41c \ucee4\uc11c \uc791\uc5c5\uc785\ub2c8\ub2e4.
 filteredrowsetimpl.notallowed = \uc774 \uac12\uc740 \ud544\ud130\ub97c \ud1b5\uacfc\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
 
@@ -95,6 +97,7 @@
 joinrowsetimpl.notsupported = \uc774 \uacb0\ud569 \uc720\ud615\uc740 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
 joinrowsetimpl.initerror = JoinRowSet \ucd08\uae30\ud654 \uc624\ub958
 joinrowsetimpl.genericerr = \uc77c\ubc18 joinrowset \ucd08\uae30 \uc624\ub958
+joinrowsetimpl.emptyrowset = \uc774 JoinRowSet\uc5d0 \ube48 rowset\uc744 \ucd94\uac00\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
 
 #JdbcRowSetImpl exceptions
 jdbcrowsetimpl.invalstate = \uc798\ubabb\ub41c \uc0c1\ud0dc\uc785\ub2c8\ub2e4.
@@ -108,22 +111,28 @@
 jdbcrowsetimpl.usecolname = \uc5f4 \uc774\ub984\uc744 unsetMatchColumn\uc758 \uc778\uc218\ub85c \uc0ac\uc6a9\ud558\uc2ed\uc2dc\uc624.
 jdbcrowsetimpl.usecolid = \uc5f4 ID\ub97c unsetMatchColumn\uc758 \uc778\uc218\ub85c \uc0ac\uc6a9\ud558\uc2ed\uc2dc\uc624.
 jdbcrowsetimpl.resnotupd = ResultSet\uc740 \uc5c5\ub370\uc774\ud2b8\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
+jdbcrowsetimpl.opnotysupp = \uc791\uc5c5\uc774 \uc544\uc9c1 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
+jdbcrowsetimpl.featnotsupp = \uae30\ub2a5\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
 
 #CachedRowSetReader exceptions
 crsreader.connect = (JNDI) \uc5f0\uacb0\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
 crsreader.paramtype = \ub9e4\uac1c \ubcc0\uc218 \uc720\ud615\uc744 \ucd94\ub860\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
+crsreader.connecterr = RowSetReader \ub0b4\ubd80 \uc624\ub958: \uc5f0\uacb0 \ub610\ub294 \uba85\ub839\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.
+crsreader.datedetected = \ub0a0\uc9dc\uac00 \uac10\uc9c0\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
+crsreader.caldetected = \ub2ec\ub825\uc774 \uac10\uc9c0\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
 
 #CachedRowSetWriter exceptions
 crswriter.connect = \uc5f0\uacb0\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
 crswriter.tname = writeData\uc5d0\uc11c \ud14c\uc774\ube14 \uc774\ub984\uc744 \ud655\uc778\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-crswriter.params1 = params1\uc758 \uac12: {0}
-crswriter.params2 = params2\uc758 \uac12: {0}
+crswriter.params1 = params1\uc758 \uac12: {0} 
+crswriter.params2 = params2\uc758 \uac12: {0} 
+crswriter.conflictsno =  \ub3d9\uae30\ud654\ud558\ub294 \ub3d9\uc548 \ucda9\ub3cc\ud569\ub2c8\ub2e4. 
 
 #InsertRow exceptions
 insertrow.novalue = \uac12\uc774 \uc0bd\uc785\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.
 
 #SyncResolverImpl exceptions
-syncrsimpl.indexval = \uc0c9\uc778 \uac12\uc774 \ubc94\uc704\ub97c \ubc97\uc5b4\ub0ac\uc2b5\ub2c8\ub2e4.
+syncrsimpl.indexval = \uc0c9\uc778 \uac12\uc774 \ubc94\uc704\ub97c \ubc97\uc5b4\ub0ac\uc2b5\ub2c8\ub2e4.  
 syncrsimpl.noconflict = \uc774 \uc5f4\uc740 \ucda9\ub3cc\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
 syncrsimpl.syncnotpos = \ub3d9\uae30\ud654\ub97c \ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
 syncrsimpl.valtores = \ud655\uc778\ud560 \uac12\uc774 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub098 cachedrowset\uc5d0 \uc788\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.
@@ -132,31 +141,27 @@
 wrsxmlreader.invalidcp = RowSet\uc758 \ub05d\uc5d0 \ub3c4\ub2ec\ud588\uc2b5\ub2c8\ub2e4. \uc798\ubabb\ub41c \ucee4\uc11c \uc704\uce58\uc785\ub2c8\ub2e4.
 wrsxmlreader.readxml = readXML: {0}
 wrsxmlreader.parseerr = ** \uad6c\ubb38 \ubd84\uc11d \uc624\ub958
-wrsxmlreader.line =  , \uc904 
-wrsxmlreader.uri =  , uri 
 
 #WebRowSetXmlWriter exceptions
 wrsxmlwriter.ioex = IOException: {0}
-wrsxmlwriter.sqlex = SQLException: {0} 
+wrsxmlwriter.sqlex = SQLException: {0}
 wrsxmlwriter.failedwrite = \uac12\uc744 \uc4f0\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4.
 wsrxmlwriter.notproper = \uc62c\ubc14\ub978 \uc720\ud615\uc774 \uc544\ub2d9\ub2c8\ub2e4.
 
-#XmlReaderContentHandle exceptions
-xmlrch.errmap = \ub9e4\ud551\uc744 \uc124\uc815\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0} 
-xmlrch.errmetadata = \uba54\ud0c0\ub370\uc774\ud130\ub97c \uc124\uc815\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0} 
-xmlrch.errinsert = \uac12\uc744 \uc0bd\uc785\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0}
+#XmlReaderContentHandler exceptions
+xmlrch.errmap = \ub9e4\ud551\uc744 \uc124\uc815\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0}
+xmlrch.errmetadata = \uba54\ud0c0\ub370\uc774\ud130\ub97c \uc124\uc815\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0}
+xmlrch.errinsert = \ub2e4\uc74c \uac12\uc744 \uc0bd\uc785\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd : {0}
 xmlrch.errconstr = \ud589\uc744 \ub9cc\ub4dc\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0}
 xmlrch.errdel = \ud589\uc744 \uc81c\uac70\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0}
 xmlrch.errinsert = insert \ud589\uc744 \ub9cc\ub4dc\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0}
 xmlrch.errinsdel = insdel \ud589\uc744 \ub9cc\ub4dc\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0}
 xmlrch.errupdate = update \ud589\uc744 \ub9cc\ub4dc\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0}
-xmlrch errupdrow = \ud589\uc744 \uc5c5\ub370\uc774\ud2b8\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0}
+xmlrch.errupdrow = \ud589 \uc5c5\ub370\uc774\ud2b8 \uc624\ub958: {0}
 xmlrch.chars = \ubb38\uc790:
 xmlrch.badvalue = \uc798\ubabb\ub41c \uac12; \ub110\uc77c \uc218 \uc5c6\ub294 \ub4f1\ub85d \uc815\ubcf4
 xmlrch.badvalue1 = \uc798\ubabb\ub41c \uac12; \ub110\uc77c \uc218 \uc5c6\ub294 \uba54\ud0c0\ub370\uc774\ud130
-xmlrch.warning = ** \uacbd\uace0
-xmlrch.line =  , \uc904 
-xmlrch.uri =  , uri 
+xmlrch.warning =  ** \uacbd\uace0
 
 #RIOptimisticProvider Exceptions
 riop.locking = \ub4f1\uae09 \uc7a0\uae08\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright 2005 Sun Microsystems, Inc.  All Rights Reserved.
+# Copyright 2005-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
@@ -41,7 +41,7 @@
 cachedrowsetimpl.longfail = getLong misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1}
 cachedrowsetimpl.floatfail = getFloat misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1}
 cachedrowsetimpl.doublefail = getDouble misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1}
-cachedrowsetimpl.dtypemismt = Inkompatibel datatyp
+cachedrowsetimpl.dtypemismt = Inkompatibel datatyp 
 cachedrowsetimpl.datefail = getDate misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1}, ingen konvertering tillg\u00e4nglig
 cachedrowsetimpl.timefail = getTime misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1}, ingen konvertering tillg\u00e4nglig
 cachedrowsetimpl.posupdate = Det finns inte st\u00f6d f\u00f6r positionerad uppdatering
@@ -71,11 +71,13 @@
 cachedrowsetimpl.unsetmatch2 = Anv\u00e4nd kolumnn-id som argument f\u00f6r unsetMatchColumn
 cachedrowsetimpl.numrows = Antalet rader understiger noll eller \u00e4r mindre \u00e4n h\u00e4mtningsstorleken
 cachedrowsetimpl.startpos = Startpositionen f\u00e5r inte vara negativ
-cachedrowsetimpl.nextpage = Fyll i data innan anrop
+cachedrowsetimpl.nextpage = Fyll i data innan anrop 
 cachedrowsetimpl.pagesize = Sidstorleken f\u00e5r inte understiga noll
 cachedrowsetimpl.pagesize1 = Sidstorleken f\u00e5r inte \u00f6verstiga maxRows
 cachedrowsetimpl.fwdonly = ResultSet kan endast g\u00e5 fram\u00e5t
 cachedrowsetimpl.type = Typ: {0}
+cachedrowsetimpl.opnotysupp = Det finns \u00e4nnu inte st\u00f6d f\u00f6r \u00e5tg\u00e4rden
+cachedrowsetimpl.featnotsupp = Funktionen st\u00f6ds inte
 
 # WebRowSetImpl exceptions
 webrowsetimpl.nullhash = Det g\u00e5r inte att skapa instansen WebRowSetImpl. Tom hashtabell skickades till konstrukt\u00f6r.
@@ -95,6 +97,7 @@
 joinrowsetimpl.notsupported = Det finns inget st\u00f6d f\u00f6r denna kopplingstyp
 joinrowsetimpl.initerror = Initieringsfel f\u00f6r JoinRowSet
 joinrowsetimpl.genericerr = Allm\u00e4nt initieringsfel f\u00f6r JoinRowSet
+joinrowsetimpl.emptyrowset = Det g\u00e5r inte att l\u00e4gga till tom rowset i denna JoinRowSet
 
 #JdbcRowSetImpl exceptions
 jdbcrowsetimpl.invalstate = Ogiltig status
@@ -108,22 +111,28 @@
 jdbcrowsetimpl.usecolname = Anv\u00e4nd kolumnnamn som argument f\u00f6r unsetMatchColumn
 jdbcrowsetimpl.usecolid = Anv\u00e4nd kolumnn-id som argument f\u00f6r unsetMatchColumn
 jdbcrowsetimpl.resnotupd = ResultSet \u00e4r inte uppdateringsbart
+jdbcrowsetimpl.opnotysupp = Det finns \u00e4nnu inte st\u00f6d f\u00f6r \u00e5tg\u00e4rden
+jdbcrowsetimpl.featnotsupp = Funktionen st\u00f6ds inte
 
 #CachedRowSetReader exceptions
 crsreader.connect = (JNDI) kan inte anslutas
 crsreader.paramtype = Det g\u00e5r inte att fastst\u00e4lla parametertypen
+crsreader.connecterr = Internfel i RowSetReader: ingen anslutning eller inget kommando
+crsreader.datedetected = Ett datum uppt\u00e4cktes
+crsreader.caldetected = En kalender uppt\u00e4cktes
 
 #CachedRowSetWriter exceptions
 crswriter.connect = Det g\u00e5r inte att uppr\u00e4tta n\u00e5gon anslutning
 crswriter.tname = writeData kan inte fastst\u00e4lla tabellnamnet
 crswriter.params1 = Parameterv\u00e4rde1: {0} 
 crswriter.params2 = Parameterv\u00e4rde2: {0} 
+crswriter.conflictsno =  konflikter uppstod vid synkronisering 
 
 #InsertRow exceptions
 insertrow.novalue = Inget v\u00e4rde har infogats
 
 #SyncResolverImpl exceptions
-syncrsimpl.indexval = Indexv\u00e4rdet ligger utanf\u00f6r intervallet
+syncrsimpl.indexval = Indexv\u00e4rdet ligger utanf\u00f6r intervallet  
 syncrsimpl.noconflict = Denna kolumn st\u00e5r inte i konflikt
 syncrsimpl.syncnotpos = Synkronisering \u00e4r inte m\u00f6jlig
 syncrsimpl.valtores = V\u00e4rdet som ska analyseras kan antingen finnas i databasen eller i cachedrowset
@@ -132,31 +141,27 @@
 wrsxmlreader.invalidcp = Slutet p\u00e5 RowSet har n\u00e5tts. Mark\u00f6rpositionen \u00e4r ogiltig.
 wrsxmlreader.readxml = readXML: {0}
 wrsxmlreader.parseerr = ** Tolkningsfel
-wrsxmlreader.line =  , rad
-wrsxmlreader.uri =  , URI 
 
 #WebRowSetXmlWriter exceptions
 wrsxmlwriter.ioex = IOException: {0}
-wrsxmlwriter.sqlex = SQLException: {0} 
+wrsxmlwriter.sqlex = SQLException: {0}
 wrsxmlwriter.failedwrite = Det gick inte att skriva v\u00e4rdet
 wsrxmlwriter.notproper = Ingen riktig typ
 
-#XmlReaderContentHandle exceptions
-xmlrch.errmap = Ett fel uppstod vid inst\u00e4llningen av f\u00f6ljande bild: {0} 
-xmlrch.errmetadata = Ett fel uppstod vid inst\u00e4llningen av f\u00f6ljande metadata: {0} 
+#XmlReaderContentHandler exceptions
+xmlrch.errmap = Ett fel uppstod vid inst\u00e4llningen av f\u00f6ljande bild: {0}
+xmlrch.errmetadata = Ett fel uppstod vid inst\u00e4llningen av f\u00f6ljande metadata: {0}
 xmlrch.errinsert = Ett fel uppstod n\u00e4r f\u00f6ljande v\u00e4rden skulle infogas: {0}
 xmlrch.errconstr = Ett fel uppstod n\u00e4r f\u00f6ljande rad skulle skapas: {0}
 xmlrch.errdel = Ett fel uppstod n\u00e4r f\u00f6ljande rad skulle raderas: {0}
 xmlrch.errinsert = Ett fel uppstod n\u00e4r f\u00f6ljande infogningsrad skulle skapas: {0}
 xmlrch.errinsdel = Ett fel uppstod n\u00e4r raden insdel skulle skapas: {0}
 xmlrch.errupdate = Ett fel uppstod n\u00e4r f\u00f6ljande uppdateringsrad skulle skapas: {0}
-xmlrch errupdrow = Ett fel uppstod n\u00e4r f\u00f6ljande rad skulle uppdateras: {0}
+xmlrch.errupdrow = Det gick inte att uppdatera raden:  {0}
 xmlrch.chars = tecken:
 xmlrch.badvalue = Felaktigt v\u00e4rde; egenskapen kan inte ha ett tomt v\u00e4rde
 xmlrch.badvalue1 = Felaktigt v\u00e4rde; metadatan kan inte ha ett tomt v\u00e4rde
-xmlrch.warning = ** Varning!
-xmlrch.line =  , rad
-xmlrch.uri =  , URI 
+xmlrch.warning =  ** Varning!
 
 #RIOptimisticProvider Exceptions
 riop.locking = Det finns inte st\u00f6d f\u00f6r denna l\u00e5sningsklassifikation
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_CN.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_CN.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright 2005 Sun Microsystems, Inc.  All Rights Reserved.
+# Copyright 2005-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
@@ -41,7 +41,7 @@
 cachedrowsetimpl.longfail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getLong \u5931\u8d25
 cachedrowsetimpl.floatfail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getFloat \u5931\u8d25
 cachedrowsetimpl.doublefail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getDouble \u5931\u8d25
-cachedrowsetimpl.dtypemismt = \u6570\u636e\u7c7b\u578b\u4e0d\u5339\u914d
+cachedrowsetimpl.dtypemismt = \u6570\u636e\u7c7b\u578b\u4e0d\u5339\u914d 
 cachedrowsetimpl.datefail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getDate \u5931\u8d25\uff0c\u65e0\u53ef\u7528\u8f6c\u6362
 cachedrowsetimpl.timefail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getTime \u5931\u8d25\uff0c\u65e0\u53ef\u7528\u8f6c\u6362
 cachedrowsetimpl.posupdate = \u4e0d\u652f\u6301\u5b9a\u4f4d\u66f4\u65b0
@@ -71,11 +71,13 @@
 cachedrowsetimpl.unsetmatch2 = \u4f7f\u7528\u5217 ID \u4f5c\u4e3a unsetMatchColumn \u7684\u53c2\u6570
 cachedrowsetimpl.numrows = \u884c\u6570\u5c0f\u4e8e\u96f6\u6216\u5c0f\u4e8e\u8981\u63d0\u53d6\u7684\u884c\u6570
 cachedrowsetimpl.startpos = \u8d77\u59cb\u4f4d\u7f6e\u4e0d\u80fd\u4e3a\u8d1f\u6570
-cachedrowsetimpl.nextpage = \u5728\u8c03\u7528\u4e4b\u524d\u5148\u586b\u5145\u6570\u636e
+cachedrowsetimpl.nextpage = \u5728\u8c03\u7528\u4e4b\u524d\u5148\u586b\u5145\u6570\u636e 
 cachedrowsetimpl.pagesize = \u9875\u9762\u5927\u5c0f\u4e0d\u80fd\u5c0f\u4e8e\u96f6
 cachedrowsetimpl.pagesize1 = \u9875\u9762\u5927\u5c0f\u4e0d\u80fd\u5927\u4e8e maxRows
 cachedrowsetimpl.fwdonly = ResultSet \u7684\u7c7b\u578b\u4e3a\u4ec5\u5411\u524d\u7c7b\u578b
 cachedrowsetimpl.type = \u7c7b\u578b\u4e3a: {0}
+cachedrowsetimpl.opnotysupp = \u5c1a\u4e0d\u652f\u6301\u64cd\u4f5c
+cachedrowsetimpl.featnotsupp = \u4e0d\u652f\u6301\u529f\u80fd
 
 # WebRowSetImpl exceptions
 webrowsetimpl.nullhash = \u65e0\u6cd5\u5b9e\u4f8b\u5316 WebRowSetImpl \u5b9e\u4f8b\u3002\u63d0\u4f9b\u7ed9\u6784\u9020\u51fd\u6570\u7684 Hashtable \u4e3a Null
@@ -83,7 +85,7 @@
 webrowsetimpl.invalidrd = \u8bfb\u53d6\u5668\u65e0\u6548
 
 #FilteredRowSetImpl exceptions
-filteredrowsetimpl.relative = relative: \u5149\u6807\u64cd\u4f5c\u65e0\u6548
+filteredrowsetimpl.relative = relative: \u5149\u6807\u64cd\u4f5c\u65e0\u6548 
 filteredrowsetimpl.absolute = absolute: \u5149\u6807\u64cd\u4f5c\u65e0\u6548
 filteredrowsetimpl.notallowed = \u4e0d\u5141\u8bb8\u6b64\u503c\u901a\u8fc7\u8fc7\u6ee4\u5668
 
@@ -95,6 +97,7 @@
 joinrowsetimpl.notsupported = \u4e0d\u652f\u6301\u6b64\u8fde\u63a5\u7c7b\u578b
 joinrowsetimpl.initerror = JoinRowSet \u521d\u59cb\u5316\u9519\u8bef
 joinrowsetimpl.genericerr = \u4e00\u822c JoinRowSet \u521d\u59cb\u5316\u9519\u8bef
+joinrowsetimpl.emptyrowset = \u65e0\u6cd5\u5c06\u7a7a\u7684 rowset \u6dfb\u52a0\u5230\u6b64 JoinRowSet
 
 #JdbcRowSetImpl exceptions
 jdbcrowsetimpl.invalstate = \u72b6\u6001\u65e0\u6548
@@ -108,22 +111,28 @@
 jdbcrowsetimpl.usecolname = \u4f7f\u7528\u5217\u540d\u4f5c\u4e3a unsetMatchColumn \u7684\u53c2\u6570
 jdbcrowsetimpl.usecolid = \u4f7f\u7528\u5217 ID \u4f5c\u4e3a unsetMatchColumn \u7684\u53c2\u6570
 jdbcrowsetimpl.resnotupd = ResultSet \u4e0d\u53ef\u66f4\u65b0
+jdbcrowsetimpl.opnotysupp = \u5c1a\u4e0d\u652f\u6301\u64cd\u4f5c
+jdbcrowsetimpl.featnotsupp = \u4e0d\u652f\u6301\u529f\u80fd
 
 #CachedRowSetReader exceptions
 crsreader.connect = (JNDI) \u65e0\u6cd5\u8fde\u63a5
 crsreader.paramtype = \u65e0\u6cd5\u63a8\u65ad\u53c2\u6570\u7c7b\u578b
+crsreader.connecterr = RowSetReader \u53d1\u751f\u5185\u90e8\u9519\u8bef\uff1a\u6ca1\u6709\u8fde\u63a5\u6216\u547d\u4ee4
+crsreader.datedetected = \u68c0\u6d4b\u5230\u65e5\u671f
+crsreader.caldetected = \u68c0\u6d4b\u5230\u65e5\u5386
 
 #CachedRowSetWriter exceptions
 crswriter.connect = \u65e0\u6cd5\u8fdb\u884c\u8fde\u63a5
 crswriter.tname = writeData \u65e0\u6cd5\u786e\u5b9a\u8868\u540d
 crswriter.params1 = params1 \u7684\u503c: {0} 
 crswriter.params2 = params2 \u7684\u503c: {0} 
+crswriter.conflictsno =  \u540c\u6b65\u65f6\u53d1\u751f\u51b2\u7a81 
 
 #InsertRow exceptions
 insertrow.novalue = \u5c1a\u672a\u63d2\u5165\u4efb\u4f55\u503c
 
 #SyncResolverImpl exceptions
-syncrsimpl.indexval = \u7d22\u5f15\u503c\u8d85\u51fa\u8303\u56f4
+syncrsimpl.indexval = \u7d22\u5f15\u503c\u8d85\u51fa\u8303\u56f4  
 syncrsimpl.noconflict = \u6b64\u5217\u4e0d\u51b2\u7a81
 syncrsimpl.syncnotpos = \u4e0d\u80fd\u540c\u6b65
 syncrsimpl.valtores = \u8981\u89e3\u6790\u7684\u503c\u53ef\u4ee5\u5728\u6570\u636e\u5e93\u4e2d\uff0c\u4e5f\u53ef\u4ee5\u5728 CachedRowSet \u4e2d
@@ -132,37 +141,30 @@
 wrsxmlreader.invalidcp = \u5df2\u5230\u8fbe RowSet \u7684\u7ed3\u5c3e\u3002\u5149\u6807\u4f4d\u7f6e\u65e0\u6548
 wrsxmlreader.readxml = readXML: {0}
 wrsxmlreader.parseerr = ** \u8bed\u6cd5\u89e3\u6790\u9519\u8bef
-wrsxmlreader.line =  \uff0c\u884c 
-wrsxmlreader.uri =  \uff0curi 
 
 #WebRowSetXmlWriter exceptions
 wrsxmlwriter.ioex = IOException: {0}
-wrsxmlwriter.sqlex = SQLException: {0} 
+wrsxmlwriter.sqlex = SQLException: {0}
 wrsxmlwriter.failedwrite = \u65e0\u6cd5\u5199\u5165\u503c
 wsrxmlwriter.notproper = \u7c7b\u578b\u4e0d\u6b63\u786e
 
-#XmlReaderContentHandle exceptions
-xmlrch.errmap = \u8bbe\u7f6e\u6620\u5c04\u65f6\u51fa\u9519: {0} 
-xmlrch.errmetadata = \u8bbe\u7f6e\u5143\u6570\u636e\u65f6\u51fa\u9519: {0} 
+#XmlReaderContentHandler exceptions
+xmlrch.errmap = \u8bbe\u7f6e\u6620\u5c04\u65f6\u51fa\u9519: {0}
+xmlrch.errmetadata = \u8bbe\u7f6e\u5143\u6570\u636e\u65f6\u51fa\u9519: {0}
 xmlrch.errinsert = \u63d2\u5165\u503c\u65f6\u51fa\u9519: {0}
 xmlrch.errconstr = \u6784\u9020\u884c\u65f6\u51fa\u9519: {0}
 xmlrch.errdel = \u5220\u9664\u884c\u65f6\u51fa\u9519: {0}
 xmlrch.errinsert = \u6784\u9020\u63d2\u5165\u884c\u65f6\u51fa\u9519: {0}
 xmlrch.errinsdel = \u6784\u9020 insdel \u884c\u65f6\u51fa\u9519: {0}
 xmlrch.errupdate = \u6784\u9020\u66f4\u65b0\u884c\u65f6\u51fa\u9519: {0}
-xmlrch errupdrow = \u66f4\u65b0\u884c\u65f6\u51fa\u9519: {0}
+xmlrch.errupdrow = \u66f4\u65b0\u884c\u65f6\u51fa\u9519\uff1a{0}
 xmlrch.chars = \u5b57\u7b26:
 xmlrch.badvalue = \u503c\u9519\u8bef\uff1b\u5c5e\u6027\u4e0d\u53ef\u4e3a Null
 xmlrch.badvalue1 = \u503c\u9519\u8bef\uff1b\u5143\u6570\u636e\u4e0d\u53ef\u4e3a Null
-xmlrch.warning = ** \u8b66\u544a
-xmlrch.line =  \uff0c\u884c 
-xmlrch.uri =  \uff0curi 
+xmlrch.warning =  ** \u8b66\u544a
 
 #RIOptimisticProvider Exceptions
 riop.locking = \u4e0d\u652f\u6301\u9501\u5b9a\u5206\u7c7b
 
 #RIXMLProvider exceptions
 rixml.unsupp = \u4e0d\u652f\u6301 RIXMLProvider
-
-
-
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright 2005 Sun Microsystems, Inc.  All Rights Reserved.
+# Copyright 2005-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
@@ -41,7 +41,7 @@
 cachedrowsetimpl.longfail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getLong \u5931\u6557
 cachedrowsetimpl.floatfail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getFloat \u5931\u6557
 cachedrowsetimpl.doublefail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getDouble \u5931\u6557
-cachedrowsetimpl.dtypemismt = \u8cc7\u6599\u985e\u578b\u4e0d\u5339\u914d
+cachedrowsetimpl.dtypemismt = \u8cc7\u6599\u985e\u578b\u4e0d\u5339\u914d 
 cachedrowsetimpl.datefail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getDate \u5931\u6557\uff0c\u672a\u9032\u884c\u8f49\u63db
 cachedrowsetimpl.timefail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getTime \u5931\u6557\uff0c\u672a\u9032\u884c\u8f49\u63db
 cachedrowsetimpl.posupdate = \u4e0d\u652f\u63f4\u5b9a\u4f4d\u7684\u66f4\u65b0
@@ -71,11 +71,13 @@
 cachedrowsetimpl.unsetmatch2 = \u4f7f\u7528\u6b04 ID \u505a\u70ba unsetMatchColumn \u7684\u5f15\u6578
 cachedrowsetimpl.numrows = \u5217\u6578\u5c0f\u65bc\u96f6\u6216\u5c0f\u65bc\u64f7\u53d6\u5927\u5c0f
 cachedrowsetimpl.startpos = \u8d77\u59cb\u4f4d\u7f6e\u4e0d\u80fd\u70ba\u8ca0
-cachedrowsetimpl.nextpage = \u5728\u547c\u53eb\u4e4b\u524d\u690d\u5165\u8cc7\u6599
+cachedrowsetimpl.nextpage = \u5728\u547c\u53eb\u4e4b\u524d\u690d\u5165\u8cc7\u6599 
 cachedrowsetimpl.pagesize = \u9801\u9762\u5927\u5c0f\u4e0d\u80fd\u5c0f\u65bc\u96f6
 cachedrowsetimpl.pagesize1 = \u9801\u9762\u5927\u5c0f\u4e0d\u80fd\u5927\u65bc maxRows
 cachedrowsetimpl.fwdonly = ResultSet \u53ea\u80fd\u5411\u524d\u9032\u884c
 cachedrowsetimpl.type = \u985e\u578b\u662f\uff1a{0}
+cachedrowsetimpl.opnotysupp = \u5c1a\u672a\u652f\u63f4\u6b64\u4f5c\u696d
+cachedrowsetimpl.featnotsupp = \u4e0d\u652f\u63f4\u6b64\u529f\u80fd
 
 # WebRowSetImpl exceptions
 webrowsetimpl.nullhash = \u7121\u6cd5\u5275\u8a2d WebRowSetImpl \u5be6\u4f8b\u3002\u70ba\u5efa\u69cb\u5b50\u63d0\u4f9b\u7684 Hashtable \u70ba\u7a7a
@@ -83,7 +85,7 @@
 webrowsetimpl.invalidrd = \u8b80\u53d6\u5668\u7121\u6548
 
 #FilteredRowSetImpl exceptions
-filteredrowsetimpl.relative = relative\uff1a\u6e38\u6a19\u4f5c\u696d\u7121\u6548
+filteredrowsetimpl.relative = relative\uff1a\u6e38\u6a19\u4f5c\u696d\u7121\u6548 
 filteredrowsetimpl.absolute = absolute\uff1a\u6e38\u6a19\u4f5c\u696d\u7121\u6548
 filteredrowsetimpl.notallowed = \u4e0d\u5141\u8a31\u6b64\u503c\u901a\u904e\u904e\u6ffe\u5668
 
@@ -95,6 +97,7 @@
 joinrowsetimpl.notsupported = \u4e0d\u652f\u63f4\u6b64\u985e\u9023\u7d50
 joinrowsetimpl.initerror = JoinRowSet \u521d\u59cb\u5316\u932f\u8aa4
 joinrowsetimpl.genericerr = \u5e38\u898f\u7684 joinrowset \u521d\u59cb\u5316\u932f\u8aa4
+joinrowsetimpl.emptyrowset = \u4e0d\u53ef\u5c07\u7a7a\u767d\u7684 rowset \u589e\u52a0\u81f3\u6b64 JoinRowSet
 
 #JdbcRowSetImpl exceptions
 jdbcrowsetimpl.invalstate = \u72c0\u614b\u7121\u6548
@@ -108,22 +111,28 @@
 jdbcrowsetimpl.usecolname = \u4f7f\u7528\u6b04\u540d\u505a\u70ba unsetMatchColumn \u7684\u5f15\u6578
 jdbcrowsetimpl.usecolid = \u4f7f\u7528\u6b04 ID \u505a\u70ba unsetMatchColumn \u7684\u5f15\u6578
 jdbcrowsetimpl.resnotupd = ResultSet \u4e0d\u53ef\u66f4\u65b0
+jdbcrowsetimpl.opnotysupp = \u5c1a\u672a\u652f\u63f4\u6b64\u4f5c\u696d
+jdbcrowsetimpl.featnotsupp = \u4e0d\u652f\u63f4\u6b64\u529f\u80fd
 
 #CachedRowSetReader exceptions
 crsreader.connect = (JNDI) \u7121\u6cd5\u9023\u7dda
 crsreader.paramtype = \u7121\u6cd5\u63a8\u65b7\u53c3\u6578\u985e\u578b
+crsreader.connecterr = RowSetReader \u767c\u751f\u5167\u90e8\u932f\u8aa4\uff1a\u6c92\u6709\u9023\u7dda\u6216\u6307\u4ee4
+crsreader.datedetected = \u5075\u6e2c\u5230\u65e5\u671f
+crsreader.caldetected = \u5075\u6e2c\u5230\u884c\u4e8b\u66c6
 
 #CachedRowSetWriter exceptions
 crswriter.connect = \u7121\u6cd5\u5efa\u7acb\u9023\u7dda
 crswriter.tname = writeData \u4e0d\u80fd\u6c7a\u5b9a\u8868\u540d\u7a31
-crswriter.params1 = params1 \u7684\u503c\uff1a{0}
-crswriter.params2 = params2 \u7684\u503c\uff1a{0}
+crswriter.params1 = params1 \u7684\u503c\uff1a{0} 
+crswriter.params2 = params2 \u7684\u503c\uff1a{0} 
+crswriter.conflictsno =  \u540c\u6b65\u5316\u6642\u767c\u751f\u885d\u7a81 
 
 #InsertRow exceptions
 insertrow.novalue = \u5c1a\u672a\u63d2\u5165\u503c
 
 #SyncResolverImpl exceptions
-syncrsimpl.indexval = \u7d22\u5f15\u503c\u8d85\u51fa\u7bc4\u570d
+syncrsimpl.indexval = \u7d22\u5f15\u503c\u8d85\u51fa\u7bc4\u570d  
 syncrsimpl.noconflict = \u6b64\u6b04\u4e0d\u885d\u7a81
 syncrsimpl.syncnotpos = \u4e0d\u53ef\u80fd\u540c\u6b65\u5316
 syncrsimpl.valtores = \u8981\u89e3\u6790\u7684\u503c\u53ef\u4f4d\u65bc\u8cc7\u6599\u5eab\u6216 cachedrowset \u4e2d
@@ -132,8 +141,6 @@
 wrsxmlreader.invalidcp = \u5df2\u5230\u9054 RowSet \u672b\u5c3e\u3002\u6e38\u6a19\u4f4d\u7f6e\u7121\u6548
 wrsxmlreader.readxml = readXML\uff1a{0}
 wrsxmlreader.parseerr = ** \u5256\u6790\u932f\u8aa4
-wrsxmlreader.line =  , \u884c
-wrsxmlreader.uri =  , uri
 
 #WebRowSetXmlWriter exceptions
 wrsxmlwriter.ioex = IOException\uff1a{0}
@@ -141,28 +148,23 @@
 wrsxmlwriter.failedwrite = \u5beb\u5165\u503c\u5931\u6557
 wsrxmlwriter.notproper = \u4e0d\u662f\u6b63\u78ba\u985e\u578b
 
-#XmlReaderContentHandle exceptions
+#XmlReaderContentHandler exceptions
 xmlrch.errmap = \u8a2d\u5b9a\u5c0d\u6620\u6642\u767c\u751f\u932f\u8aa4\uff1a{0}
 xmlrch.errmetadata = \u8a2d\u5b9a\u5143\u8cc7\u6599\u6642\u767c\u751f\u932f\u8aa4\uff1a{0}
-xmlrch.errinsert = \u63d2\u5165\u503c\u6642\u767c\u751f\u932f\u8aa4\uff1a{0}
+xmlrch.errinsert = \u63d2\u5165\u503c\u6642\u767c\u751f\u932f\u8aa4: {0}
 xmlrch.errconstr = \u5efa\u69cb\u5217\u6642\u767c\u751f\u932f\u8aa4\uff1a{0}
 xmlrch.errdel = \u522a\u9664\u5217\u6642\u767c\u751f\u932f\u8aa4\uff1a{0}
 xmlrch.errinsert = \u5efa\u69cb\u63d2\u5165\u5217\u6642\u767c\u751f\u932f\u8aa4\uff1a{0}
 xmlrch.errinsdel = \u5efa\u69cb insdel \u5217\u6642\u767c\u751f\u932f\u8aa4\uff1a{0}
 xmlrch.errupdate = \u5efa\u69cb\u66f4\u65b0\u5217\u6642\u767c\u751f\u932f\u8aa4\uff1a{0}
-xmlrch errupdrow = \u66f4\u65b0\u5217\u6642\u767c\u751f\u932f\u8aa4\uff1a{0}
+xmlrch.errupdrow = \u66f4\u65b0\u5217\u6642\u767c\u751f\u932f\u8aa4: {0}
 xmlrch.chars = \u5b57\u5143\uff1a
 xmlrch.badvalue = \u932f\u8aa4\u7684\u503c\uff1b\u7279\u6027\u4e0d\u80fd\u70ba\u7a7a
 xmlrch.badvalue1 = \u932f\u8aa4\u7684\u503c\uff1b\u5143\u8cc7\u6599\u4e0d\u80fd\u70ba\u7a7a
-xmlrch.warning = ** \u8b66\u544a
-xmlrch.line =  , \u884c
-xmlrch.uri =  , uri
+xmlrch.warning =  ** \u8b66\u544a
 
 #RIOptimisticProvider Exceptions
 riop.locking = \u4e0d\u652f\u63f4\u9396\u5b9a\u5206\u985e
 
 #RIXMLProvider exceptions
 rixml.unsupp = RIXMLProvider \u4e0d\u652f\u63f4
-
-
-
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -49,12 +49,11 @@
 FileChooser.directoryDescriptionText=Verzeichnis
 FileChooser.newFolderErrorText=Fehler beim Erstellen eines neuen Ordners
 FileChooser.newFolderErrorSeparator= : 
-FileChooser.newFolderParentDoesntExistTitleText=Unable to create folder
-FileChooser.newFolderParentDoesntExistText=Unable to create the folder.\n\nThe system cannot find the path specified.
-FileChooser.renameErrorTitleText=Error Renaming File or Folder
-FileChooser.renameErrorText=Cannot rename {0}
-FileChooser.renameErrorFileExistsText=Cannot rename {0}: A file with the name you specified already exists. \
-  Specify a different file name.
+FileChooser.newFolderParentDoesntExistTitleText=Ordner kann nicht erstellt werden
+FileChooser.newFolderParentDoesntExistText=Der Ordner kann nicht erstellt werden.\n\nDas System kann den angegebenen Pfad nicht finden.
+FileChooser.renameErrorTitleText=Fehler beim Umbenennen der Datei oder des Ordners
+FileChooser.renameErrorText={0} kann nicht umbenannt werden
+FileChooser.renameErrorFileExistsText={0} kann nicht umbenannt werden: Es ist bereits eine Datei mit diesem Namen vorhanden. Geben Sie einen anderen Dateinamen an. 
 FileChooser.acceptAllFileFilterText=Alle Dateien
 FileChooser.cancelButtonText=Abbrechen
 FileChooser.cancelButtonMnemonic=65
@@ -108,16 +107,16 @@
 # xxxDisplayedMnemonicIndex.
 ColorChooser.hsvNameText=HSV
 ColorChooser.hsvMnemonic=72
-ColorChooser.hsvHueText=Hue
-ColorChooser.hsvSaturationText=Saturation
-ColorChooser.hsvValueText=Value
-ColorChooser.hsvTransparencyText=Transparency
+ColorChooser.hsvHueText=Farbton
+ColorChooser.hsvSaturationText=S\u00e4ttigung
+ColorChooser.hsvValueText=Wert
+ColorChooser.hsvTransparencyText=Transparenz
 ColorChooser.hslNameText=HSL
 ColorChooser.hslMnemonic=76
-ColorChooser.hslHueText=Hue
-ColorChooser.hslSaturationText=Saturation
-ColorChooser.hslLightnessText=Lightness
-ColorChooser.hslTransparencyText=Transparency
+ColorChooser.hslHueText=Farbton
+ColorChooser.hslSaturationText=S\u00e4ttigung
+ColorChooser.hslLightnessText=Helligkeit
+ColorChooser.hslTransparencyText=Transparenz
 ColorChooser.rgbNameText=RGB
 ColorChooser.rgbMnemonic=71
 ColorChooser.rgbRedText=Rot
@@ -127,14 +126,14 @@
 ColorChooser.rgbBlueText=Blau
 ColorChooser.rgbBlueMnemonic=66
 ColorChooser.rgbAlphaText=Alpha
-ColorChooser.rgbHexCodeText=Color Code
+ColorChooser.rgbHexCodeText=Farbcode
 ColorChooser.rgbHexCodeMnemonic=67
 ColorChooser.cmykNameText=CMYK
 ColorChooser.cmykMnemonic=77
 ColorChooser.cmykCyanText=Cyan
 ColorChooser.cmykMagentaText=Magenta
-ColorChooser.cmykYellowText=Yellow
-ColorChooser.cmykBlackText=Black
+ColorChooser.cmykYellowText=Gelb
+ColorChooser.cmykBlackText=Schwarz
 ColorChooser.cmykAlphaText=Alpha
 
 ############ OPTION PANE STRINGS #############
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -49,12 +49,11 @@
 FileChooser.directoryDescriptionText=Directorio
 FileChooser.newFolderErrorText=Error al crear una nueva carpeta
 FileChooser.newFolderErrorSeparator= : 
-FileChooser.newFolderParentDoesntExistTitleText=Unable to create folder
-FileChooser.newFolderParentDoesntExistText=Unable to create the folder.\n\nThe system cannot find the path specified.
-FileChooser.renameErrorTitleText=Error Renaming File or Folder
-FileChooser.renameErrorText=Cannot rename {0}
-FileChooser.renameErrorFileExistsText=Cannot rename {0}: A file with the name you specified already exists. \
-  Specify a different file name.
+FileChooser.newFolderParentDoesntExistTitleText=No se ha podido crear la carpeta
+FileChooser.newFolderParentDoesntExistText=No se ha podido crear la carpeta.\n\nEl sistema no puede encontrar la ruta especificada.
+FileChooser.renameErrorTitleText=Error al cambiar de nombre el archivo o la carpeta
+FileChooser.renameErrorText=No se puede cambiar de nombre {0}
+FileChooser.renameErrorFileExistsText=No se puede cambiar de nombre {0}: Ya existe un archivo con el nombre que ha especificado. Especifique otro nombre de archivo. 
 FileChooser.acceptAllFileFilterText=Todos los archivos
 FileChooser.cancelButtonText=Cancelar
 FileChooser.cancelButtonMnemonic=67
@@ -108,16 +107,16 @@
 # xxxDisplayedMnemonicIndex.
 ColorChooser.hsvNameText=HSV
 ColorChooser.hsvMnemonic=72
-ColorChooser.hsvHueText=Hue
-ColorChooser.hsvSaturationText=Saturation
-ColorChooser.hsvValueText=Value
-ColorChooser.hsvTransparencyText=Transparency
+ColorChooser.hsvHueText=Matriz
+ColorChooser.hsvSaturationText=Saturaci\u00f3n
+ColorChooser.hsvValueText=Valor
+ColorChooser.hsvTransparencyText=Transparencia
 ColorChooser.hslNameText=HSL
 ColorChooser.hslMnemonic=76
-ColorChooser.hslHueText=Hue
-ColorChooser.hslSaturationText=Saturation
-ColorChooser.hslLightnessText=Lightness
-ColorChooser.hslTransparencyText=Transparency
+ColorChooser.hslHueText=Matriz
+ColorChooser.hslSaturationText=Saturaci\u00f3n
+ColorChooser.hslLightnessText=Brillo
+ColorChooser.hslTransparencyText=Transparencia
 ColorChooser.rgbNameText=RGB
 ColorChooser.rgbMnemonic=71
 ColorChooser.rgbRedText=Rojo
@@ -127,14 +126,14 @@
 ColorChooser.rgbBlueText=Azul
 ColorChooser.rgbBlueMnemonic=76
 ColorChooser.rgbAlphaText=Alpha
-ColorChooser.rgbHexCodeText=Color Code
+ColorChooser.rgbHexCodeText=C\u00f3digo de color
 ColorChooser.rgbHexCodeMnemonic=67
 ColorChooser.cmykNameText=CMYK
 ColorChooser.cmykMnemonic=77
-ColorChooser.cmykCyanText=Cyan
+ColorChooser.cmykCyanText=Cian
 ColorChooser.cmykMagentaText=Magenta
-ColorChooser.cmykYellowText=Yellow
-ColorChooser.cmykBlackText=Black
+ColorChooser.cmykYellowText=Amarillo
+ColorChooser.cmykBlackText=Negro
 ColorChooser.cmykAlphaText=Alpha
 
 ############ OPTION PANE STRINGS #############
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -49,12 +49,11 @@
 FileChooser.directoryDescriptionText=R\u00e9pertoire
 FileChooser.newFolderErrorText=Erreur lors de la cr\u00e9ation du nouveau dossier
 FileChooser.newFolderErrorSeparator= : 
-FileChooser.newFolderParentDoesntExistTitleText=Unable to create folder
-FileChooser.newFolderParentDoesntExistText=Unable to create the folder.\n\nThe system cannot find the path specified.
-FileChooser.renameErrorTitleText=Error Renaming File or Folder
-FileChooser.renameErrorText=Cannot rename {0}
-FileChooser.renameErrorFileExistsText=Cannot rename {0}: A file with the name you specified already exists. \
-  Specify a different file name.
+FileChooser.newFolderParentDoesntExistTitleText=Impossible de cr\u00e9er le dossier
+FileChooser.newFolderParentDoesntExistText=Impossible de cr\u00e9er le dossier.\n\nLe syst\u00e8me ne trouve pas le chemin sp\u00e9cifi\u00e9.
+FileChooser.renameErrorTitleText=Erreur lors de la modification du nom du fichier ou du dossier
+FileChooser.renameErrorText=Impossible de renommer {0}
+FileChooser.renameErrorFileExistsText=Impossible de renommer {0}\u00a0: un fichier portant ce nom existe d\u00e9j\u00e0. Choisissez un nom diff\u00e9rent. 
 FileChooser.acceptAllFileFilterText=Tous les fichiers
 FileChooser.cancelButtonText=Annuler
 FileChooser.cancelButtonMnemonic=65
@@ -108,16 +107,16 @@
 # xxxDisplayedMnemonicIndex.
 ColorChooser.hsvNameText=HSV
 ColorChooser.hsvMnemonic=72
-ColorChooser.hsvHueText=Hue
+ColorChooser.hsvHueText=Teinte
 ColorChooser.hsvSaturationText=Saturation
-ColorChooser.hsvValueText=Value
-ColorChooser.hsvTransparencyText=Transparency
+ColorChooser.hsvValueText=Valeur
+ColorChooser.hsvTransparencyText=Transparence
 ColorChooser.hslNameText=HSL
 ColorChooser.hslMnemonic=76
-ColorChooser.hslHueText=Hue
+ColorChooser.hslHueText=Teinte
 ColorChooser.hslSaturationText=Saturation
-ColorChooser.hslLightnessText=Lightness
-ColorChooser.hslTransparencyText=Transparency
+ColorChooser.hslLightnessText=Clart\u00e9
+ColorChooser.hslTransparencyText=Transparence
 ColorChooser.rgbNameText=RVB
 ColorChooser.rgbMnemonic=86
 ColorChooser.rgbRedText=Rouge
@@ -127,14 +126,14 @@
 ColorChooser.rgbBlueText=Bleu
 ColorChooser.rgbBlueMnemonic=66
 ColorChooser.rgbAlphaText=Alpha
-ColorChooser.rgbHexCodeText=Color Code
+ColorChooser.rgbHexCodeText=Code couleur
 ColorChooser.rgbHexCodeMnemonic=67
 ColorChooser.cmykNameText=CMYK
 ColorChooser.cmykMnemonic=77
 ColorChooser.cmykCyanText=Cyan
 ColorChooser.cmykMagentaText=Magenta
-ColorChooser.cmykYellowText=Yellow
-ColorChooser.cmykBlackText=Black
+ColorChooser.cmykYellowText=Jaune
+ColorChooser.cmykBlackText=Noir
 ColorChooser.cmykAlphaText=Alpha
 
 ############ OPTION PANE STRINGS #############
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -49,12 +49,11 @@
 FileChooser.directoryDescriptionText=Directory
 FileChooser.newFolderErrorText=Errore durante la creazione della nuova cartella
 FileChooser.newFolderErrorSeparator= : 
-FileChooser.newFolderParentDoesntExistTitleText=Unable to create folder
-FileChooser.newFolderParentDoesntExistText=Unable to create the folder.\n\nThe system cannot find the path specified.
-FileChooser.renameErrorTitleText=Error Renaming File or Folder
-FileChooser.renameErrorText=Cannot rename {0}
-FileChooser.renameErrorFileExistsText=Cannot rename {0}: A file with the name you specified already exists. \
-  Specify a different file name.
+FileChooser.newFolderParentDoesntExistTitleText=Impossibile creare la cartella
+FileChooser.newFolderParentDoesntExistText=Impossibile creare  la cartella.\n\nPercorso specificato non trovato nel sistema.
+FileChooser.renameErrorTitleText=Errore di ridenominazione del file o della cartella
+FileChooser.renameErrorText=Impossibile rinominare {0}
+FileChooser.renameErrorFileExistsText=Impossibile rinominare {0}: esiste gi\u00e0 un file con il nome specificato. Specificare un nome file alternativo. 
 FileChooser.acceptAllFileFilterText=Tutti i file
 FileChooser.cancelButtonText=Annulla
 FileChooser.cancelButtonMnemonic=65
@@ -108,16 +107,16 @@
 # xxxDisplayedMnemonicIndex.
 ColorChooser.hsvNameText=HSV
 ColorChooser.hsvMnemonic=72
-ColorChooser.hsvHueText=Hue
-ColorChooser.hsvSaturationText=Saturation
-ColorChooser.hsvValueText=Value
-ColorChooser.hsvTransparencyText=Transparency
+ColorChooser.hsvHueText=Tonalit\u00e0
+ColorChooser.hsvSaturationText=Saturazione
+ColorChooser.hsvValueText=Valore
+ColorChooser.hsvTransparencyText=Trasparenza
 ColorChooser.hslNameText=HSL
 ColorChooser.hslMnemonic=76
-ColorChooser.hslHueText=Hue
-ColorChooser.hslSaturationText=Saturation
-ColorChooser.hslLightnessText=Lightness
-ColorChooser.hslTransparencyText=Transparency
+ColorChooser.hslHueText=Tonalit\u00e0
+ColorChooser.hslSaturationText=Saturazione
+ColorChooser.hslLightnessText=Luminosit\u00e0
+ColorChooser.hslTransparencyText=Trasparenza
 ColorChooser.rgbNameText=RGB
 ColorChooser.rgbMnemonic=71
 ColorChooser.rgbRedText=Rosso
@@ -126,16 +125,16 @@
 ColorChooser.rgbGreenMnemonic=69
 ColorChooser.rgbBlueText=Blu
 ColorChooser.rgbBlueMnemonic=66
-ColorChooser.rgbAlphaText=Alpha
-ColorChooser.rgbHexCodeText=Color Code
+ColorChooser.rgbAlphaText=Alfa
+ColorChooser.rgbHexCodeText=Codice colore
 ColorChooser.rgbHexCodeMnemonic=67
 ColorChooser.cmykNameText=CMYK
 ColorChooser.cmykMnemonic=77
-ColorChooser.cmykCyanText=Cyan
+ColorChooser.cmykCyanText=Ciano
 ColorChooser.cmykMagentaText=Magenta
-ColorChooser.cmykYellowText=Yellow
-ColorChooser.cmykBlackText=Black
-ColorChooser.cmykAlphaText=Alpha
+ColorChooser.cmykYellowText=Giallo
+ColorChooser.cmykBlackText=Nero
+ColorChooser.cmykAlphaText=Alfa
 
 ############ OPTION PANE STRINGS #############
 # Mnemonic keys correspond to KeyEvent.VK_XXX constant
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -49,12 +49,11 @@
 FileChooser.directoryDescriptionText=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea
 FileChooser.newFolderErrorText=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0\u306e\u4f5c\u6210\u306b\u5931\u6557
 FileChooser.newFolderErrorSeparator= : 
-FileChooser.newFolderParentDoesntExistTitleText=Unable to create folder
-FileChooser.newFolderParentDoesntExistText=Unable to create the folder.\n\nThe system cannot find the path specified.
-FileChooser.renameErrorTitleText=Error Renaming File or Folder
-FileChooser.renameErrorText=Cannot rename {0}
-FileChooser.renameErrorFileExistsText=Cannot rename {0}: A file with the name you specified already exists. \
-  Specify a different file name.
+FileChooser.newFolderParentDoesntExistTitleText=\u30d5\u30a9\u30eb\u30c0\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093
+FileChooser.newFolderParentDoesntExistText=\u30d5\u30a9\u30eb\u30c0\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002\n\n\u6307\u5b9a\u3055\u308c\u305f\u30d1\u30b9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
+FileChooser.renameErrorTitleText=\u30d5\u30a1\u30a4\u30eb\u307e\u305f\u306f\u30d5\u30a9\u30eb\u30c0\u306e\u540d\u524d\u5909\u66f4\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
+FileChooser.renameErrorText={0} \u306e\u540d\u524d\u3092\u5909\u66f4\u3067\u304d\u307e\u305b\u3093\u3002
+FileChooser.renameErrorFileExistsText={0} \u306e\u540d\u524d\u3092\u5909\u66f4\u3067\u304d\u307e\u305b\u3093: \u6307\u5b9a\u3055\u308c\u305f\u540d\u524d\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u3059\u3067\u306b\u5b58\u5728\u3057\u3066\u3044\u307e\u3059\u3002\u5225\u306e\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002 
 FileChooser.acceptAllFileFilterText=\u3059\u3079\u3066\u306e\u30d5\u30a1\u30a4\u30eb
 FileChooser.cancelButtonText=\u53d6\u6d88\u3057
 FileChooser.cancelButtonMnemonic=67
@@ -108,16 +107,16 @@
 # xxxDisplayedMnemonicIndex.
 ColorChooser.hsvNameText=HSV
 ColorChooser.hsvMnemonic=72
-ColorChooser.hsvHueText=Hue
-ColorChooser.hsvSaturationText=Saturation
-ColorChooser.hsvValueText=Value
-ColorChooser.hsvTransparencyText=Transparency
+ColorChooser.hsvHueText=\u8272\u5408\u3044
+ColorChooser.hsvSaturationText=\u5f69\u5ea6
+ColorChooser.hsvValueText=\u5024
+ColorChooser.hsvTransparencyText=\u900f\u660e\u5ea6
 ColorChooser.hslNameText=HSL
 ColorChooser.hslMnemonic=76
-ColorChooser.hslHueText=Hue
-ColorChooser.hslSaturationText=Saturation
-ColorChooser.hslLightnessText=Lightness
-ColorChooser.hslTransparencyText=Transparency
+ColorChooser.hslHueText=\u8272\u5408\u3044
+ColorChooser.hslSaturationText=\u5f69\u5ea6
+ColorChooser.hslLightnessText=\u660e\u5ea6
+ColorChooser.hslTransparencyText=\u900f\u660e\u5ea6
 ColorChooser.rgbNameText=RGB
 ColorChooser.rgbMnemonic=71
 ColorChooser.rgbRedText=\u8d64(D)
@@ -126,16 +125,16 @@
 ColorChooser.rgbGreenMnemonic=78
 ColorChooser.rgbBlueText=\u9752(B)
 ColorChooser.rgbBlueMnemonic=66
-ColorChooser.rgbAlphaText=Alpha
-ColorChooser.rgbHexCodeText=Color Code
+ColorChooser.rgbAlphaText=\u30a2\u30eb\u30d5\u30a1
+ColorChooser.rgbHexCodeText=\u8272\u30b3\u30fc\u30c9
 ColorChooser.rgbHexCodeMnemonic=67
 ColorChooser.cmykNameText=CMYK
 ColorChooser.cmykMnemonic=77
-ColorChooser.cmykCyanText=Cyan
-ColorChooser.cmykMagentaText=Magenta
-ColorChooser.cmykYellowText=Yellow
-ColorChooser.cmykBlackText=Black
-ColorChooser.cmykAlphaText=Alpha
+ColorChooser.cmykCyanText=\u30b7\u30a2\u30f3
+ColorChooser.cmykMagentaText=\u30de\u30bc\u30f3\u30c0
+ColorChooser.cmykYellowText=\u9ec4
+ColorChooser.cmykBlackText=\u9ed2
+ColorChooser.cmykAlphaText=\u30a2\u30eb\u30d5\u30a1
 
 ############ OPTION PANE STRINGS #############
 # Mnemonic keys correspond to KeyEvent.VK_XXX constant
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -49,12 +49,11 @@
 FileChooser.directoryDescriptionText=\ub514\ub809\ud1a0\ub9ac
 FileChooser.newFolderErrorText=\uc0c8 \ud3f4\ub354 \uc791\uc131 \uc624\ub958
 FileChooser.newFolderErrorSeparator= : 
-FileChooser.newFolderParentDoesntExistTitleText=Unable to create folder
-FileChooser.newFolderParentDoesntExistText=Unable to create the folder.\n\nThe system cannot find the path specified.
-FileChooser.renameErrorTitleText=Error Renaming File or Folder
-FileChooser.renameErrorText=Cannot rename {0}
-FileChooser.renameErrorFileExistsText=Cannot rename {0}: A file with the name you specified already exists. \
-  Specify a different file name.
+FileChooser.newFolderParentDoesntExistTitleText=\ud3f4\ub354\ub97c \ub9cc\ub4e4 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
+FileChooser.newFolderParentDoesntExistText=\ud3f4\ub354\ub97c \ub9cc\ub4e4 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.\n\n\uc2dc\uc2a4\ud15c\uc5d0\uc11c \uc9c0\uc815\ud55c \uacbd\ub85c\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
+FileChooser.renameErrorTitleText=\ud30c\uc77c \ub610\ub294 \ud3f4\ub354 \uc774\ub984 \ubc14\uafb8\uae30 \uc624\ub958
+FileChooser.renameErrorText={0}\uc758 \uc774\ub984\uc744 \ubc14\uafc0 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
+FileChooser.renameErrorFileExistsText={0}\uc758 \uc774\ub984\uc744 \ubc14\uafc0 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc9c0\uc815\ud55c \uc774\ub984\uc758 \ud30c\uc77c\uc774 \uc774\ubbf8 \uc788\uc2b5\ub2c8\ub2e4.  \ub2e4\ub978 \ud30c\uc77c \uc774\ub984\uc744 \uc9c0\uc815\ud558\uc2ed\uc2dc\uc624. 
 FileChooser.acceptAllFileFilterText=\ubaa8\ub4e0 \ud30c\uc77c
 FileChooser.cancelButtonText=\ucde8\uc18c
 FileChooser.cancelButtonMnemonic=67
@@ -108,16 +107,16 @@
 # xxxDisplayedMnemonicIndex.
 ColorChooser.hsvNameText=HSV
 ColorChooser.hsvMnemonic=72
-ColorChooser.hsvHueText=Hue
-ColorChooser.hsvSaturationText=Saturation
-ColorChooser.hsvValueText=Value
-ColorChooser.hsvTransparencyText=Transparency
+ColorChooser.hsvHueText=\uc0c9\uc0c1
+ColorChooser.hsvSaturationText=\ucc44\ub3c4
+ColorChooser.hsvValueText=\uac12
+ColorChooser.hsvTransparencyText=\ud22c\uba85\ub3c4
 ColorChooser.hslNameText=HSL
 ColorChooser.hslMnemonic=76
-ColorChooser.hslHueText=Hue
-ColorChooser.hslSaturationText=Saturation
-ColorChooser.hslLightnessText=Lightness
-ColorChooser.hslTransparencyText=Transparency
+ColorChooser.hslHueText=\uc0c9\uc0c1
+ColorChooser.hslSaturationText=\ucc44\ub3c4
+ColorChooser.hslLightnessText=\ubc1d\uae30
+ColorChooser.hslTransparencyText=\ud22c\uba85\ub3c4
 ColorChooser.rgbNameText=RGB
 ColorChooser.rgbMnemonic=71
 ColorChooser.rgbRedText=\ube68\uac04\uc0c9(D)
@@ -126,16 +125,16 @@
 ColorChooser.rgbGreenMnemonic=78
 ColorChooser.rgbBlueText=\ud30c\ub780\uc0c9(B)
 ColorChooser.rgbBlueMnemonic=66
-ColorChooser.rgbAlphaText=Alpha
-ColorChooser.rgbHexCodeText=Color Code
+ColorChooser.rgbAlphaText=\uc54c\ud30c
+ColorChooser.rgbHexCodeText=\uceec\ub7ec \ucf54\ub4dc
 ColorChooser.rgbHexCodeMnemonic=67
 ColorChooser.cmykNameText=CMYK
 ColorChooser.cmykMnemonic=77
-ColorChooser.cmykCyanText=Cyan
-ColorChooser.cmykMagentaText=Magenta
-ColorChooser.cmykYellowText=Yellow
-ColorChooser.cmykBlackText=Black
-ColorChooser.cmykAlphaText=Alpha
+ColorChooser.cmykCyanText=\uccad\ub85d\uc0c9
+ColorChooser.cmykMagentaText=\uc790\ud64d\uc0c9
+ColorChooser.cmykYellowText=\ub178\ub780\uc0c9
+ColorChooser.cmykBlackText=\ud751\uc0c9
+ColorChooser.cmykAlphaText=\uc54c\ud30c
 
 ############ OPTION PANE STRINGS #############
 # Mnemonic keys correspond to KeyEvent.VK_XXX constant
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -49,12 +49,11 @@
 FileChooser.directoryDescriptionText=Katalog
 FileChooser.newFolderErrorText=Fel d\u00e5 ny mapp skapades
 FileChooser.newFolderErrorSeparator= : 
-FileChooser.newFolderParentDoesntExistTitleText=Unable to create folder
-FileChooser.newFolderParentDoesntExistText=Unable to create the folder.\n\nThe system cannot find the path specified.
-FileChooser.renameErrorTitleText=Error Renaming File or Folder
-FileChooser.renameErrorText=Cannot rename {0}
-FileChooser.renameErrorFileExistsText=Cannot rename {0}: A file with the name you specified already exists. \
-  Specify a different file name.
+FileChooser.newFolderParentDoesntExistTitleText=Det gick inte att skapa mappen
+FileChooser.newFolderParentDoesntExistText=Det gick inte att skapa mappen.\n\nSystemet hittade inte den angivna s\u00f6kv\u00e4gen.
+FileChooser.renameErrorTitleText=Det gick inte att byta namn p\u00e5 filen eller mappen
+FileChooser.renameErrorText=Det gick inte byta namn p\u00e5 {0}
+FileChooser.renameErrorFileExistsText=Det gick inte byta namn p\u00e5 {0}: Det finns redan en fil med det namnet. Ge den ett annat namn. 
 FileChooser.acceptAllFileFilterText=Alla filer
 FileChooser.cancelButtonText=Avbryt
 FileChooser.cancelButtonMnemonic=65
@@ -106,18 +105,18 @@
 # constant, and an index into the text to render the mnemonic as. The
 # mnemonic is xxxMnemonic and the index of the character to underline is
 # xxxDisplayedMnemonicIndex.
-ColorChooser.hsvNameText=HSV
+ColorChooser.hsvNameText=NMI
 ColorChooser.hsvMnemonic=72
-ColorChooser.hsvHueText=Hue
-ColorChooser.hsvSaturationText=Saturation
-ColorChooser.hsvValueText=Value
-ColorChooser.hsvTransparencyText=Transparency
+ColorChooser.hsvHueText=Nyans
+ColorChooser.hsvSaturationText=M\u00e4ttnad
+ColorChooser.hsvValueText=V\u00e4rde
+ColorChooser.hsvTransparencyText=Genomskinlighet
 ColorChooser.hslNameText=HSL
 ColorChooser.hslMnemonic=76
-ColorChooser.hslHueText=Hue
-ColorChooser.hslSaturationText=Saturation
-ColorChooser.hslLightnessText=Lightness
-ColorChooser.hslTransparencyText=Transparency
+ColorChooser.hslHueText=Nyans
+ColorChooser.hslSaturationText=M\u00e4ttnad
+ColorChooser.hslLightnessText=Ljusstyrka
+ColorChooser.hslTransparencyText=Genomskinlighet
 ColorChooser.rgbNameText=RGB
 ColorChooser.rgbMnemonic=71
 ColorChooser.rgbRedText=R\u00f6d
@@ -126,16 +125,16 @@
 ColorChooser.rgbGreenMnemonic=71
 ColorChooser.rgbBlueText=Bl\u00e5
 ColorChooser.rgbBlueMnemonic=66
-ColorChooser.rgbAlphaText=Alpha
-ColorChooser.rgbHexCodeText=Color Code
+ColorChooser.rgbAlphaText=Alfa
+ColorChooser.rgbHexCodeText=F\u00e4rgkod
 ColorChooser.rgbHexCodeMnemonic=67
 ColorChooser.cmykNameText=CMYK
 ColorChooser.cmykMnemonic=77
-ColorChooser.cmykCyanText=Cyan
+ColorChooser.cmykCyanText=Cyanbl\u00e5
 ColorChooser.cmykMagentaText=Magenta
-ColorChooser.cmykYellowText=Yellow
-ColorChooser.cmykBlackText=Black
-ColorChooser.cmykAlphaText=Alpha
+ColorChooser.cmykYellowText=Gul
+ColorChooser.cmykBlackText=Svart
+ColorChooser.cmykAlphaText=Alfa
 
 ############ OPTION PANE STRINGS #############
 # Mnemonic keys correspond to KeyEvent.VK_XXX constant
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -49,12 +49,11 @@
 FileChooser.directoryDescriptionText=\u76ee\u5f55
 FileChooser.newFolderErrorText=\u521b\u5efa\u65b0\u7684\u6587\u4ef6\u5939\u65f6\u53d1\u751f\u9519\u8bef
 FileChooser.newFolderErrorSeparator= : 
-FileChooser.newFolderParentDoesntExistTitleText=Unable to create folder
-FileChooser.newFolderParentDoesntExistText=Unable to create the folder.\n\nThe system cannot find the path specified.
-FileChooser.renameErrorTitleText=Error Renaming File or Folder
-FileChooser.renameErrorText=Cannot rename {0}
-FileChooser.renameErrorFileExistsText=Cannot rename {0}: A file with the name you specified already exists. \
-  Specify a different file name.
+FileChooser.newFolderParentDoesntExistTitleText=\u65e0\u6cd5\u521b\u5efa\u6587\u4ef6\u5939
+FileChooser.newFolderParentDoesntExistText=\u65e0\u6cd5\u521b\u5efa\u6587\u4ef6\u5939\u3002\n\n\u7cfb\u7edf\u65e0\u6cd5\u627e\u5230\u6307\u5b9a\u7684\u8def\u5f84\u3002
+FileChooser.renameErrorTitleText=\u91cd\u547d\u540d\u6587\u4ef6\u6216\u6587\u4ef6\u5939\u65f6\u51fa\u9519
+FileChooser.renameErrorText=\u65e0\u6cd5\u91cd\u547d\u540d {0}
+FileChooser.renameErrorFileExistsText=\u65e0\u6cd5\u91cd\u547d\u540d {0}\uff1a\u5df2\u5b58\u5728\u5177\u6709\u6307\u5b9a\u540d\u79f0\u7684\u6587\u4ef6\u3002\u8bf7\u6307\u5b9a\u53e6\u4e00\u6587\u4ef6\u540d\u3002 
 FileChooser.acceptAllFileFilterText=\u6240\u6709\u6587\u4ef6
 FileChooser.cancelButtonText=\u53d6\u6d88
 FileChooser.cancelButtonMnemonic=67
@@ -108,16 +107,16 @@
 # xxxDisplayedMnemonicIndex.
 ColorChooser.hsvNameText=HSV
 ColorChooser.hsvMnemonic=72
-ColorChooser.hsvHueText=Hue
-ColorChooser.hsvSaturationText=Saturation
-ColorChooser.hsvValueText=Value
-ColorChooser.hsvTransparencyText=Transparency
+ColorChooser.hsvHueText=\u8272\u8c03
+ColorChooser.hsvSaturationText=\u9971\u548c
+ColorChooser.hsvValueText=\u503c
+ColorChooser.hsvTransparencyText=\u900f\u660e
 ColorChooser.hslNameText=HSL
 ColorChooser.hslMnemonic=76
-ColorChooser.hslHueText=Hue
-ColorChooser.hslSaturationText=Saturation
-ColorChooser.hslLightnessText=Lightness
-ColorChooser.hslTransparencyText=Transparency
+ColorChooser.hslHueText=\u8272\u8c03
+ColorChooser.hslSaturationText=\u9971\u548c
+ColorChooser.hslLightnessText=\u4eae\u5ea6
+ColorChooser.hslTransparencyText=\u900f\u660e
 ColorChooser.rgbNameText=RGB
 ColorChooser.rgbMnemonic=71
 ColorChooser.rgbRedText=\u7ea2
@@ -127,14 +126,14 @@
 ColorChooser.rgbBlueText=\u84dd
 ColorChooser.rgbBlueMnemonic=66
 ColorChooser.rgbAlphaText=Alpha
-ColorChooser.rgbHexCodeText=Color Code
+ColorChooser.rgbHexCodeText=\u989c\u8272\u4ee3\u7801
 ColorChooser.rgbHexCodeMnemonic=67
 ColorChooser.cmykNameText=CMYK
 ColorChooser.cmykMnemonic=77
-ColorChooser.cmykCyanText=Cyan
-ColorChooser.cmykMagentaText=Magenta
-ColorChooser.cmykYellowText=Yellow
-ColorChooser.cmykBlackText=Black
+ColorChooser.cmykCyanText=\u9752\u8272
+ColorChooser.cmykMagentaText=\u54c1\u7ea2\u8272
+ColorChooser.cmykYellowText=\u9ec4\u8272
+ColorChooser.cmykBlackText=\u9ed1\u8272
 ColorChooser.cmykAlphaText=Alpha
 
 ############ OPTION PANE STRINGS #############
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -49,12 +49,11 @@
 FileChooser.directoryDescriptionText=\u76ee\u9304
 FileChooser.newFolderErrorText=\u5efa\u7acb\u65b0\u6a94\u6848\u593e\u6642\u767c\u751f\u932f\u8aa4
 FileChooser.newFolderErrorSeparator= : 
-FileChooser.newFolderParentDoesntExistTitleText=Unable to create folder
-FileChooser.newFolderParentDoesntExistText=Unable to create the folder.\n\nThe system cannot find the path specified.
-FileChooser.renameErrorTitleText=Error Renaming File or Folder
-FileChooser.renameErrorText=Cannot rename {0}
-FileChooser.renameErrorFileExistsText=Cannot rename {0}: A file with the name you specified already exists. \
-  Specify a different file name.
+FileChooser.newFolderParentDoesntExistTitleText=\u7121\u6cd5\u5efa\u7acb\u8cc7\u6599\u593e
+FileChooser.newFolderParentDoesntExistText=\u7121\u6cd5\u5efa\u7acb\u8cc7\u6599\u593e\u3002\n\n\u7cfb\u7d71\u627e\u4e0d\u5230\u6240\u6307\u5b9a\u7684\u8def\u5f91\u3002
+FileChooser.renameErrorTitleText=\u91cd\u65b0\u547d\u540d\u6a94\u6848\u6216\u8cc7\u6599\u593e\u6642\u767c\u751f\u932f\u8aa4
+FileChooser.renameErrorText=\u7121\u6cd5\u91cd\u65b0\u547d\u540d {0}
+FileChooser.renameErrorFileExistsText=\u7121\u6cd5\u91cd\u65b0\u547d\u540d {0}\uff1a\u60a8\u6307\u5b9a\u4e4b\u540d\u7a31\u7684\u6a94\u6848\u5df2\u5b58\u5728\u3002\u6307\u5b9a\u4e0d\u540c\u7684\u6a94\u6848\u540d\u7a31\u3002 
 FileChooser.acceptAllFileFilterText=\u6240\u6709\u6a94\u6848
 FileChooser.cancelButtonText=\u53d6\u6d88
 FileChooser.cancelButtonMnemonic=67
@@ -108,16 +107,16 @@
 # xxxDisplayedMnemonicIndex.
 ColorChooser.hsvNameText=HSV
 ColorChooser.hsvMnemonic=72
-ColorChooser.hsvHueText=Hue
-ColorChooser.hsvSaturationText=Saturation
-ColorChooser.hsvValueText=Value
-ColorChooser.hsvTransparencyText=Transparency
+ColorChooser.hsvHueText=\u8272\u8abf
+ColorChooser.hsvSaturationText=\u98fd\u548c\u5ea6
+ColorChooser.hsvValueText=\u503c
+ColorChooser.hsvTransparencyText=\u900f\u660e\u5ea6
 ColorChooser.hslNameText=HSL
 ColorChooser.hslMnemonic=76
-ColorChooser.hslHueText=Hue
-ColorChooser.hslSaturationText=Saturation
-ColorChooser.hslLightnessText=Lightness
-ColorChooser.hslTransparencyText=Transparency
+ColorChooser.hslHueText=\u8272\u8abf
+ColorChooser.hslSaturationText=\u98fd\u548c\u5ea6
+ColorChooser.hslLightnessText=\u4eae\u5ea6
+ColorChooser.hslTransparencyText=\u900f\u660e\u5ea6
 ColorChooser.rgbNameText=RGB
 ColorChooser.rgbMnemonic=71
 ColorChooser.rgbRedText=\u7d05\u8272(D)
@@ -127,14 +126,14 @@
 ColorChooser.rgbBlueText=\u85cd\u8272(B)
 ColorChooser.rgbBlueMnemonic=66
 ColorChooser.rgbAlphaText=Alpha
-ColorChooser.rgbHexCodeText=Color Code
+ColorChooser.rgbHexCodeText=\u8272\u78bc
 ColorChooser.rgbHexCodeMnemonic=67
 ColorChooser.cmykNameText=CMYK
 ColorChooser.cmykMnemonic=77
-ColorChooser.cmykCyanText=Cyan
-ColorChooser.cmykMagentaText=Magenta
-ColorChooser.cmykYellowText=Yellow
-ColorChooser.cmykBlackText=Black
+ColorChooser.cmykCyanText=\u85cd\u7da0\u8272
+ColorChooser.cmykMagentaText=\u7d2b\u7d05\u8272
+ColorChooser.cmykYellowText=\u9ec3\u8272
+ColorChooser.cmykBlackText=\u9ed1\u8272
 ColorChooser.cmykAlphaText=Alpha
 
 ############ OPTION PANE STRINGS #############
--- a/jdk/src/share/classes/java/awt/Component.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/java/awt/Component.java	Wed Jul 05 17:10:46 2017 +0200
@@ -4941,9 +4941,13 @@
                 // If we dispatch the event to toplevel ancestor,
                 // this could encolse the loop: 6480024.
                 anc.dispatchEventToSelf(newMWE);
-            }
-        }
-        return true;
+                if (newMWE.isConsumed()) {
+                    e.consume();
+                }
+                return true;
+            }
+        }
+        return false;
     }
 
     boolean checkWindowClosingException() {
--- a/jdk/src/share/classes/java/awt/Container.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/java/awt/Container.java	Wed Jul 05 17:10:46 2017 +0200
@@ -4492,7 +4492,10 @@
             retargetMouseEvent(mouseOver, id, e);
         break;
             }
-            e.consume();
+            //Consuming of wheel events is implemented in "retargetMouseEvent".
+            if (id != MouseEvent.MOUSE_WHEEL) {
+                e.consume();
+            }
     }
     return e.isConsumed();
     }
@@ -4800,6 +4803,12 @@
                     target.dispatchEvent(retargeted);
                 }
             }
+            if (id == MouseEvent.MOUSE_WHEEL && retargeted.isConsumed()) {
+                //An exception for wheel bubbling to the native system.
+                //In "processMouseEvent" total event consuming for wheel events is skipped.
+                //Protection from bubbling of Java-accepted wheel events.
+                e.consume();
+            }
         }
     }
 
--- a/jdk/src/share/classes/java/awt/font/NumericShaper.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/java/awt/font/NumericShaper.java	Wed Jul 05 17:10:46 2017 +0200
@@ -129,6 +129,8 @@
      * @since 1.7
      */
     public static enum Range {
+        // The order of EUROPEAN to MOGOLIAN must be consistent
+        // with the bitmask-based constants.
         /**
          * The Latin (European) range with the Latin (ASCII) digits.
          */
@@ -210,6 +212,9 @@
          * The Mongolian range with the Mongolian digits.
          */
         MONGOLIAN       ('\u1810', '\u1800', '\u1900'),
+        // The order of EUROPEAN to MOGOLIAN must be consistent
+        // with the bitmask-based constants.
+
         /**
          * The N'Ko range with the N'Ko digits.
          */
@@ -259,17 +264,6 @@
          */
         CHAM            ('\uaa50', '\uaa00', '\uaa60');
 
-        private static final Range[] ranges = Range.class.getEnumConstants();
-        static {
-            // sort ranges[] by base for binary search
-            Arrays.sort(ranges,
-                        new Comparator<Range>() {
-                            public int compare(Range s1, Range s2) {
-                                return s1.base > s2.base ? 1 : s1.base == s2.base ? 0 : -1;
-                            }
-                        });
-        }
-
         private static int toRangeIndex(Range script) {
             int index = script.ordinal();
             return index < NUM_KEYS ? index : -1;
@@ -346,11 +340,20 @@
     /**
      * {@code Set<Range>} indicating which Unicode ranges to
      * shape. {@code null} for the bit mask-based API.
-     *
-     * @since 1.7
      */
     private transient Set<Range> rangeSet;
 
+    /**
+     * rangeSet.toArray() value. Sorted by Range.base when the number
+     * of elements is greater then BSEARCH_THRESHOLD.
+     */
+    private transient Range[] rangeArray;
+
+    /**
+     * If more than BSEARCH_THRESHOLD ranges are specified, binary search is used.
+     */
+    private static final int BSEARCH_THRESHOLD = 3;
+
     private static final long serialVersionUID = -8022764705923730308L;
 
     /** Identifies the Latin-1 (European) and extended range, and
@@ -513,25 +516,32 @@
     // cache for the NumericShaper.Range version
     private transient volatile Range currentRange = Range.EUROPEAN;
 
-    private Range rangeForCodePoint(int codepoint) {
-        Range range = currentRange;
-        if (range.inRange(codepoint)) {
-            return range;
+    private Range rangeForCodePoint(final int codepoint) {
+        if (currentRange.inRange(codepoint)) {
+            return currentRange;
         }
 
-        final Range[] ranges = Range.ranges;
-        int lo = 0;
-        int hi = ranges.length - 1;
-        while (lo <= hi) {
-            int mid = (lo + hi) / 2;
-            range = ranges[mid];
-            if (codepoint < range.start) {
-                hi = mid - 1;
-            } else if (codepoint >= range.end) {
-                lo = mid + 1;
-            } else {
-                currentRange = range;
-                return range;
+        final Range[] ranges = rangeArray;
+        if (ranges.length > BSEARCH_THRESHOLD) {
+            int lo = 0;
+            int hi = ranges.length - 1;
+            while (lo <= hi) {
+                int mid = (lo + hi) / 2;
+                Range range = ranges[mid];
+                if (codepoint < range.start) {
+                    hi = mid - 1;
+                } else if (codepoint >= range.end) {
+                    lo = mid + 1;
+                } else {
+                    currentRange = range;
+                    return range;
+                }
+            }
+        } else {
+            for (int i = 0; i < ranges.length; i++) {
+                if (ranges[i].inRange(codepoint)) {
+                    return ranges[i];
+                }
             }
         }
         return Range.EUROPEAN;
@@ -928,8 +938,25 @@
     }
 
     private NumericShaper(Range defaultContext, Set<Range> ranges) {
-        this.shapingRange = defaultContext;
-        this.rangeSet = EnumSet.copyOf(ranges); // throws NPE if ranges is null.
+        shapingRange = defaultContext;
+        rangeSet = EnumSet.copyOf(ranges); // throws NPE if ranges is null.
+
+        // Give precedance to EASTERN_ARABIC if both ARABIC and
+        // EASTERN_ARABIC are specified.
+        if (rangeSet.contains(Range.EASTERN_ARABIC)
+            && rangeSet.contains(Range.ARABIC)) {
+            rangeSet.remove(Range.ARABIC);
+        }
+        rangeArray = rangeSet.toArray(new Range[rangeSet.size()]);
+        if (rangeArray.length > BSEARCH_THRESHOLD) {
+            // sort rangeArray for binary search
+            Arrays.sort(rangeArray,
+                        new Comparator<Range>() {
+                            public int compare(Range s1, Range s2) {
+                                return s1.base > s2.base ? 1 : s1.base == s2.base ? 0 : -1;
+                            }
+                        });
+        }
     }
 
     /**
@@ -1152,31 +1179,25 @@
     }
 
     private void shapeContextually(char[] text, int start, int count, Range ctxKey) {
-        if (ctxKey == null) {
+        // if we don't support the specified context, then don't shape.
+        if (ctxKey == null || !rangeSet.contains(ctxKey)) {
             ctxKey = Range.EUROPEAN;
         }
 
         Range lastKey = ctxKey;
         int base = ctxKey.getDigitBase();
         char minDigit = (char)('0' + ctxKey.getNumericBase());
-        for (int i = start, end = start + count; i < end; ++i) {
+        final int end = start + count;
+        for (int i = start; i < end; ++i) {
             char c = text[i];
             if (c >= minDigit && c <= '9') {
                 text[i] = (char)(c + base);
                 continue;
             }
             if (isStrongDirectional(c)) {
-                Range newKey = rangeForCodePoint(c);
-                if (newKey != lastKey) {
-                    lastKey = newKey;
-                    ctxKey = newKey;
-                    if (rangeSet.contains(Range.EUROPEAN)
-                        && (ctxKey == Range.ARABIC || ctxKey == Range.EASTERN_ARABIC)) {
-                        ctxKey = Range.EASTERN_ARABIC;
-                    } else if (!rangeSet.contains(ctxKey)) {
-                        ctxKey = Range.EUROPEAN;
-                    }
-
+                ctxKey = rangeForCodePoint(c);
+                if (ctxKey != lastKey) {
+                    lastKey = ctxKey;
                     base = ctxKey.getDigitBase();
                     minDigit = (char)('0' + ctxKey.getNumericBase());
                 }
--- a/jdk/src/share/classes/java/net/NetworkInterface.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/java/net/NetworkInterface.java	Wed Jul 05 17:10:46 2017 +0200
@@ -221,11 +221,12 @@
      * A display name is a human readable String describing the network
      * device.
      *
-     * @return the display name of this network interface,
-     *         or null if no display name is available.
+     * @return a non-empty string representing the display name of this network
+     *         interface, or null if no display name is available.
      */
     public String getDisplayName() {
-        return displayName;
+        /* strict TCK conformance */
+        return "".equals(displayName) ? null : displayName;
     }
 
     /**
--- a/jdk/src/share/classes/java/text/DateFormat.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/java/text/DateFormat.java	Wed Jul 05 17:10:46 2017 +0200
@@ -53,20 +53,20 @@
 import sun.util.LocaleServiceProviderPool;
 
 /**
- * DateFormat is an abstract class for date/time formatting subclasses which
+ * {@code DateFormat} is an abstract class for date/time formatting subclasses which
  * formats and parses dates or time in a language-independent manner.
- * The date/time formatting subclass, such as SimpleDateFormat, allows for
+ * The date/time formatting subclass, such as {@link SimpleDateFormat}, allows for
  * formatting (i.e., date -> text), parsing (text -> date), and
  * normalization.  The date is represented as a <code>Date</code> object or
  * as the milliseconds since January 1, 1970, 00:00:00 GMT.
  *
- * <p>DateFormat provides many class methods for obtaining default date/time
+ * <p>{@code DateFormat} provides many class methods for obtaining default date/time
  * formatters based on the default or a given locale and a number of formatting
- * styles. The formatting styles include FULL, LONG, MEDIUM, and SHORT. More
+ * styles. The formatting styles include {@link #FULL}, {@link #LONG}, {@link #MEDIUM}, and {@link #SHORT}. More
  * detail and examples of using these styles are provided in the method
  * descriptions.
  *
- * <p>DateFormat helps you to format and parse dates for any locale.
+ * <p>{@code DateFormat} helps you to format and parse dates for any locale.
  * Your code can be completely independent of the locale conventions for
  * months, days of the week, or even the calendar format: lunar vs. solar.
  *
@@ -86,7 +86,7 @@
  *  }
  * </pre>
  * <p>To format a date for a different Locale, specify it in the
- * call to getDateInstance().
+ * call to {@link #getDateInstance(int, Locale) getDateInstance()}.
  * <pre>
  *  DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.FRANCE);
  * </pre>
@@ -94,30 +94,30 @@
  * <pre>
  *  myDate = df.parse(myString);
  * </pre>
- * <p>Use getDateInstance to get the normal date format for that country.
+ * <p>Use {@code getDateInstance} to get the normal date format for that country.
  * There are other static factory methods available.
- * Use getTimeInstance to get the time format for that country.
- * Use getDateTimeInstance to get a date and time format. You can pass in
+ * Use {@code getTimeInstance} to get the time format for that country.
+ * Use {@code getDateTimeInstance} to get a date and time format. You can pass in
  * different options to these factory methods to control the length of the
- * result; from SHORT to MEDIUM to LONG to FULL. The exact result depends
+ * result; from {@link #SHORT} to {@link #MEDIUM} to {@link #LONG} to {@link #FULL}. The exact result depends
  * on the locale, but generally:
- * <ul><li>SHORT is completely numeric, such as 12.13.52 or 3:30pm
- * <li>MEDIUM is longer, such as Jan 12, 1952
- * <li>LONG is longer, such as January 12, 1952 or 3:30:32pm
- * <li>FULL is pretty completely specified, such as
- * Tuesday, April 12, 1952 AD or 3:30:42pm PST.
+ * <ul><li>{@link #SHORT} is completely numeric, such as {@code 12.13.52} or {@code 3:30pm}
+ * <li>{@link #MEDIUM} is longer, such as {@code Jan 12, 1952}
+ * <li>{@link #LONG} is longer, such as {@code January 12, 1952} or {@code 3:30:32pm}
+ * <li>{@link #FULL} is pretty completely specified, such as
+ * {@code Tuesday, April 12, 1952 AD or 3:30:42pm PST}.
  * </ul>
  *
  * <p>You can also set the time zone on the format if you wish.
  * If you want even more control over the format or parsing,
  * (or want to give your users more control),
- * you can try casting the DateFormat you get from the factory methods
- * to a SimpleDateFormat. This will work for the majority
- * of countries; just remember to put it in a try block in case you
+ * you can try casting the {@code DateFormat} you get from the factory methods
+ * to a {@link SimpleDateFormat}. This will work for the majority
+ * of countries; just remember to put it in a {@code try} block in case you
  * encounter an unusual one.
  *
  * <p>You can also use forms of the parse and format methods with
- * ParsePosition and FieldPosition to
+ * {@link ParsePosition} and {@link FieldPosition} to
  * allow you to
  * <ul><li>progressively parse through pieces of a string.
  * <li>align any particular field, or find out where it is for selection
@@ -143,10 +143,13 @@
 public abstract class DateFormat extends Format {
 
     /**
-     * The calendar that <code>DateFormat</code> uses to produce the time field
-     * values needed to implement date and time formatting.  Subclasses should
-     * initialize this to a calendar appropriate for the locale associated with
-     * this <code>DateFormat</code>.
+     * The {@link Calendar} instance used for calculating the date-time fields
+     * and the instant of time. This field is used for both formatting and
+     * parsing.
+     *
+     * <p>Subclasses should initialize this field to a {@link Calendar}
+     * appropriate for the {@link Locale} associated with this
+     * <code>DateFormat</code>.
      * @serial
      */
     protected Calendar calendar;
@@ -358,15 +361,21 @@
 
     /**
      * Parse a date/time string according to the given parse position.  For
-     * example, a time text "07/10/96 4:5 PM, PDT" will be parsed into a Date
-     * that is equivalent to Date(837039928046).
+     * example, a time text {@code "07/10/96 4:5 PM, PDT"} will be parsed into a {@code Date}
+     * that is equivalent to {@code Date(837039900000L)}.
      *
      * <p> By default, parsing is lenient: If the input is not in the form used
      * by this object's format method but can still be parsed as a date, then
      * the parse succeeds.  Clients may insist on strict adherence to the
-     * format by calling setLenient(false).
+     * format by calling {@link #setLenient(boolean) setLenient(false)}.
      *
-     * @see java.text.DateFormat#setLenient(boolean)
+     * <p>This parsing operation uses the {@link #calendar} to produce
+     * a {@code Date}. As a result, the {@code calendar}'s date-time
+     * fields and the {@code TimeZone} value may have been
+     * overwritten, depending on subclass implementations. Any {@code
+     * TimeZone} value that has previously been set by a call to
+     * {@link #setTimeZone(java.util.TimeZone) setTimeZone} may need
+     * to be restored for further operations.
      *
      * @param source  The date/time string to be parsed
      *
@@ -374,7 +383,7 @@
      *              output, the position at which parsing terminated, or the
      *              start position if the parse failed.
      *
-     * @return      A Date, or null if the input could not be parsed
+     * @return      A {@code Date}, or {@code null} if the input could not be parsed
      */
     public abstract Date parse(String source, ParsePosition pos);
 
@@ -569,7 +578,12 @@
     /**
      * Set the calendar to be used by this date format.  Initially, the default
      * calendar for the specified or default locale is used.
-     * @param newCalendar the new Calendar to be used by the date format
+     *
+     * <p>Any {@link java.util.TimeZone TimeZone} and {@linkplain
+     * #isLenient() leniency} values that have previously been set are
+     * overwritten by {@code newCalendar}'s values.
+     *
+     * @param newCalendar the new {@code Calendar} to be used by the date format
      */
     public void setCalendar(Calendar newCalendar)
     {
@@ -578,6 +592,7 @@
 
     /**
      * Gets the calendar associated with this date/time formatter.
+     *
      * @return the calendar associated with this date/time formatter.
      */
     public Calendar getCalendar()
@@ -605,7 +620,18 @@
     }
 
     /**
-     * Sets the time zone for the calendar of this DateFormat object.
+     * Sets the time zone for the calendar of this {@code DateFormat} object.
+     * This method is equivalent to the following call.
+     * <blockquote><pre>
+     *  getCalendar().setTimeZone(zone)
+     * </pre></blockquote>
+     *
+     * <p>The {@code TimeZone} set by this method is overwritten by a
+     * {@link #setCalendar(java.util.Calendar) setCalendar} call.
+     *
+     * <p>The {@code TimeZone} set by this method may be overwritten as
+     * a result of a call to the parse method.
+     *
      * @param zone the given new time zone.
      */
     public void setTimeZone(TimeZone zone)
@@ -615,6 +641,11 @@
 
     /**
      * Gets the time zone.
+     * This method is equivalent to the following call.
+     * <blockquote><pre>
+     *  getCalendar().getTimeZone()
+     * </pre></blockquote>
+     *
      * @return the time zone associated with the calendar of DateFormat.
      */
     public TimeZone getTimeZone()
@@ -627,8 +658,17 @@
      * lenient parsing, the parser may use heuristics to interpret inputs that
      * do not precisely match this object's format.  With strict parsing,
      * inputs must match this object's format.
-     * @param lenient when true, parsing is lenient
-     * @see java.util.Calendar#setLenient
+     *
+     * <p>This method is equivalent to the following call.
+     * <blockquote><pre>
+     *  getCalendar().setLenient(lenient)
+     * </pre></blockquote>
+     *
+     * <p>This leniency value is overwritten by a call to {@link
+     * #setCalendar(java.util.Calendar) setCalendar()}.
+     *
+     * @param lenient when {@code true}, parsing is lenient
+     * @see java.util.Calendar#setLenient(boolean)
      */
     public void setLenient(boolean lenient)
     {
@@ -637,6 +677,14 @@
 
     /**
      * Tell whether date/time parsing is to be lenient.
+     * This method is equivalent to the following call.
+     * <blockquote><pre>
+     *  getCalendar().isLenient()
+     * </pre></blockquote>
+     *
+     * @return {@code true} if the {@link #calendar} is lenient;
+     *         {@code false} otherwise.
+     * @see java.util.Calendar#isLenient()
      */
     public boolean isLenient()
     {
--- a/jdk/src/share/classes/java/text/SimpleDateFormat.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/java/text/SimpleDateFormat.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1235,6 +1235,20 @@
      * changed, the error index of <code>pos</code> is set to the index of
      * the character where the error occurred, and null is returned.
      *
+     * <p>This parsing operation uses the {@link DateFormat#calendar
+     * calendar} to produce a {@code Date}. All of the {@code
+     * calendar}'s date-time fields are {@linkplain Calendar#clear()
+     * cleared} before parsing, and the {@code calendar}'s default
+     * values of the date-time fields are used for any missing
+     * date-time information. For example, the year value of the
+     * parsed {@code Date} is 1970 with {@link GregorianCalendar} if
+     * no year value is given from the parsing operation.  The {@code
+     * TimeZone} value may be overwritten, depending on the given
+     * pattern and the time zone value in {@code text}. Any {@code
+     * TimeZone} value that has previously been set by a call to
+     * {@link #setTimeZone(java.util.TimeZone) setTimeZone} may need
+     * to be restored for further operations.
+     *
      * @param text  A <code>String</code>, part of which should be parsed.
      * @param pos   A <code>ParsePosition</code> object with index and error
      *              index information as described above.
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicScrollPaneUI.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicScrollPaneUI.java	Wed Jul 05 17:10:46 2017 +0200
@@ -870,6 +870,8 @@
                     orientation = SwingConstants.HORIZONTAL;
                 }
 
+                e.consume();
+
                 if (e.getScrollType() == MouseWheelEvent.WHEEL_UNIT_SCROLL) {
                     JViewport vp = scrollpane.getViewport();
                     if (vp == null) { return; }
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicTextUI.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicTextUI.java	Wed Jul 05 17:10:46 2017 +0200
@@ -756,9 +756,8 @@
      * things.
      * <ol>
      * <li>
-     * Sets the associated component to opaque (can be changed
-     * easily by a subclass or on JTextComponent directly),
-     * which is the most common case.  This will cause the
+     * Sets the associated component to opaque if the opaque property
+     * has not already been set by the client program. This will cause the
      * component's background color to be painted.
      * <li>
      * Installs the default caret and highlighter into the
--- a/jdk/src/share/classes/sun/font/SunFontManager.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/font/SunFontManager.java	Wed Jul 05 17:10:46 2017 +0200
@@ -2310,6 +2310,7 @@
                                    tgn != null;
                                    tg = tgn, tgn = tg.getParent());
                               fileCloser = new Thread(tg, fileCloserRunnable);
+                              fileCloser.setContextClassLoader(null);
                               Runtime.getRuntime().addShutdownHook(fileCloser);
                               return null;
                           }
--- a/jdk/src/share/classes/sun/java2d/Disposer.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/java2d/Disposer.java	Wed Jul 05 17:10:46 2017 +0200
@@ -84,6 +84,7 @@
                          tg = tgn, tgn = tg.getParent());
                     Thread t =
                         new Thread(tg, disposerInstance, "Java2D Disposer");
+                    t.setContextClassLoader(null);
                     t.setDaemon(true);
                     t.setPriority(Thread.MAX_PRIORITY);
                     t.start();
--- a/jdk/src/share/classes/sun/java2d/loops/GraphicsPrimitive.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/java2d/loops/GraphicsPrimitive.java	Wed Jul 05 17:10:46 2017 +0200
@@ -417,7 +417,9 @@
         public static void setShutdownHook() {
             AccessController.doPrivileged(new PrivilegedAction() {
                 public Object run() {
-                    Runtime.getRuntime().addShutdownHook(new TraceReporter());
+                    TraceReporter t = new TraceReporter();
+                    t.setContextClassLoader(null);
+                    Runtime.getRuntime().addShutdownHook(t);
                     return null;
                 }
             });
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/launcher/resources/launcher_de.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,47 @@
+#
+# Copyright 2007-2008 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.
+#
+
+# Translators please note do not translate the options themselves
+java.launcher.opt.header  =   Verwendung: {0} [-options] class [args...]\n\           (um eine Klasse auszuf\u00fchren)\n   oder  {0} [-options] -jar jarfile [args...]\n\           (um eine Jar-Datei auszuf\u00fchren)\nwobei zu den Optionen folgende geh\u00f6ren:\n
+
+java.launcher.opt.datamodel  =\    -d{0}\t  zur Verwendung eines  {0}-Bit-Datenmodells, falls verf\u00fcgbar\n
+java.launcher.opt.vmselect   =\    {0}\t  zur Auswahl von "{1}" VM\n
+java.launcher.opt.hotspot    =\    {0}\t  ist ein Synonym f\u00fcr  "{1}" VM  [deprecated]\n
+
+java.launcher.ergo.message1  =\                  Standard-VM ist {0}, 
+java.launcher.ergo.message2  =\                  da Sie auf einem Server-Class-Computer ausf\u00fchren.\n
+
+# Translators please note do not translate the options themselves
+java.launcher.opt.footer     =\    -cp <Pfad zur Klassensuche von Verzeichnissen und Zip-/Jar-Dateien>\n\    -classpath <Pfad zur Klassensuche von Verzeichnissen und Zip-/Jar-Dateien >\n\                  A {0} getrennte Liste von Verzeichnissen, JAR-Archiven,\n\                  und ZIP-Archiven f\u00fcr die Suche nach Klassendateien .\n\    -D<Name>=<Wert>\n\                  Systemeigenschaft festlegen\n\    -verbose[:class|gc|jni]\n\                  ausf\u00fchrliche Ausgabe aktivieren\n\    -version      Produktversion drucken und beenden\n\    -version:<Wert>\n\                  angegebene Version zum Ausf\u00fchren erforderlich \n\    -showversion  Produktversion drucken und fortfahren\n\    -jre-restrict-search | -jre-no-restrict-search\n\                  private JREs der Benutzer in Versionssuche ein-/ausschlie\u00dfen\n\    -? -help      diese Hilfemeldung drucken\n\    -X            Hilfe zu nicht standardm\u00e4\u00dfigen Optionen drucken\n\    -ea[:<Paketname>...|:<Klassenname>]\n\    -enableassertions[:<Paketname>...|:<Klassenname>]\n\                  Assertions mit spezifizierter Granularit\u00e4t aktivieren\n\    -da[:<Paketname>...|:<Klassenname>]\n\    -disableassertions[:<Paketname>...|:<Klassenname>]\n\                  Assertions mit spezifizierter Granularit\u00e4t deaktivieren\n\    -esa | --enablesystemassertions\n\                  System-Assertions aktivieren\n\    -dsa | --disablesystemassertions\n\                  System-Assertions deaktivieren\n\    -agentlib:<Name der Bibliothek>[=<Optionen>]\n\                  systemeigene Agent-Bibliothek laden <Name der Bibliothek>, z.B. -agentlib:hprof\n\                  siehe auch, -agentlib:jdwp=help und -agentlib:hprof=help\n\    -agentpath:<Pfadname>[=<Optionen>]\n\                  systemeigene Agent-Bibliothek \u00fcber vollst\u00e4ndigen Pfadnamen laden\n\    -javaagent:<Jar-Pfad>[=<Optionen>]\n\                  Java Programmierungs-Sprachagenten laden, siehe java.lang.instrument\n\    -splash:<Bildpfad>\n\                  Eingangsbildschirm mit spezifiziertem Bild anzeigen\nWeitere Informationen finden Sie unter http://java.sun.com/javase/reference.
+
+# Translators please note do not translate the options themselves
+java.launcher.X.usage=\    -Xmixed           gemischte Ausf\u00fchrung des Modus (Standard)\n\    -Xint             nur interpretierte Ausf\u00fchrung des Modus\n\    -Xbootclasspath:<Verzeichnisse und Zip-/Jar-Dateien, die durch {0} getrennt sind>\n\                      Suchpfad f\u00fcr Bootstrap-Klassen und Ressourcen einrichten\n\    -Xbootclasspath/a:<Verzeichnisse und Zip-/Jar-Dateien, die durch {0} getrennt sind>\n\                      an das Ende des Bootstrap-Klassenpfads anh\u00e4ngen\n\    -Xbootclasspath/p:<Verzeichnisse und Zip-/Jar-Dateien, die durch {0} getrennt sind>\n\                      an den Beginn des Bootstrap-Klassenpfads anh\u00e4ngen\n\    -Xnoclassgc       Klassen-Speicherbereinigung deaktivieren\n\    -Xincgc           inkrementelle Speicherbereinigung aktivieren\n\    -Xloggc:<Datei>   GC-Status f\u00fcr eine Datei mit Zeitstempeln einrichten\n\    -Xbatch           Hintergrund-Kompilation deaktivieren\n\    -Xms<Gr\u00f6\u00dfe>       anf\u00e4ngliche Java Heap-Gr\u00f6\u00dfe einstellen\n\    -Xmx<Gr\u00f6\u00dfe>       maximale Java Heap-Gr\u00f6\u00dfe einstellen\n\    -Xss<Gr\u00f6\u00dfe>       Gr\u00f6\u00dfe des Java Thread-Stack einstellen\n\    -Xprof            CPU-Profildaten ausgeben\n\    -Xfuture          genaueste Pr\u00fcfungen aktivieren und zuk\u00fcnftige Standards absehen\n\    -Xrs              Verwendung von OS-Signalen durch Java/VM reduzieren (siehe Dokumentation)\n\    -Xcheck:jni       zus\u00e4tzliche Pr\u00fcfungen f\u00fcr JNI- Funktionen ausf\u00fchren\n\    -Xshare:off       Nicht versuchen, freigegebene Klassendaten zu verwenden\n\    -Xshare:auto      Freigegebene Klassendaten verwenden, wenn m\u00f6glich (Standard)\n\    -Xshare:on        Nutzung freigegebener Daten ist erforderlich, ansonsten schl\u00e4gt der Vorgang fehl.\n\nDie -X-Optionen sind kein Standard und k\u00f6nnen \u00c4nderungen unterliegen.\n
+
+java.launcher.cls.error1=Fehler: Hauptklasse {0} wurde nicht gefunden 
+java.launcher.cls.error2=Fehler: Hauptmethode in Klasse {1} ist nicht {0}. Definieren Sie die folgende Hauptmethode:\n\  public static void main(String[] args)  
+java.launcher.cls.error3=Fehler: Hauptmethode muss einen Wert des Typs void in Klasse {0} anzeigen.\nDefinieren Sie die folgende Hauptmethode:\n\  public static void main(String[] args)  
+java.launcher.cls.error4=Fehler: Hauptmethode in Klasse {0} nicht gefunden. Definieren Sie die folgende Hauptmethode:\n\  public static void main(String[] args) 
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/launcher/resources/launcher_es.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,47 @@
+#
+# Copyright 2007-2008 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.
+#
+
+# Translators please note do not translate the options themselves
+java.launcher.opt.header  =   Uso: {0} [-options] class [args...]\n\           (para ejecutar una clase)\n   o  {0} [-options] -jar jarfile [args...]\n\           (para ejecutar un archivo jar)\nlas opciones pueden ser:\n
+
+java.launcher.opt.datamodel  =\    -d{0}\t  usar un modelo de datos de {0}-bits si est\u00e1 disponible\n
+java.launcher.opt.vmselect   =\    {0}\t  para seleccionar "{1}" VM\n
+java.launcher.opt.hotspot    =\    {0}\t  es un sin\u00f3nimo para la m\u00e1quina virtual "{1}"  [deprecated]\n
+
+java.launcher.ergo.message1  =\                  La m\u00e1quina virtual predeterminada es {0}
+java.launcher.ergo.message2  =\                  porque est\u00e1 trabajando en una m\u00e1quina de clase servidor.\n
+
+# Translators please note do not translate the options themselves
+java.launcher.opt.footer     =\    -cp <class search path of directories and zip/jar files>\n\    -classpath <class search path of directories and zip/jar files>\n\                  Una {0} lista de directorios, archivos JAR,\n\                  y archivos ZIP en los que buscar los archivos de clase.\n\    -D<name>=<value>\n\                  establecer una propiedad de sistema\n\    -verbose[:class|gc|jni]\n\                  permitir la salida detallada\n\    -version      imprimir versi\u00f3n del producto y salir\n\    -version:<value>\n\                  solicitar la versi\u00f3n especificada para ejecutar\n\    -showversion  imprimir versi\u00f3n del producto y continuar\n\    -jre-restrict-search | -jre-no-restrict-search\n\                  incluir/excluir JRE privados del usuario en la b\u00fasqueda de la versi\u00f3n\n\    -? -help      imprimir este mensaje de ayuda\n\    -X            imprimir ayuda en las opciones no est\u00e1ndar\n\    -ea[:<packagename>...|:<classname>]\n\    -enableassertions[:<packagename>...|:<classname>]\n\                  permitir afirmaciones con granularidad especificada\n\    -da[:<packagename>...|:<classname>]\n\    -disableassertions[:<packagename>...|:<classname>]\n\                  desactivar afirmaciones con granularidad especificada\n\    -esa | -enablesystemassertions\n\                  permitir afirmaciones del sistema\n\    -dsa | -disablesystemassertions\n\                  desactivar afirmaciones del sistema\n\    -agentlib:<libname>[=<options>]\n\                  cargar biblioteca de agente nativo<libname>, por ejemplo -agentlib:hprof\n\                  consulte tambi\u00e9n, -agentlib:jdwp=help y -agentlib:hprof=help\n\    -agentpath:<pathname>[=<options>]\n\                  cargar biblioteca de agente nativo por ruta completa\n\    -javaagent:<jarpath>[=<options>]\n\                  cargar agente del lenguaje de programaci\u00f3n Java, consulte java.lang.instrument\n\    -splash:<imagepath>\n\                  mostrar pantalla de bienvenida con imagen especificada\nConsulte http://java.sun.com/javase/reference para m\u00e1s informaci\u00f3n.
+
+# Translators please note do not translate the options themselves
+java.launcher.X.usage=\    -Xmixed           modo mixto de ejecuci\u00f3n (predeterminado)\n\    -Xint             s\u00f3lo modo de ejecuci\u00f3n interpretado\n\    -Xbootclasspath:<directories and zip/jar files separated by {0}>\n\                      definir ruta de b\u00fasqueda para clases y recursos de la rutina de carga\n\    -Xbootclasspath/a:<directories and zip/jar files separated by {0}>\n\                      a\u00f1adir al final de la ruta de clase de la rutina de carga\n\    -Xbootclasspath/p:<directories and zip/jar files separated by {0}>\n\                      a\u00f1adir al principio de la ruta de clase de la rutina de carga\n\    -Xnoclassgc       desactivar recolecci\u00f3n de residuos de clase\n\    -Xincgc           permitir recolecci\u00f3n de residuos incremental\n\    -Xloggc:<file>    registrar estado de GC en un archivo con marcas de tiempo\n\    -Xbatch           desactivar recopilaci\u00f3n de fondos\n\    -Xms<size>        definir tama\u00f1o del mont\u00f3n de Java inicial\n\    -Xmx<size>        definir tama\u00f1o m\u00e1ximo del mont\u00f3n de Java\n\    -Xss<size>        definir tama\u00f1o de la pila del subproceso de java\n\    -Xprof            salida de datos del perfil de la cpu\n\    -Xfuture          permitir comprobaciones m\u00e1s estrictas para los procesos predeterminados futuros\n\    -Xrs              reducir el uso de se\u00f1ales del SO por parte de Java o la m\u00e1quina virtual (consulte la documentaci\u00f3n)\n\    -Xcheck:jni       realizar comprobaciones adicionales para las funciones de JNI\n\    -Xshare:off       no intentar utilizar datos de clase compartidos\n\    -Xshare:auto      utilizar datos de clase compartidos siempre que sea posible (predeterminado)\n\    -Xshare:on        solicitar el uso obligatorio de datos de clase compartidos.\n\nLas opciones "-X" no son est\u00e1ndar y pueden sufrir modificaciones sin previo aviso.\n
+
+java.launcher.cls.error1=Error: no se pudo encontrar la clase principal {0}
+java.launcher.cls.error2=Error: el m\u00e9todo principal no es {0} en la clase {1}, defina el m\u00e9todo principal como:\n\   public static void main(String[] args)
+java.launcher.cls.error3=Error: el m\u00e9todo principal debe volver a ser un valor de tipo vac\u00edo en la clase {0}, defina \nel m\u00e9todo principal como:\n\   public static void main(String[] args)
+java.launcher.cls.error4=Error: m\u00e9todo principal no encontrado en la clase {0}, defina el m\u00e9todo principal como:\n\   public static void main(String[] args)
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/launcher/resources/launcher_fr.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,47 @@
+#
+# Copyright 2007-2008 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.
+#
+
+# Translators please note do not translate the options themselves
+java.launcher.opt.header  =   Utilisation\u00a0: {0} [-options] class [args...]\n\           (pour ex\u00e9cuter une classe)\n   ou  {0} [-options] -jar jarfile [args...]\n\           (pour ex\u00e9cuter un fichier jar)\no\u00f9 les options sont\u00a0:\n
+
+java.launcher.opt.datamodel  =\    -d{0}\t  utiliser un mod\u00e8le de donn\u00e9es {0}\u00a0bits, le cas \u00e9ch\u00e9ant\n
+java.launcher.opt.vmselect   =\    {0}\t  s\u00e9lectionner la machine virtuelle "{1}"\n
+java.launcher.opt.hotspot    =\    {0}\t  est un synonyme de la machine virtuelle "{1}" [\u00e0 \u00e9viter]\n
+
+java.launcher.ergo.message1  =\                  La machine virtuelle par d\u00e9faut est {0}
+java.launcher.ergo.message2  =\                  car vous utilisez une machine de type serveur.\n
+
+# Translators please note do not translate the options themselves
+java.launcher.opt.footer     =\    -cp <chemin de recherche de classe des r\u00e9pertoires et fichiers zip/jar>\n\    -classpath <chemin de recherche de classe des r\u00e9pertoires et fichiers zip/jar>\n\                  Une liste s\u00e9par\u00e9e {0} de r\u00e9pertoires, archives JAR\n\                  et archives ZIP dans laquelle rechercher des fichiers de classe.\n\    -D<nom>=<valeur>\n\                  d\u00e9finir une propri\u00e9t\u00e9 syst\u00e8me\n\    -verbose[:class|gc|jni]\n\                  activer une sortie d\u00e9taill\u00e9ee\n\    -version      imprimer la version du produit et quitter\n\    -version:<valeur>\n\                  utiliser la version sp\u00e9cifi\u00e9e pour l''ex\u00e9cution\n\    -showversion  imprimer la version du produit et continuer\n\    -jre-restrict-search | -jre-no-restrict-search\n\                  inclure/exclure les JRE priv\u00e9s d''utilisateur dans la recherche de version\n\    -? -help      imprimer ce message d''aide\n\    -X            imprimer l''aide relative aux options non standard\n\    -ea[:<nom du package>...|:<nom de la classe>]\n\    -enableassertions[:<nom du package>...|:<nom de la classe>]\n\                  activer les assertions avec la granularit\u00e9 sp\u00e9cifi\u00e9e\n\    -da[:<nom du package>...|:<nom de la classe>]\n\    -disableassertions[:<nom du package>...|:<nom de la classe>]\n\                  d\u00e9sactiver les assertions avec la granularit\u00e9 sp\u00e9cifi\u00e9e\n\    -esa | -enablesystemassertions\n\                  activer les assertions syst\u00e8me\n\    -dsa | -disablesystemassertions\n\                  d\u00e9sactiver les assertions syst\u00e8me\n\    -agentlib:<nom de la biblioth\u00e8que>[=<options>]\n\                  charger la biblioth\u00e8que d''agents natifs<nom de la biblioth\u00e8que>, par exemple -agentlib:hprof\n\                  voir \u00e9galement, -agentlib:jdwp=help et -agentlib:hprof=help\n\    -agentpath:<nom du chemin>[=<options>]\n\                  charger la biblioth\u00e8que d''agents natifs en indiquant le chemin complet\n\    -javaagent:<chemin jar>[=<options>]\n\                  charger l''agent de langage de programmation Java, voir java.lang.instrument\n\    -splash:<chemin de l''image>\n\                  afficher l''\u00e9cran de bienvenue avec l''image sp\u00e9cifi\u00e9e\nPour plus de d\u00e9tails, reportez-vous \u00e0 la page http://java.sun.com/javase/reference.
+
+# Translators please note do not translate the options themselves
+java.launcher.X.usage=\    -Xmixed           ex\u00e9cution du mode compil\u00e9 (par d\u00e9faut)\n\    -Xint             ex\u00e9cution du mode interpr\u00e9t\u00e9 uniquement\n\    -Xbootclasspath:<r\u00e9pertoires et fichiers zip/jar s\u00e9par\u00e9s par {0}>\n\                      d\u00e9finir le chemin de recherche pour les classes et ressources bootstrap\n\    -Xbootclasspath/a:<r\u00e9pertoires et fichiers zip/jar s\u00e9par\u00e9s par {0}>\n\                      ajouter \u00e0 la fin du chemin de la classe bootstrap\n\    -Xbootclasspath/p:<r\u00e9pertoires et fichiers zip/jar s\u00e9par\u00e9s par {0}>\n\                      ajouter au d\u00e9but du chemin de la classe bootstrap\n\    -Xnoclassgc       d\u00e9sactiver la collection d''informations parasites sur la classe\n\    -Xincgc           activer la collection incr\u00e9mentielle d''informations parasites\n\    -Xloggc:<fichier> enregistrer le statut GC dans un fichier horodat\u00e9\n\    -Xbatch           d\u00e9sactiver la compilation d''arri\u00e8re-plans\n\    -Xms<taille>      d\u00e9finir la taille initiale des tas Java\n\    -Xmx<taille>      d\u00e9finir la taille maximale des tas Java\n\    -Xss<taille>      d\u00e9finir la taille des piles de fil Java\n\    -Xprof            \u00e9mettre des donn\u00e9es de profilage d''UC\n\    -Xfuture          activer des contr\u00f4les plus stricts, en anticipant les erreurs futures\n\    -Xrs              r\u00e9duire l''utilisation des signaux d''OS par Java/la machine virtuelle (reportez-vous \u00e0 la documentation)\n\    -Xcheck:jni       effectuer des contr\u00f4les suppl\u00e9mentaires pour les fonctions JNI\n\    -Xshare:off       ne pas tenter d''utiliser les donn\u00e9es de classe partag\u00e9es\n\    -Xshare:auto      utiliser les donn\u00e9es de classe partag\u00e9es si possible (par d\u00e9faut)\n\    -Xshare:on        forcer l''utilisation de donn\u00e9es de classe partag\u00e9es, sinon \u00e9chec.\n\nLes options\u00a0X ne sont pas standard et sont sujettes \u00e0 modification sans pr\u00e9avis.\n
+
+java.launcher.cls.error1=Erreur\u00a0: Impossible de trouver la classe {0} principale
+java.launcher.cls.error2=Erreur\u00a0: La m\u00e9thode principale n''est pas {0} dans la classe {1}. Veuillez d\u00e9finir la m\u00e9thode principale comme\u00a0:\n\   public static void main(String[] args)
+java.launcher.cls.error3=Erreur\u00a0: La m\u00e9thode principale doit renvoyer une valeur de type null dans la classe \{0\. Veuillez \nd\u00e9finir la m\u00e9thode principale comme\u00a0:\n\   public static void main(String[] args)
+java.launcher.cls.error4=Erreur\u00a0: M\u00e9thode principale introuvable dans la classe {0}. Veuillez d\u00e9finir la m\u00e9thode principale comme\u00a0:\n\   public static void main(String[] args)
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/launcher/resources/launcher_it.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,47 @@
+#
+# Copyright 2007-2008 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.
+#
+
+# Translators please note do not translate the options themselves
+java.launcher.opt.header  =   Utilizzo: {0} [-opzioni] class [argom...]\n\           (per eseguire una classe)\n   o  {0} [-opzioni] -jar jarfile [argom...]\n\           (per eseguire un file jar)\ndove le opzioni includono:\n
+
+java.launcher.opt.datamodel  =\    -d{0}\t  utilizzo di un modello di dati a {0} bit, se disponibile\n
+java.launcher.opt.vmselect   =\    {0}\t  per selezionare la macchina virtuale "{1}"\n
+java.launcher.opt.hotspot    =\    {0}\t  \u00e8 sinonimo della macchina virtuale "{1}" [obsoleta]\n
+
+java.launcher.ergo.message1  =\                  La macchina virtuale predefinita \u00e8 {0}
+java.launcher.ergo.message2  =\                  perch\u00e9 l'esecuzione avviene su una macchina di classe server.\n
+
+# Translators please note do not translate the options themselves
+java.launcher.opt.footer     =\    -cp <percorso di ricerca classe di directory e file zip/jar>\n\    -classpath <percorso di ricerca classe di directory e file zip/jar>\n\                  Elenco separato da {0} di directory, archivi JAR\n\                  e archivi ZIP in cui cercare i file di classe.\n\    -D<nome>=<valore>\n\                  imposta una propriet\u00e0 di sistema\n\    -verbose[:class|gc|jni]\n\                  attiva l''output dettagliato\n\    -version      stampa la versione del prodotto ed esce\n\    -version:<valore>\n\                  richiede la versione specificata per l''esecuzione\n\    -showversion  stampa la versione del prodotto e procede\n\    -jre-restrict-search | -jre-no-restrict-search\n\                  consente di includere/escludere JRE privati dell''utente nella ricerca della versione\n\    -? -help      stampa il presente messaggio della Guida\n\    -X            stampa la Guida delle opzioni non standard\n\    -ea[:<nomepacchetto>...|:<nomeclasse>]\n\    -enableassertions[:<nomepacchetto>...|:<nomeclasse>]\n\                  attiva le asserzioni con la granularit\u00e0 specificata\n\    -da[:<nomepacchetto>...|:<nomeclasse>]\n\    -disableassertions[:<nomepacchetto>...|:<nomeclasse>]\n\                  disattiva le asserzioni con la granularit\u00e0 specificata\n\    -esa | -enablesystemassertions\n\                  attiva le asserzioni di sistema\n\    -dsa | -disablesystemassertions\n\                  disattiva le asserzioni di sistema\n\    -agentlib:<nomelibreria>[=<opzioni>]\n\                  carica la libreria agente nativa <nomelibreria>, ad es. -agentlib:hprof\n\                  vedere anche, -agentlib:jdwp=help e -agentlib:hprof=help\n\    -agentpath:<percorso>[=<opzioni>]\n\                  carica la libreria agente nativa in base al percorso completo\n\    -javaagent:<percorsojar>[=<opzioni>]\n\                  carica l''agente del linguaggio di programmazione Java, vedere java.lang.instrument\n\    -splash:<percorsoimmagine>\n\                  mostra la schermata iniziale con l''immagine specificata\nPer ulteriori informazioni, visitare http://java.sun.com/javase/reference.
+
+# Translators please note do not translate the options themselves
+java.launcher.X.usage=\    -Xmixed           esecuzione in modalit\u00e0 mista (predefinita)\n\    -Xint             solo esecuzione in modalit\u00e0 interpretata\n\    -Xbootclasspath:<directory e file zip/jar separati da {0}>\n\                      imposta il percorso di ricerca per classi e risorse di bootstrap\n\    -Xbootclasspath/a:<directory e file zip/jar separati da {0}>\n\                      accoda alla fine del percorso della classe di bootstrap\n\    -Xbootclasspath/p:<directory e file zip/jar separati da {0}>\n\                      antepone al percorso della classe di bootsrap\n\    -Xnoclassgc       disattiva Garbage Collection per la classe\n\    -Xincgc           attiva Garbage Collection incrementale\n\    -Xloggc:<file>    registra lo stato GC in un file con timestamp\n\    -Xbatch           disattiva la compilazione in background\n\    -Xms<dimensione>  imposta la dimensione heap Java iniziale\n\    -Xmx<dimensione>  imposta la dimensione heap Java massima\n\    -Xss<dimensione>  imposta la dimensione dello stack del thread Java\n\    -Xprof            dati di profilo della CPU di output\n\    -Xfuture          attiva verifiche pi\u00f9 dettagliate, anticipa le impostazioni predefinite future\n\    -Xrs              riduce l''uso di segnali OS da parte di Java o della macchina virtuale (vedere la documentazione)\n\    -Xcheck:jni       esegue verifiche aggiuntive per le funzioni JNI\n\    -Xshare:off       esclude l''utilizzo di dati classe condivisi\n\    -Xshare:auto      imposta l''utilizzo di dati classe condivisi ogni volta che \u00e8 possibile (impostazione predefinita)\n\    -Xshare:on        richiede l''utilizzo di dati classe condivisi, in caso contrario origina un errore.\n\nLe opzioni -X sono non standard e soggette a modifiche senza preavviso.\n
+
+java.launcher.cls.error1=Errore: Classe principale {0} non trovata.
+java.launcher.cls.error2=Errore: Il metodo principale non \u00e8 {0} nella classe {1}. Definire il nuovo metodo come:\n\   public static void main(String[] args)
+java.launcher.cls.error3=Errore: Il metodo principale deve restituire un valore di tipo void nella classe {0}. \nDefinire il nuovo metodo come:\n\   public static void main(String[] args)
+java.launcher.cls.error4=Errore: Metodo principale non trovato nella classe {0}. Definire il metodo principale come:\n\   public static void main(String[] args)
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/launcher/resources/launcher_ja.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,47 @@
+#
+# Copyright 2007-2008 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.
+#
+
+# Translators please note do not translate the options themselves
+java.launcher.opt.header  =   \u4f7f\u7528\u6cd5: {0} [-options] class [args...]\n\           (\u30af\u30e9\u30b9\u3092\u5b9f\u884c\u3059\u308b)\n   \u307e\u305f\u306f  {0} [-options] -jar jarfile [args...]\n\           (jar \u30d5\u30a1\u30a4\u30eb\u3092\u5b9f\u884c\u3059\u308b)\n\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u306f\u4ee5\u4e0b\u306e\u3082\u306e\u304c\u3042\u308a\u307e\u3059:\n
+
+java.launcher.opt.datamodel  =\    -d{0}\t  {0}-bit \u30c7\u30fc\u30bf\u30e2\u30c7\u30eb\u3092\u4f7f\u7528 (\u53ef\u80fd\u306a\u5834\u5408)\n
+java.launcher.opt.vmselect   =\    {0}\t  "{1}" VM \u3092\u9078\u629e\n
+java.launcher.opt.hotspot    =\    {0}\t  "{1}" VM \u306e\u540c\u7fa9\u8a9e\u3067\u3059 [\u975e\u63a8\u5968]\n
+
+java.launcher.ergo.message1  =\                  \u30c7\u30d5\u30a9\u30eb\u30c8 VM \u306f {0} \u3067\u3059
+java.launcher.ergo.message2  =\                  \u7406\u7531\u306f\u3001\u30b5\u30fc\u30d0\u30fc\u30af\u30e9\u30b9\u306e\u30de\u30b7\u30f3\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u304b\u3089\u3067\u3059\u3002\n
+
+# Translators please note do not translate the options themselves
+java.launcher.opt.footer     =\    -cp <\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304a\u3088\u3073 ZIP/JAR \u30d5\u30a1\u30a4\u30eb\u306e\u30af\u30e9\u30b9\u691c\u7d22\u30d1\u30b9>\n\    -classpath <\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304a\u3088\u3073 ZIP/JAR \u30d5\u30a1\u30a4\u30eb\u306e\u30af\u30e9\u30b9\u691c\u7d22\u30d1\u30b9>\n\                  \u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22\u3059\u308b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3001JAR \u30a2\u30fc\u30ab\u30a4\u30d6\u3001\n\                  \u304a\u3088\u3073 ZIP \u30a2\u30fc\u30ab\u30a4\u30d6\u306e {0} \u3067\u5206\u5272\u3055\u308c\u305f\u30ea\u30b9\u30c8\u3002\n\    -D<name>=<value>\n\                  \u30b7\u30b9\u30c6\u30e0\u30d7\u30ed\u30d1\u30c6\u30a3\u30fc\u306e\u8a2d\u5b9a\n\    -verbose[:class|gc|jni]\n\                  \u8a73\u7d30\u51fa\u529b\u306e\u6709\u52b9\u5316\n\    -version      \u88fd\u54c1\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u5370\u5237\u3057\u3066\u7d42\u4e86\n\    -version:<value>\n\                  \u5b9f\u884c\u306b\u5fc5\u8981\u306a\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u8981\u6c42\n\    -showversion  \u88fd\u54c1\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u5370\u5237\u3057\u3066\u7d99\u7d9a\n\    -jre-restrict-search | -jre-no-restrict-search\n\                  \u30d0\u30fc\u30b8\u30e7\u30f3\u691c\u7d22\u306b\u30e6\u30fc\u30b6\u30fc\u306e\u975e\u516c\u958b JRE \u3092\u542b\u3081\u308b\u304b\u9664\u5916\u3059\u308b\u304b\u3092\u5207\u308a\u66ff\u3048\u308b\n\    -? -help      \u3053\u306e\u30d8\u30eb\u30d7\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u5370\u5237\n\    -X            \u975e\u6a19\u6e96\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u30d8\u30eb\u30d7\u3092\u5370\u5237\n\    -ea[:<packagename>...|:<classname>]\n\    -enableassertions[:<packagename>...|:<classname>]\n\                  \u6307\u5b9a\u3057\u305f\u7c92\u5ea6\u3067\u30a2\u30b5\u30fc\u30b7\u30e7\u30f3\u3092\u6709\u52b9\u5316\n\    -da[:<packagename>...|:<classname>]\n\    -disableassertions[:<packagename>...|:<classname>]\n\                  \u6307\u5b9a\u3057\u305f\u7c92\u5ea6\u3067\u30a2\u30b5\u30fc\u30b7\u30e7\u30f3\u3092\u7121\u52b9\u5316\n\    -esa | -enablesystemassertions\n\                  \u30b7\u30b9\u30c6\u30e0\u30a2\u30b5\u30fc\u30b7\u30e7\u30f3\u3092\u6709\u52b9\u5316\n\    -dsa | -disablesystemassertions\n\                  \u30b7\u30b9\u30c6\u30e0\u30a2\u30b5\u30fc\u30b7\u30e7\u30f3\u3092\u7121\u52b9\u5316\n\    -agentlib:<libname>[=<options>]\n\                  \u30cd\u30a4\u30c6\u30a3\u30d6\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30e9\u30a4\u30d6\u30e9\u30ea <libname> (\u4f8b: -agentlib:hprof) \u3092\u30ed\u30fc\u30c9\n\                  \u95a2\u9023\u9805\u76ee\u3001 -agentlib:jdwp=help and -agentlib:hprof=help\n\    -agentpath:<pathname>[=<options>]\n\                  \u5b8c\u5168\u306a\u30d1\u30b9\u540d\u3067\u30cd\u30a4\u30c6\u30a3\u30d6\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u30ed\u30fc\u30c9\n\    -javaagent:<jarpath>[=<options>]\n\                  Java \u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3092\u30ed\u30fc\u30c9\u3002java.lang.instrument \u3092\u53c2\u7167\n\    -splash:<imagepath>\n\                  \u6307\u5b9a\u3057\u305f\u753b\u50cf\u306e\u30b9\u30d7\u30e9\u30c3\u30b7\u30e5\u753b\u9762\u3092\u8868\u793a\n\u8a73\u7d30\u306f http://java.sun.com/javase/reference \u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+
+# Translators please note do not translate the options themselves
+java.launcher.X.usage=\    -Xmixed           \u6df7\u5408\u30e2\u30fc\u30c9\u3067\u306e\u5b9f\u884c (\u30c7\u30d5\u30a9\u30eb\u30c8)\n\    -Xint             \u30a4\u30f3\u30bf\u30fc\u30d7\u30ea\u30bf\u30e2\u30fc\u30c9\u3067\u306e\u307f\u5b9f\u884c\n\    -Xbootclasspath:<directories and zip/jar files separated by {0}>\n\                      \u30d6\u30fc\u30c8\u30b9\u30c8\u30e9\u30c3\u30d7\u30af\u30e9\u30b9\u304a\u3088\u3073\u30ea\u30bd\u30fc\u30b9\u306e\u691c\u7d22\u30d1\u30b9\u3092\u8a2d\u5b9a\n\    -Xbootclasspath/a:<directories and zip/jar files separated by {0}>\n\                      \u30d6\u30fc\u30c8\u30b9\u30c8\u30e9\u30c3\u30d7\u30af\u30e9\u30b9\u306e\u30d1\u30b9\u306e\u672b\u5c3e\u306b\u8ffd\u52a0\n\    -Xbootclasspath/p:<directories and zip/jar files separated by {0}>\n\                      \u30d6\u30fc\u30c8\u30b9\u30c8\u30e9\u30c3\u30d7\u30af\u30e9\u30b9\u306e\u30d1\u30b9\u306e\u5192\u982d\u306b\u8ffd\u52a0\n\    -Xnoclassgc       \u30af\u30e9\u30b9\u30ac\u30fc\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3092\u7121\u52b9\u5316\n\    -Xincgc           \u5897\u5206\u30ac\u30fc\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3092\u7121\u52b9\u5316\n\    -Xloggc:<file>    \u30d5\u30a1\u30a4\u30eb\u306e GC \u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u4ed8\u304d\u3067\u8a18\u9332\n\    -Xbatch           \u30d0\u30c3\u30af\u30b0\u30e9\u30a6\u30f3\u30c9\u30b3\u30f3\u30d1\u30a4\u30eb\u3092\u7121\u52b9\u5316\n\    -Xms<size>        \u521d\u671f Java \u30d2\u30fc\u30d7\u30b5\u30a4\u30ba\u3092\u8a2d\u5b9a\n\    -Xmx<size>        \u6700\u5927 Java \u30d2\u30fc\u30d7\u30b5\u30a4\u30ba\u3092\u8a2d\u5b9a\n\    -Xss<size>        Java \u30b9\u30ec\u30c3\u30c9\u30b9\u30bf\u30c3\u30af\u30b5\u30a4\u30ba\u3092\u8a2d\u5b9a\n\    -Xprof            CPU \u30d7\u30ed\u30d5\u30a1\u30a4\u30ea\u30f3\u30b0\u30c7\u30fc\u30bf\u3092\u51fa\u529b\n\    -Xfuture          \u4eca\u5f8c\u30c7\u30d5\u30a9\u30eb\u30c8\u3068\u3059\u308b\u6700\u3082\u53b3\u683c\u306a\u30c1\u30a7\u30c3\u30af\u3092\u6709\u52b9\u5316\n\    -Xrs              Java/VM \u306e OS \u30b7\u30b0\u30ca\u30eb\u4f7f\u7528\u3092\u524a\u6e1b (\u30de\u30cb\u30e5\u30a2\u30eb\u3092\u53c2\u7167)\n\    -Xcheck:jni       JNI \u95a2\u6570\u306e\u8ffd\u52a0\u30c1\u30a7\u30c3\u30af\u3092\u5b9f\u884c\n\    -Xshare:off       \u5171\u6709\u30af\u30e9\u30b9\u30c7\u30fc\u30bf\u306e\u4f7f\u7528\u3092\u8a66\u884c\u3057\u306a\u3044\n\    -Xshare:auto      \u53ef\u80fd\u306a\u5834\u5408\u306f\u5171\u6709\u30af\u30e9\u30b9\u30c7\u30fc\u30bf\u3092\u4f7f\u7528 (\u30c7\u30d5\u30a9\u30eb\u30c8)\n\    -Xshare:on        \u5171\u6709\u30af\u30e9\u30b9\u30c7\u30fc\u30bf\u306e\u4f7f\u7528\u3092\u8981\u6c42 (\u305d\u3046\u3057\u306a\u3044\u3068\u969c\u5bb3\u304c\u767a\u751f\u3059\u308b\u5834\u5408)\n\n-X \u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u975e\u6a19\u6e96\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3042\u308a\u3001\u4e88\u544a\u306a\u304f\u5909\u66f4\u3055\u308c\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\n
+
+java.launcher.cls.error1=\u30a8\u30e9\u30fc: \u30e1\u30a4\u30f3\u30af\u30e9\u30b9 {0} \u3092\u691c\u51fa\u3067\u304d\u307e\u305b\u3093\u3002
+java.launcher.cls.error2=\u30a8\u30e9\u30fc: \u30af\u30e9\u30b9 {1} \u3067\u3001\u30e1\u30a4\u30f3\u30e1\u30bd\u30c3\u30c9\u304c {0} \u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u30e1\u30a4\u30f3\u30e1\u30bd\u30c3\u30c9\u3092\u6b21\u306e\u3088\u3046\u306b\u5b9a\u7fa9\u3057\u3066\u304f\u3060\u3055\u3044:\n\   public static void main(String[] args)
+java.launcher.cls.error3=\u30a8\u30e9\u30fc: \u30af\u30e9\u30b9 {0} \u3067\u3001\u30e1\u30a4\u30f3\u30e1\u30bd\u30c3\u30c9\u306f void \u578b\u306e\u5024\u3092\u8fd4\u3059\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\n\u30e1\u30a4\u30f3\u30e1\u30bd\u30c3\u30c9\u3092\u6b21\u306e\u3088\u3046\u306b\u5b9a\u7fa9\u3057\u3066\u304f\u3060\u3055\u3044:\n\   public static void main(String[] args)
+java.launcher.cls.error4=\u30a8\u30e9\u30fc: \u30af\u30e9\u30b9 {1} \u3067\u3001\u30e1\u30a4\u30f3\u30e1\u30bd\u30c3\u30c9\u3092\u691c\u51fa\u3067\u304d\u307e\u305b\u3093\u3002\u30e1\u30a4\u30f3\u30e1\u30bd\u30c3\u30c9\u3092\u6b21\u306e\u3088\u3046\u306b\u5b9a\u7fa9\u3057\u3066\u304f\u3060\u3055\u3044:\n\   public static void main(String[] args)
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/launcher/resources/launcher_ko.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,47 @@
+#
+# Copyright 2007-2008 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.
+#
+
+# Translators please note do not translate the options themselves
+java.launcher.opt.header  =   \uc0ac\uc6a9\ubc95: {0} [-options] class [args...]\n\           (\ud074\ub798\uc2a4 \uc2e4\ud589)\n   \ub610\ub294  {0} [-options] -jar jarfile [args...]\n\           (jar \ud30c\uc77c \uc2e4\ud589)\n\uc635\uc158:\n
+
+java.launcher.opt.datamodel  =\    -d{0}\t  \uc0ac\uc6a9 \uac00\ub2a5\ud55c \uacbd\uc6b0 {0}\ube44\ud2b8 \ub370\uc774\ud130 \ubaa8\ub378 \uc0ac\uc6a9\n
+java.launcher.opt.vmselect   =\    {0}\t  "{1}" VM \uc120\ud0dd \uc2dc\n
+java.launcher.opt.hotspot    =\    {0}\t  "{1}" VM[\ub354 \uc774\uc0c1 \uc0ac\uc6a9\ub418\uc9c0 \uc54a\uc74c]\uacfc \ub3d9\uc77c \n
+
+java.launcher.ergo.message1  =\                  \uae30\ubcf8 VM\uc740 {0}\uc784
+java.launcher.ergo.message2  =\                  \uadf8 \uc774\uc720\ub294 \uc11c\ubc84 \ud074\ub798\uc2a4 \uc2dc\uc2a4\ud15c\uc5d0\uc11c \uc2e4\ud589 \uc911\uc774\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4.\n
+
+# Translators please note do not translate the options themselves
+java.launcher.opt.footer     =\    -cp <\ub514\ub809\ud1a0\ub9ac \ubc0f zip/jar \ud30c\uc77c\uc758 \ud074\ub798\uc2a4 \uac80\uc0c9 \uacbd\ub85c>\n\    -classpath <\ub514\ub809\ud1a0\ub9ac \ubc0f zip/jar \ud30c\uc77c\uc758 \ud074\ub798\uc2a4 \uac80\uc0c9 \uacbd\ub85c>\n\                  \ud074\ub798\uc2a4 \ud30c\uc77c\uc744 \uac80\uc0c9\ud558\uae30 \uc704\ud55c \ub514\ub809\ud1a0\ub9ac, JAR \uc544\uce74\uc774\ube0c \ubc0f\n\                  ZIP \uc544\uce74\uc774\ube0c\uc758 {0} \uad6c\ubd84\ub41c \ubaa9\ub85d\uc785\ub2c8\ub2e4.\n\    -D<name>=<value>\n\                  \uc2dc\uc2a4\ud15c \ub4f1\ub85d \uc815\ubcf4 \uc124\uc815\n\    -verbose[:class|gc|jni]\n\                  \ucd94\uac00 \ucd9c\ub825 \uc0ac\uc6a9\n\    -version      \uc81c\ud488 \ubc84\uc804\uc744 \uc778\uc1c4\ud558\uace0 \uc885\ub8cc\n\    -version:<value>\n\                  \uc2e4\ud589\ud558\ub824\uba74 \uc9c0\uc815\ud55c \ubc84\uc804 \ud544\uc694\n\    -showversion  \uc81c\ud488 \ubc84\uc804\uc744 \uc778\uc1c4\ud558\uace0 \uacc4\uc18d\n\    -jre-restrict-search | -jre-no-restrict-search\n\                  \ubc84\uc804 \uac80\uc0c9\uc5d0\uc11c \uc0ac\uc6a9\uc790 \uac1c\uc778 JRE \ud3ec\ud568/\uc81c\uc678\n\    -? -help      \uc774 \ub3c4\uc6c0\ub9d0 \uba54\uc2dc\uc9c0 \uc778\uc1c4\n\    -X            \ube44\ud45c\uc900 \uc635\uc158\uc5d0 \ub300\ud55c \ub3c4\uc6c0\ub9d0 \uc778\uc1c4\n\    -ea[:<packagename>...|:<classname>]\n\    -enableassertions[:<packagename>...|:<classname>]\n\                  \uc9c0\uc815\ud55c \uc815\ubc00\ub3c4\uc758 \uba85\uc81c \uc0ac\uc6a9\n\    -da[:<packagename>...|:<classname>]\n\    -disableassertions[:<packagename>...|:<classname>]\n\                  \uc9c0\uc815\ud55c \uc815\ubc00\ub3c4\uc758 \uba85\uc81c \uc0ac\uc6a9 \uc548 \ud568\n\    -esa | -enablesystemassertions\n\                  \uc2dc\uc2a4\ud15c \uba85\uc81c \uc0ac\uc6a9\n\    -dsa | -disablesystemassertions\n\                  \uc2dc\uc2a4\ud15c \uba85\uc81c \uc0ac\uc6a9 \uc548 \ud568\n\    -agentlib:<libname>[=<options>]\n\                  \uc6d0\uc2dc \uc5d0\uc774\uc804\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac <libname> \ub85c\ub4dc, \uc608: -agentlib:hprof\n\                  \ucc38\uc870: -agentlib:jdwp=help \ubc0f -agentlib:hprof=help\n\    -agentpath:<pathname>[=<options>]\n\                  \uc804\uccb4 \uacbd\ub85c \uc774\ub984\uc73c\ub85c \uc6d0\uc2dc \uc5d0\uc774\uc804\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac \ub85c\ub4dc\n\    -javaagent:<jarpath>[=<options>]\n\                  Java \ud504\ub85c\uadf8\ub798\ubc0d \uc5b8\uc5b4 \uc5d0\uc774\uc804\ud2b8 \ub85c\ub4dc, java.lang.instrument \ucc38\uc870\n\    -splash:<imagepath>\n\                  \uc9c0\uc815\ud55c \uc774\ubbf8\uc9c0\uc758 \uc2a4\ud50c\ub798\uc2dc \ud654\uba74 \ud45c\uc2dc\n\uc790\uc138\ud55c \ub0b4\uc6a9\uc740  http://java.sun.com/javase/reference\ub97c \ucc38\uc870\ud558\uc2ed\uc2dc\uc624.
+
+# Translators please note do not translate the options themselves
+java.launcher.X.usage=\    -Xmixed           \ud63c\ud569 \ubaa8\ub4dc \uc2e4\ud589(\uae30\ubcf8\uac12)\n\    -Xint             \ud574\uc11d\ub41c \ubaa8\ub4dc \uc2e4\ud589 \uc804\uc6a9\n\    -Xbootclasspath:<directories and zip/jar files separated by {0}>\n\                      \ubd80\ud2b8\uc2a4\ud2b8\ub7a9 \ud074\ub798\uc2a4\uc640  \uc790\uc6d0\uc758 \uac80\uc0c9 \uacbd\ub85c \uc124\uc815\n\    -Xbootclasspath/a:<directories and zip/jar files separated by {0}>\n\                      \ubd80\ud2b8\uc2a4\ud2b8\ub7a9 \ud074\ub798\uc2a4 \uacbd\ub85c \ub05d\uc5d0 \ucd94\uac00\n\    -Xbootclasspath/p:<directories and zip/jar files separated by {0}>\n\                      \ubd80\ud2b8\uc2a4\ud2b8\ub7a9 \ud074\ub798\uc2a4 \uacbd\ub85c \uc55e\uc5d0 \ucd94\uac00\n\    -Xnoclassgc       \ud074\ub798\uc2a4 \uac00\ube44\uc9c0 \uceec\ub809\uc158 \uc0ac\uc6a9 \uc548 \ud568\n\    -Xincgc           \uc99d\ubd84 \uac00\ube44\uc9c0 \uceec\ub809\uc158 \uc0ac\uc6a9\n\    -Xloggc:<file>    GC \uc0c1\ud0dc\ub97c \ud0c0\uc784 \uc2a4\ud0ec\ud504\uc640 \ud568\uaed8 \ud30c\uc77c\uc5d0 \ub85c\uadf8\n\    -Xbatch           \ubc31\uadf8\ub77c\uc6b4\ub4dc \ucef4\ud30c\uc77c \uc0ac\uc6a9 \uc548 \ud568\n\    -Xms<size>        \ucd08\uae30 Java \ud799 \ud06c\uae30 \uc124\uc815\n\    -Xmx<size>        \ucd5c\ub300 Java \ud799 \ud06c\uae30 \uc124\uc815\n\    -Xss<size>        java \uc2a4\ub808\ub4dc \uc2a4\ud0dd \ud06c\uae30 \uc124\uc815\n\    -Xprof            cpu \ud504\ub85c\ud30c\uc77c\ub9c1 \ub370\uc774\ud130 \ucd9c\ub825\n\    -Xfuture          \ubbf8\ub798 \uae30\ubcf8\uac12\uc744 \uc608\uce21\ud558\uc5ec \uac00\uc7a5 \uc5c4\uaca9\ud55c \uac80\uc0ac \uc0ac\uc6a9\n\    -Xrs              Java/VM\uc5d0 \uc758\ud55c OS \uc2e0\ud638 \uc0ac\uc6a9 \uac10\uc18c(\uc124\uba85\uc11c \ucc38\uc870)\n\    -Xcheck:jni       JNI \uae30\ub2a5\uc5d0 \ub300\ud55c \ucd94\uac00\uc801\uc778 \uac80\uc0ac \uc218\ud589\n\    -Xshare:off       \uacf5\uc720\ub41c \ud074\ub798\uc2a4 \ub370\uc774\ud130\uc758 \uc0ac\uc6a9\uc744 \uc2dc\ub3c4\ud558\uc9c0 \uc54a\uc74c\n\    -Xshare:auto      \uac00\ub2a5\ud55c \uacbd\uc6b0 \uacf5\uc720\ub41c \ud074\ub798\uc2a4 \ub370\uc774\ud130 \uc0ac\uc6a9(\uae30\ubcf8\uac12)\n\    -Xshare:on        \uacf5\uc720\ub41c \ud074\ub798\uc2a4 \ub370\uc774\ud130\ub97c \uc0ac\uc6a9\ud574\uc57c \ud558\uba70 \uadf8\ub807\uc9c0 \uc54a\uc73c\uba74 \uc2e4\ud328.\n\n-X \uc635\uc158\uc740 \ud45c\uc900\uc774 \uc544\ub2c8\uba70 \uc54c\ub9bc \uc5c6\uc774 \ubcc0\uacbd\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n
+
+java.launcher.cls.error1=\uc624\ub958: \uae30\ubcf8 \ud074\ub798\uc2a4 {0}\uc744(\ub97c) \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
+java.launcher.cls.error2=\uc624\ub958: \ud575\uc2ec \uba54\uc18c\ub4dc\uac00 \ud074\ub798\uc2a4 {1}\uc758 {0}\uc774(\uac00) \uc544\ub2d9\ub2c8\ub2e4. \ud575\uc2ec \uba54\uc18c\ub4dc\ub97c \ub2e4\uc74c\uacfc \uac19\uc774 \uc815\uc758\ud558\uc2ed\uc2dc\uc624.\n\   public static void main(String[] args)
+java.launcher.cls.error3=\uc624\ub958: \ud575\uc2ec \uba54\uc18c\ub4dc\ub294 \ud074\ub798\uc2a4 {0}\uc758 void \uc720\ud615\uc758 \uac12\uc744 \ubc18\ud658\ud574\uc57c \ud569\ub2c8\ub2e4.\n\ud575\uc2ec \uba54\uc18c\ub4dc\ub97c \ub2e4\uc74c\uacfc \uac19\uc774 \uc815\uc758\ud558\uc2ed\uc2dc\uc624.\n\   public static void main(String[] args)
+java.launcher.cls.error4=\uc624\ub958: \ud575\uc2ec \uba54\uc18c\ub4dc\ub97c \ud074\ub798\uc2a4 {0}\uc5d0\uc11c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \ud575\uc2ec \uba54\uc18c\ub4dc\ub97c \ub2e4\uc74c\uacfc \uac19\uc774 \uc815\uc758\ud558\uc2ed\uc2dc\uc624.\n\   public static void main(String[] args)
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/launcher/resources/launcher_sv.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,47 @@
+#
+# Copyright 2007-2008 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.
+#
+
+# Translators please note do not translate the options themselves
+java.launcher.opt.header  =   Anv\u00e4ndning: {0} [-alternativ] class [arg...]\n\           (f\u00f6r att k\u00f6ra en klass)\n   or  {0} [-alternativ] -jar jarfile [arg...]\n\           (f\u00f6r att k\u00f6ra en jar-fil)\nbland alternativen kan n\u00e4mnas:\n
+
+java.launcher.opt.datamodel  =\    -d{0}\t  anv\u00e4nd en {0}-bitars datamodell om den finns tillg\u00e4nglig\n
+java.launcher.opt.vmselect   =\    {0}\t  f\u00f6r att v\u00e4lja "{1}" VM\n
+java.launcher.opt.hotspot    =\    {0}\t  \u00e4r liktydigt med "{1}"-VM  [utfasad]\n
+
+java.launcher.ergo.message1  =\                  Standard-VM \u00e4r {0}
+java.launcher.ergo.message2  =\                  eftersom du k\u00f6r p\u00e5 en dator med server-klass.\n
+
+# Translators please note do not translate the options themselves
+java.launcher.opt.footer     =\    -cp <klass\u00f6kv\u00e4g till kataloger och zip-/jar-filers>\n\    -classpath <klass\u00f6kv\u00e4g till kataloger och zip-/jar-filer>\n\                  en med {0} avgr\u00e4nsad lista \u00f6ver kataloger, JAR-arkiv\n\                  och ZIP-arkiv f\u00f6r s\u00f6kning efter klassfiler.\n\    -D<namn>=<v\u00e4rde>\n\                  ange en systemegenskap\n\    -verbose[:klass|gc|jni]\n\                  visa mer text\n\    -version      skriv ut produktversionen och avsluta\n\    -version:<value>\n\                  kr\u00e4ver den angivna versionen f\u00f6r att kunna k\u00f6ras\n\    -showversion  skriv ut produktversion och forts\u00e4tt\n\    -jre-restrict-search | -jre-no-restrict-search\n\                  inkludera/exkludera anv\u00e4ndarens privata JRE-filer i versionss\u00f6kningen\n\    -? -help      skriver ut det h\u00e4r hj\u00e4lpmeddelandet\n\    -X            skriv ut hj\u00e4lp f\u00f6r alternativ som inte \u00e4r standard\n\    -ea[:<paketnamn>...|:<klassnamn>]\n\    -enableassertions[:<paketnamn>...|:<klassnamn>]\n\                  aktivera bekr\u00e4ftelser med angiven precision\n\    -da[:<paketnamn>...|:<klassnamn>]\n\    -disableassertions[:<paketnamn>...|:<klassnamn>]\n\                  inaktivera bekr\u00e4ftelser med angiven precision\n\    -esa | -enablesystemassertions\n\                  aktivera systembekr\u00e4ftelser\n\    -dsa | -disablesystemassertions\n\                  inaktivera systembekr\u00e4ftelser\n\    -agentlib:<biblnamn>[=<alternativ>]\n\                  l\u00e4s in det interna agentbiblioteket <biblnamn>, t.ex. -agentlib:hprof\n\                  se \u00e4ven, -agentlib:jdwp=help och -agentlib:hprof=help\n\    -agentpath:<filnamn>[=<alternativ>]\n\                  l\u00e4s in internt agentbibliotek utifr\u00e5n fullst\u00e4ndig s\u00f6kv\u00e4g\n\    -javaagent:<jar-s\u00f6kv\u00e4g>[=<alternativ>]\n\                  l\u00e4s in agenten f\u00f6r programmeringsspr\u00e5ket Java, se java.lang.instrument\n\    -splash:<bilds\u00f6kv\u00e4g>\n\                  visa v\u00e4lkomstf\u00f6nster med angiven bild\nMer information finns p\u00e5 http://java.sun.com/javase/reference.
+
+# Translators please note do not translate the options themselves
+java.launcher.X.usage=\    -Xmixed           k\u00f6rning i blandat l\u00e4ge (standard)\n\    -Xint             endast k\u00f6rning i tolkat l\u00e4ge\n\    -Xbootclasspath:<kataloger och zip-/jar-filer som avgr\u00e4nsas med {0}>\n\                      ange s\u00f6kv\u00e4g f\u00f6r bootstrap-klasser och -resurser\n\    -Xbootclasspath/a:<kataloger och zip-/jar-filer som avgr\u00e4nsas med {0}>\n\                      l\u00e4gg till p\u00e5 slutet av s\u00f6kv\u00e4gen till bootstrap-klassen\n\    -Xbootclasspath/p:<kataloger och zip-/jar-filer som avgr\u00e4nsas med {0}>\n\                      l\u00e4gg till i b\u00f6rjan av s\u00f6kv\u00e4gen till bootstrap-klassen\n\    -Xnoclassgc       inaktivera skr\u00e4pinsamling f\u00f6r klass\n\    -Xincgc           aktivera inkrementell skr\u00e4pinsaming\n\    -Xloggc:<file>    logga GC-status till en fil med tidsst\u00e4mpel\n\    -Xbatch           inaktivera kompilering i bakgrunden\n\    -Xms<size>        st\u00e4ll in ursprunglig heapstorlek f\u00f6r Java\n\    -Xmx<size>        st\u00e4ll in st\u00f6rsta heapstorlek f\u00f6r Java\n\    -Xss<size>        st\u00e4ll in tr\u00e5dstackens storlek f\u00f6r Java\n\    -Xprof            visa profileringsdata om processorn\n\    -Xfuture          aktivera de mest rigor\u00f6sa kontrollerna och f\u00f6regrip framtida standardl\u00e4ge\n\    -Xrs              minska anv\u00e4ndningen av signaler fr\u00e5n operativsystemet i Java/VM (mer information finns i dokumentationen)\n\    -Xcheck:jni       utf\u00f6r ytterligare kontroller f\u00f6r JNI-funktioner\n\    -Xshare:off       f\u00f6rs\u00f6k inte att anv\u00e4nda delade klassdata\n\    -Xshare:auto      anv\u00e4nd om m\u00f6jligt delade klassdata (standard)\n\    -Xshare:on        kr\u00e4v att delade klassdata anv\u00e4nds, skicka fel om s\u00e5 inte \u00e4r fallet.\n\n -X-alternativen betraktas inte som standard och kan \u00e4ndras utan att detta meddelas.\n
+
+java.launcher.cls.error1=Fel: Det g\u00e5r inte att hitta klassen main {0}
+java.launcher.cls.error2=Fel: Metoden i main \u00e4r inte {0} i klass {1}. Ange huvudmetoden som:\n\   public static void main(String[] args)
+java.launcher.cls.error3=Fel: Metoden i main m\u00e5ste returnera ett v\u00e4rde av typen void i klass {0}. Definiera \nmetoden i main som:\n\   public static void main(String[] args)
+java.launcher.cls.error4=Fel: Klass {0} saknar metod i main. Definiera metoden som:\n\   public static void main(String[] args)
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/launcher/resources/launcher_zh_CN.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,47 @@
+#
+# Copyright 2007-2008 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.
+#
+
+# Translators please note do not translate the options themselves
+java.launcher.opt.header  =   \u7528\u6cd5\uff1a{0} [-\u9009\u9879] class [\u53c2\u6570...]\n\           \uff08\u6267\u884c\u4e00\u4e2a\u7c7b\uff09\n   \u6216  {0} [-\u9009\u9879] -jar jarfile [\u53c2\u6570...]\n\           \uff08\u6267\u884c\u4e00\u4e2a jar \u6587\u4ef6\uff09\n\u5176\u4e2d\uff0c\u9009\u9879\u5305\u62ec\uff1a\n
+
+java.launcher.opt.datamodel  =\    -d{0}\t  \u4f7f\u7528\u4e00\u4e2a {0} \u4f4d\u6570\u636e\u6a21\u578b\uff08\u5982\u679c\u53ef\u7528\uff09\n
+java.launcher.opt.vmselect   =\    {0}\t  \u9009\u62e9 "{1}" VM\n
+java.launcher.opt.hotspot    =\    {0}\t  \u4e3a "{1}" VM \u7684\u540c\u4e49\u8bcd [\u5df2\u8fc7\u65f6]\n
+
+java.launcher.ergo.message1  =\                  \u9ed8\u8ba4\u7684 VM \u4e3a {0}
+java.launcher.ergo.message2  =\                  \u56e0\u4e3a\u60a8\u662f\u5728\u670d\u52a1\u5668\u7c7b\u8ba1\u7b97\u673a\u4e0a\u8fd0\u884c\u3002\n
+
+# Translators please note do not translate the options themselves
+java.launcher.opt.footer     =\    -cp <\u76ee\u5f55\u548c zip/jar \u6587\u4ef6\u7684\u7c7b\u641c\u7d22\u8def\u5f84>\n\    -classpath <\u76ee\u5f55\u548c zip/jar \u6587\u4ef6\u7684\u7c7b\u641c\u7d22\u8def\u5f84>\n\                  \u4e00\u4e2a\u4ee5 {0} \u5206\u9694\u7684\u76ee\u5f55\u3001JAR \u5f52\u6863\u6587\u4ef6\n\                  \u548c ZIP \u5f52\u6863\u6587\u4ef6\u7684\u5217\u8868\uff0c\u7528\u4e8e\u641c\u7d22\u7c7b\u6587\u4ef6\u3002\n\    -D<name>=<value>\n\                  \u8bbe\u7f6e\u7cfb\u7edf\u5c5e\u6027\n\    -verbose[:class|gc|jni]\n\                  \u542f\u7528\u8be6\u7ec6\u8f93\u51fa\n\    -version      \u663e\u793a\u4ea7\u54c1\u7248\u672c\u5e76\u9000\u51fa\n\    -version:<value>\n\                  \u8981\u6c42\u8fd0\u884c\u6307\u5b9a\u7684\u7248\u672c\n\    -showversion  \u663e\u793a\u4ea7\u54c1\u7248\u672c\u5e76\u7ee7\u7eed\n\    -jre-restrict-search | -jre-no-restrict-search\n\                  \u5728\u7248\u672c\u641c\u7d22\u4e2d\u5305\u62ec/\u4e0d\u5305\u62ec\u7528\u6237\u79c1\u6709 JRE\n\    -? -help      \u663e\u793a\u6b64\u5e2e\u52a9\u6d88\u606f\n\    -X            \u663e\u793a\u6709\u5173\u975e\u6807\u51c6\u9009\u9879\u7684\u5e2e\u52a9\n\    -ea[:<packagename>...|:<classname>]\n\    -enableassertions[:<packagename>...|:<classname>]\n\                  \u542f\u7528\u6307\u5b9a\u7c92\u5ea6\u7684\u65ad\u8a00\n\    -da[:<packagename>...|:<classname>]\n\    -disableassertions[:<packagename>...|:<classname>]\n\                  \u7981\u7528\u6307\u5b9a\u7c92\u5ea6\u7684\u65ad\u8a00\n\    -esa | -enablesystemassertions\n\                  \u542f\u7528\u7cfb\u7edf\u65ad\u8a00\n\    -dsa | -disablesystemassertions\n\                  \u7981\u7528\u7cfb\u7edf\u65ad\u8a00\n\    -agentlib:<libname>[=<options>]\n\                  \u88c5\u5165\u672c\u673a\u4ee3\u7406\u5e93 <libname>\uff0c\u4f8b\u5982\uff1a-agentlib:hprof\n\                  \u53e6\u8bf7\u53c2\u89c1 -agentlib:jdwp=help \u548c -agentlib:hprof=help\n\    -agentpath:<pathname>[=<options>]\n\                  \u4ee5\u5168\u8def\u5f84\u540d\u88c5\u5165\u672c\u673a\u4ee3\u7406\u5e93\n\    -javaagent:<jarpath>[=<options>]\n\                  \u88c5\u5165 Java \u7f16\u7a0b\u8bed\u8a00\u4ee3\u7406\uff0c\u8bf7\u53c2\u89c1 java.lang.instrument\n\    -splash:<imagepath>\n\                  \u4f7f\u7528\u6307\u5b9a\u56fe\u50cf\u663e\u793a\u95ea\u73b0\u5c4f\u5e55\n\u6709\u5173\u66f4\u591a\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u89c1 http://java.sun.com/javase/reference\u3002
+
+# Translators please note do not translate the options themselves
+java.launcher.X.usage=\    -Xmixed           \u6df7\u5408\u6a21\u5f0f\u6267\u884c\uff08\u9ed8\u8ba4\uff09\n\    -Xint             \u4ec5\u89e3\u91ca\u6a21\u5f0f\u6267\u884c\n\    -Xbootclasspath:<\u4ee5 {0} \u5206\u9694\u7684\u76ee\u5f55\u548c zip/jar \u6587\u4ef6>\n\                      \u8bbe\u7f6e\u5f15\u5bfc\u7c7b\u548c\u8d44\u6e90\u7684\u641c\u7d22\u8def\u5f84\n\    -Xbootclasspath/a:<\u4ee5 {0} \u5206\u9694\u7684\u76ee\u5f55\u548c zip/jar \u6587\u4ef6>\n\                      \u9644\u52a0\u5230\u5f15\u5bfc\u7c7b\u8def\u5f84\u5c3e\u90e8\n\    -Xbootclasspath/p:<\u4ee5 {0} \u5206\u9694\u7684\u76ee\u5f55\u548c zip/jar \u6587\u4ef6>\n\                      \u7f6e\u4e8e\u5f15\u5bfc\u7c7b\u8def\u5f84\u524d\u9762\n\    -Xnoclassgc       \u7981\u7528\u7c7b\u5783\u573e\u6536\u96c6\n\    -Xincgc           \u542f\u7528\u589e\u91cf\u5783\u573e\u6536\u96c6\n\    -Xloggc:<\u6587\u4ef6>    \u5c06 GC \u72b6\u6001\u8bb0\u5f55\u5230\u4e00\u4e2a\u5e26\u6709\u65f6\u95f4\u6233\u7684\u6587\u4ef6\n\    -Xbatch           \u7981\u7528\u540e\u53f0\u7f16\u8bd1\n\    -Xms<\u5927\u5c0f>        \u8bbe\u7f6e\u521d\u59cb Java \u5806\u5927\u5c0f\n\    -Xmx<\u5927\u5c0f>        \u8bbe\u7f6e\u6700\u5927 Java \u5806\u5927\u5c0f\n\    -Xss<\u5927\u5c0f>        \u8bbe\u7f6e Java \u7ebf\u7a0b\u5806\u6808\u5927\u5c0f\n\    -Xprof            \u8f93\u51fa CPU \u914d\u7f6e\u6570\u636e\n\    -Xfuture          \u542f\u7528\u6700\u4e25\u683c\u7684\u68c0\u67e5\uff0c\u672a\u6765\u53ef\u80fd\u4f1a\u6210\u4e3a\u9ed8\u8ba4\u9009\u9879\n\    -Xrs              \u51cf\u5c11 Java/VM \u5bf9\u64cd\u4f5c\u7cfb\u7edf\u4fe1\u53f7\u7684\u4f7f\u7528\uff08\u8bf7\u53c2\u89c1\u6587\u6863\uff09\n\    -Xcheck:jni       \u9488\u5bf9 JNI \u529f\u80fd\u6267\u884c\u989d\u5916\u7684\u68c0\u67e5\n\    -Xshare:off       \u4e0d\u5c1d\u8bd5\u4f7f\u7528\u5171\u4eab\u7c7b\u6570\u636e\n\    -Xshare:auto      \u5982\u679c\u53ef\u80fd\u7684\u8bdd\uff0c\u4f7f\u7528\u5171\u4eab\u7c7b\u6570\u636e\uff08\u9ed8\u8ba4\uff09\n\    -Xshare:on        \u8981\u6c42\u4f7f\u7528\u5171\u4eab\u7c7b\u6570\u636e\uff0c\u5426\u5219\u4f1a\u5931\u8d25\u3002\n\n-X \u9009\u9879\u662f\u975e\u6807\u51c6\u9009\u9879\uff0c\u5982\u6709\u66f4\u6539\uff0c\u6055\u4e0d\u53e6\u884c\u901a\u77e5\u3002\n
+
+java.launcher.cls.error1=\u9519\u8bef\uff1a\u627e\u4e0d\u5230\u4e3b\u7c7b {0}
+java.launcher.cls.error2=\u9519\u8bef\uff1aMain \u65b9\u6cd5\u4e0d\u662f\u7c7b {1} \u4e2d\u7684 {0}\uff0c\u8bf7\u5c06 main \u65b9\u6cd5\u5b9a\u4e49\u4e3a\uff1a\n\   public static void main(String[] args)
+java.launcher.cls.error3=\u9519\u8bef\uff1a\u5728\u7c7b {0} \u4e2d\uff0cMain \u65b9\u6cd5\u5fc5\u987b\u8fd4\u56de void \u7c7b\u578b\u7684\u503c\uff0c\u8bf7\u5c06 \nmain \u65b9\u6cd5\u5b9a\u4e49\u4e3a\uff1a\n\   public static void main(String[] args)
+java.launcher.cls.error4=\u9519\u8bef\uff1a\u5728\u7c7b {0} \u4e2d\u672a\u627e\u5230 Main \u65b9\u6cd5\uff0c\u8bf7\u5c06 main \u65b9\u6cd5\u5b9a\u4e49\u4e3a\uff1a\n\   public static void main(String[] args)
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/launcher/resources/launcher_zh_TW.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,47 @@
+#
+# Copyright 2007-2008 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.
+#
+
+# Translators please note do not translate the options themselves
+java.launcher.opt.header  =   \u7528\u6cd5: {0} [-options] class [args...]\n\           (\u57f7\u884c\u985e\u5225)\n   \u6216  {0} [-options] -jar jarfile [args...]\n\           (\u57f7\u884c jar \u6a94\u6848)\n\u5176\u4e2d options \u5305\u62ec:\n
+
+java.launcher.opt.datamodel  =\    -d{0}\t  \u4f7f\u7528 {0} \u4f4d\u5143\u8cc7\u6599\u6a21\u5f0f (\u5982\u679c\u53ef\u7528)\n
+java.launcher.opt.vmselect   =\    {0}\t  \u9078\u53d6\u300c{1}\u300dVM\n
+java.launcher.opt.hotspot    =\    {0}\t  \u662f\u300c{1}\u300dVM [\u5df2\u505c\u7528] \u7684\u540c\u7fa9\u8a5e\n
+
+java.launcher.ergo.message1  =\                  \u9810\u8a2d VM \u70ba {0}
+java.launcher.ergo.message2  =\                  \u56e0\u70ba\u60a8\u6b63\u57f7\u884c\u65bc\u4f3a\u670d\u5668\u7d1a\u7684\u6a5f\u5668\u4e0a\u3002\n
+
+# Translators please note do not translate the options themselves
+java.launcher.opt.footer     =\    -cp <\u76ee\u9304\u548c zip/jar \u6a94\u6848\u7684\u985e\u5225\u641c\u5c0b\u8def\u5f91>\n\    -classpath <\u76ee\u9304\u548c zip/jar \u6a94\u6848\u7684\u985e\u5225\u641c\u5c0b\u8def\u5f91>\n\                   {0} \u76ee\u9304\u3001JAR \u6b78\u6a94\n\                  \u548c ZIP \u6b78\u6a94\u7684\u5206\u9694\u6e05\u55ae\uff0c\u7528\u65bc\u641c\u5c0b\u985e\u5225\u6a94\u6848\u3002\n\    -D<name>=<value>\n\                  \u8a2d\u5b9a\u7cfb\u7d71\u7279\u6027\n\    -verbose[:class|gc|jni]\n\                  \u555f\u7528\u8a73\u7d30\u8f38\u51fa\n\    -version      \u5217\u5370\u7522\u54c1\u7248\u672c\u4e26\u7d50\u675f\n\    -version:<value>\n\                  \u9700\u8981\u57f7\u884c\u6307\u5b9a\u7684\u7248\u672c\n\    -showversion  \u5217\u5370\u7522\u54c1\u7248\u672c\u4e26\u7e7c\u7e8c\n\    -jre-restrict-search | -jre-no-restrict-search\n\                  \u5728\u7248\u672c\u641c\u5c0b\u4e2d\u5305\u542b/\u6392\u9664\u4f7f\u7528\u8005\u79c1\u7528 JRE\n\    -? -help      \u5217\u5370\u6b64\u8aaa\u660e\u8a0a\u606f\n\    -X            \u5217\u5370\u6709\u95dc\u975e\u6a19\u6e96\u9078\u9805\u7684\u8aaa\u660e\n\    -ea[:<packagename>...|:<classname>]\n\    -enableassertions[:<packagename>...|:<classname>]\n\                  \u555f\u7528\u5177\u6709\u6307\u5b9a\u9846\u7c92\u6027\u7684\u5ba3\u544a\n\    -da[:<packagename>...|:<classname>]\n\    -disableassertions[:<packagename>...|:<classname>]\n\                  \u505c\u7528\u5177\u6709\u6307\u5b9a\u9846\u7c92\u6027\u7684\u5ba3\u544a\n\    -esa | -enablesystemassertions\n\                  \u555f\u7528\u7cfb\u7d71\u5ba3\u544a\n\    -dsa | -disablesystemassertions\n\                  \u505c\u7528\u7cfb\u7d71\u5ba3\u544a\n\    -agentlib:<libname>[=<options>]\n\                  \u8f09\u5165\u539f\u751f\u4ee3\u7406\u7a0b\u5f0f\u7a0b\u5f0f\u5eab <libname>\uff0c\u4f8b\u5982 -agentlib:hprof\n\                  \u53e6\u8acb\u53c3\u95b1 -agentlib:jdwp=help \u548c -agentlib:hprof=help\n\    -agentpath:<pathname>[=<options>]\n\                  \u4f9d\u64da\u5b8c\u6574\u8def\u5f91\u540d\u7a31\u8f09\u5165\u539f\u751f\u4ee3\u7406\u7a0b\u5f0f\n\    -javaagent:<jarpath>[=<options>]\n\                  \u8f09\u5165 Java \u7a0b\u5f0f\u8a2d\u8a08\u8a9e\u8a00\u4ee3\u7406\u7a0b\u5f0f\uff0c\u8acb\u53c3\u95b1 java.lang.instrument\n\    -splash:<imagepath>\n\                  \u986f\u793a\u542b\u6709\u6307\u5b9a\u5f71\u50cf\u7684\u8edf\u9ad4\u8cc7\u8a0a\u756b\u9762\n\u8acb\u53c3\u95b1 http://java.sun.com/javase/reference\uff0c\u4ee5\u53d6\u5f97\u66f4\u591a\u8a73\u7d30\u8cc7\u8a0a\u3002
+
+# Translators please note do not translate the options themselves
+java.launcher.X.usage=\    -Xmixed           \u57f7\u884c\u6df7\u5408\u6a21\u5f0f (\u9810\u8a2d)\n\    -Xint             \u50c5\u57f7\u884c\u89e3\u8b6f\u6a21\u5f0f\n\    -Xbootclasspath:<\u4ee5 {0} \u5206\u9694\u7684\u76ee\u9304\u548c zip/jar \u6a94\u6848>\n\                      \u8a2d\u5b9a\u555f\u52d5\u985e\u5225\u548c\u8cc7\u6e90\u7684\u641c\u5c0b\u8def\u5f91\n\    -Xbootclasspath/a:<\u4ee5 {0} \u5206\u9694\u7684\u76ee\u9304\u548c zip/jar \u6a94\u6848>\n\                      \u9644\u52a0\u81f3\u555f\u52d5\u985e\u5225\u7684\u672b\u5c3e\n\    -Xbootclasspath/p:<\u4ee5 {0} \u5206\u9694\u7684\u76ee\u9304\u548c zip/jar \u6a94\u6848>\n\                      \u524d\u7f6e\u65bc\u555f\u52d5\u985e\u5225\u8def\u5f91\u7684\u524d\u9762\n\    -Xnoclassgc       \u505c\u7528\u985e\u5225\u56de\u6536\u6536\u96c6\n\    -Xincgc           \u555f\u7528\u905e\u589e\u56de\u6536\u6536\u96c6\n\    -Xloggc:<\u6a94\u6848>    \u4f7f\u7528\u6642\u9593\u6233\u8a18\u5c07 GC \u72c0\u614b\u8a18\u9304\u81f3\u6a94\u6848\n\    -Xbatch           \u505c\u7528\u80cc\u5f71\u7de8\u8b6f\n\    -Xms<\u5927\u5c0f>        \u8a2d\u5b9a\u521d\u59cb Java \u5806\u758a\u5927\u5c0f\n\    -Xmx<\u5927\u5c0f>        \u8a2d\u5b9a\u6700\u5927 Java \u5806\u758a\u5927\u5c0f\n\    -Xss<\u5927\u5c0f>        \u8a2d\u5b9a java \u57f7\u884c\u7dd2\u5806\u758a\u5927\u5c0f\n\    -Xprof            \u8f38\u51fa cpu \u8a2d\u5b9a\u6a94\u8cc7\u6599\n\    -Xfuture          \u555f\u7528\u6700\u56b4\u683c\u7684\u6aa2\u67e5\uff0c\u9810\u671f\u672a\u4f86\u9810\u8a2d\u503c\n\    -Xrs              \u964d\u4f4e Java/VM \u7684 OS \u8a0a\u865f\u4f7f\u7528 (\u8acb\u53c3\u95b1\u6587\u4ef6)\n\    -Xcheck:jni       \u5c0d JNI \u529f\u80fd\u57f7\u884c\u5176\u4ed6\u6aa2\u67e5\n\    -Xshare:off       \u4e0d\u5617\u8a66\u4f7f\u7528\u5171\u7528\u985e\u5225\u8cc7\u6599\n\    -Xshare:auto      \u5982\u53ef\u80fd\uff0c\u4f7f\u7528\u5171\u7528\u985e\u5225\u8cc7\u6599 (\u9810\u8a2d)\n\    -Xshare:on        \u9700\u8981\u4f7f\u7528\u5171\u7528\u985e\u5225\u8cc7\u6599\uff0c\u5426\u5247\u6703\u5931\u6557\u3002\n\n-X \u9078\u9805\u70ba\u975e\u6a19\u6e96\u9078\u9805\uff0c\u53ef\u80fd\u6703\u8b8a\u66f4\uff0c\u6055\u4e0d\u53e6\u884c\u901a\u77e5\u3002\n
+
+java.launcher.cls.error1=\u932f\u8aa4\uff1a\u627e\u4e0d\u5230\u4e3b\u985e\u5225 {0}
+java.launcher.cls.error2=\u932f\u8aa4\uff1a\u5728\u985e\u5225 {1} \u4e2d\uff0c\u4e3b\u65b9\u6cd5\u4e0d\u662f {0}\uff0c\u8acb\u5b9a\u7fa9\u4e3b\u65b9\u6cd5\u70ba:\n\   public static void main(String[] args)
+java.launcher.cls.error3=\u932f\u8aa4\uff1a\u5728\u985e\u5225 {0} \u4e2d\uff0c\u4e3b\u65b9\u6cd5\u5fc5\u9808\u50b3\u56de\u985e\u578b void \u7684\u503c\uff0c\u8acb\n\u5b9a\u7fa9\u4e3b\u65b9\u6cd5\u70ba:\n\   public static void main(String[] args)
+java.launcher.cls.error4=\u932f\u8aa4\uff1a\u5728\u985e\u5225 {0} \u4e2d\u627e\u4e0d\u5230\u4e3b\u65b9\u6cd5\uff0c\u8acb\u5b9a\u7fa9\u4e3b\u65b9\u6cd5\u70ba:\n\   public static void main(String[] args)
+
+
--- a/jdk/src/share/classes/sun/management/resources/agent_de.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/management/resources/agent_de.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -46,6 +46,12 @@
 
 agent.err.invalid.jmxremote.port   = Ung\u00fcltige Nummer f\u00fcr com.sun.management.jmxremote.port
 
+agent.err.file.not.set               = Datei nicht angegeben
+agent.err.file.not.readable          = Datei nicht lesbar
+agent.err.file.read.failed           = Datei konnte nicht gelesen werden
+agent.err.file.not.found             = Datei wurde nicht gefunden 
+agent.err.file.access.not.restricted = Lesezugriff auf die Datei muss eingeschr\u00e4nkt sein
+
 agent.err.password.file.notset     = Es wurde keine Passwortdatei angegeben, obwohl com.sun.management.jmxremote.authenticate auf \"true\" gesetzt ist.
 agent.err.password.file.not.readable = Passwortdatei kann nicht gelesen werden.
 agent.err.password.file.read.failed = Passwortdatei konnte nicht gelesen werden.
@@ -76,6 +82,7 @@
 jmxremote.ConnectorBootstrap.initialize.noAuthentication = Keine Authentifizierung
 jmxremote.ConnectorBootstrap.initialize.ready = JMX-Anschluss bereit unter: {0}
 jmxremote.ConnectorBootstrap.initialize.password.readonly = Lesezugriff auf Passwortdatei muss eingeschr\u00e4nkt sein. {0}
+jmxremote.ConnectorBootstrap.initialize.file.readonly = Lesezugriff auf die Datei muss eingeschr\u00e4nkt sein: {0}
 
 jmxremote.AdaptorBootstrap.getTargetList.processing = ACL verarbeiten
 jmxremote.AdaptorBootstrap.getTargetList.adding = Ziel hinzuf\u00fcgen: {0}
--- a/jdk/src/share/classes/sun/management/resources/agent_es.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/management/resources/agent_es.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -46,6 +46,12 @@
 
 agent.err.invalid.jmxremote.port   = N\u00famero com.sun.management.jmxremote.port no v\u00e1lido
 
+agent.err.file.not.set               = Archivo no especificado
+agent.err.file.not.readable          = Archivo ilegible
+agent.err.file.read.failed           = Error al leer el archivo
+agent.err.file.not.found             = Archivo no encontrado
+agent.err.file.access.not.restricted = Se debe restringir el acceso de lectura al archivo
+
 agent.err.password.file.notset     = El archivo de contrase\u00f1as no se ha especificado, pero com.sun.management.jmxremote.authenticate=true
 agent.err.password.file.not.readable = No se puede leer el archivo de contrase\u00f1as
 agent.err.password.file.read.failed = Error al leer el archivo de contrase\u00f1as
@@ -76,6 +82,7 @@
 jmxremote.ConnectorBootstrap.initialize.noAuthentication = Sin autenticaci\u00f3n
 jmxremote.ConnectorBootstrap.initialize.ready = Conector JMX listo en: {0}
 jmxremote.ConnectorBootstrap.initialize.password.readonly = Se debe restringir el acceso de lectura al archivo de contrase\u00f1as: {0}
+jmxremote.ConnectorBootstrap.initialize.file.readonly = Se debe restringir el acceso de lectura al archivo: {0}
 
 jmxremote.AdaptorBootstrap.getTargetList.processing = Procesando ACL
 jmxremote.AdaptorBootstrap.getTargetList.adding = Agregando destino: {0}
--- a/jdk/src/share/classes/sun/management/resources/agent_fr.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/management/resources/agent_fr.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -46,6 +46,12 @@
 
 agent.err.invalid.jmxremote.port   = Num\u00e9ro com.sun.management.jmxremote.port incorrect
 
+agent.err.file.not.set               = Fichier non sp\u00e9cifi\u00e9
+agent.err.file.not.readable          = Fichier illisible
+agent.err.file.read.failed           = Impossible de lire le fichier
+agent.err.file.not.found             = Fichier introuvable
+agent.err.file.access.not.restricted = L'acc\u00e8s \u00e0 la lecture du fichier doit \u00eatre limit\u00e9
+
 agent.err.password.file.notset     = Le fichier de mots de passe n'est pas sp\u00e9cifi\u00e9 mais com.sun.management.jmxremote.authenticate=true
 agent.err.password.file.not.readable = Fichier de mots de passe illisible
 agent.err.password.file.read.failed = Impossible de lire le fichier de mots de passe
@@ -76,6 +82,7 @@
 jmxremote.ConnectorBootstrap.initialize.noAuthentication = Pas d'authentification
 jmxremote.ConnectorBootstrap.initialize.ready = Connecteur JMX pr\u00eat \u00e0 : {0}
 jmxremote.ConnectorBootstrap.initialize.password.readonly = L''acc\u00e8s \u00e0 la lecture du fichier de mots de passe doit \u00eatre limit\u00e9 : {0}
+jmxremote.ConnectorBootstrap.initialize.file.readonly = L''acc\u00e8s \u00e0 la lecture du fichier doit \u00eatre limit\u00e9\u00a0: {0}
 
 jmxremote.AdaptorBootstrap.getTargetList.processing = Traitement d'ACL
 jmxremote.AdaptorBootstrap.getTargetList.adding = Ajout de la cible : {0}
--- a/jdk/src/share/classes/sun/management/resources/agent_it.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/management/resources/agent_it.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -46,6 +46,12 @@
 
 agent.err.invalid.jmxremote.port   = Numero com.sun.management.jmxremote.port non valido
 
+agent.err.file.not.set               = File non specificato
+agent.err.file.not.readable          = File non leggibile
+agent.err.file.read.failed           = Lettura del file non riuscita
+agent.err.file.not.found             = File non trovato
+agent.err.file.access.not.restricted = L'accesso in lettura al file deve essere limitato
+
 agent.err.password.file.notset     = Il file password non \u00e8 specificato ma com.sun.management.jmxremote.authenticate=true
 agent.err.password.file.not.readable = File password non leggibile
 agent.err.password.file.read.failed = Errore di lettura file password
@@ -76,6 +82,7 @@
 jmxremote.ConnectorBootstrap.initialize.noAuthentication = Nessuna autenticazione
 jmxremote.ConnectorBootstrap.initialize.ready = Connettore JMX pronto in: {0}
 jmxremote.ConnectorBootstrap.initialize.password.readonly = Limitare l''accesso in lettura al file password: {0}
+jmxremote.ConnectorBootstrap.initialize.file.readonly = Limitare l''accesso in lettura al file: {0}
 
 jmxremote.AdaptorBootstrap.getTargetList.processing = Elaborazione ACL
 jmxremote.AdaptorBootstrap.getTargetList.adding = Aggiunta della destinazione: {0}
--- a/jdk/src/share/classes/sun/management/resources/agent_ja.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/management/resources/agent_ja.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -42,10 +42,16 @@
 agent.err.agentclass.failed        = \u7ba1\u7406\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30af\u30e9\u30b9\u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002 
 agent.err.premain.notfound         = premain(String) \u304c\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30af\u30e9\u30b9\u306b\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
 agent.err.agentclass.access.denied = premain(String) \u3078\u306e\u30a2\u30af\u30bb\u30b9\u304c\u62d2\u5426\u3055\u308c\u307e\u3057\u305f\u3002
-agent.err.invalid.agentclass       = com.sun.management.agent.class \u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u5024\u304c\u4e0d\u6b63\u3067\u3059\u3002
+agent.err.invalid.agentclass       = com.sun.management.agent.class \u30d7\u30ed\u30d1\u30c6\u30a3\u30fc\u306e\u5024\u304c\u4e0d\u6b63\u3067\u3059\u3002
 
 agent.err.invalid.jmxremote.port   = com.sun.management.jmxremote.port \u306e\u756a\u53f7\u304c\u4e0d\u6b63\u3067\u3059\u3002
 
+agent.err.file.not.set               = \u30d5\u30a1\u30a4\u30eb\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+agent.err.file.not.readable          = \u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u53d6\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002
+agent.err.file.read.failed           = \u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u53d6\u308a\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
+agent.err.file.not.found             = \u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
+agent.err.file.access.not.restricted = \u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u53d6\u308a\u30a2\u30af\u30bb\u30b9\u306f\u5236\u9650\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
+
 agent.err.password.file.notset     = \u30d1\u30b9\u30ef\u30fc\u30c9\u30d5\u30a1\u30a4\u30eb\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u304c\u3001com.sun.management.jmxremote.authenticate=true \u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059\u3002
 agent.err.password.file.not.readable = \u30d1\u30b9\u30ef\u30fc\u30c9\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u53d6\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002
 agent.err.password.file.read.failed = \u30d1\u30b9\u30ef\u30fc\u30c9\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u53d6\u308a\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
@@ -76,6 +82,7 @@
 jmxremote.ConnectorBootstrap.initialize.noAuthentication = \u8a8d\u8a3c\u306a\u3057
 jmxremote.ConnectorBootstrap.initialize.ready = JMX \u30b3\u30cd\u30af\u30bf\u306e\u6e96\u5099\u304c\u3067\u304d\u307e\u3057\u305f: {0}
 jmxremote.ConnectorBootstrap.initialize.password.readonly = \u30d1\u30b9\u30ef\u30fc\u30c9\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u53d6\u308a\u30a2\u30af\u30bb\u30b9\u306f\u5236\u9650\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059: {0}
+jmxremote.ConnectorBootstrap.initialize.file.readonly = \u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u53d6\u308a\u30a2\u30af\u30bb\u30b9\u306f\u5236\u9650\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059: {0}
 
 jmxremote.AdaptorBootstrap.getTargetList.processing = ACL \u3092\u51e6\u7406\u3057\u3066\u3044\u307e\u3059
 jmxremote.AdaptorBootstrap.getTargetList.adding = \u30bf\u30fc\u30b2\u30c3\u30c8\u3092\u8ffd\u52a0\u3057\u3066\u3044\u307e\u3059: {0}
--- a/jdk/src/share/classes/sun/management/resources/agent_ko.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/management/resources/agent_ko.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -46,6 +46,12 @@
 
 agent.err.invalid.jmxremote.port   = \uc798\ubabb\ub41c com.sun.management.jmxremote.port \ubc88\ud638
 
+agent.err.file.not.set               = \ud30c\uc77c\uc774 \uc9c0\uc815\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.
+agent.err.file.not.readable          = \ud30c\uc77c\uc744 \uc77d\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
+agent.err.file.read.failed           = \ud30c\uc77c\uc744 \uc77d\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4.
+agent.err.file.not.found             = \ud30c\uc77c\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
+agent.err.file.access.not.restricted = \ud30c\uc77c \uc77d\uae30 \uc561\uc138\uc2a4\ub294 \uc81c\ud55c\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.
+
 agent.err.password.file.notset     = com.sun.management.jmxremote.authenticate=true\ub97c \uc81c\uc678\ud55c \ube44\ubc00\ubc88\ud638 \ud30c\uc77c\uc774 \uc9c0\uc815\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.
 agent.err.password.file.not.readable = \ube44\ubc00\ubc88\ud638 \ud30c\uc77c\uc744 \uc77d\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
 agent.err.password.file.read.failed = \ube44\ubc00\ubc88\ud638 \ud30c\uc77c\uc744 \uc77d\ub294 \ub370 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
@@ -76,6 +82,7 @@
 jmxremote.ConnectorBootstrap.initialize.noAuthentication = \uc778\uc99d \uc5c6\uc74c
 jmxremote.ConnectorBootstrap.initialize.ready = \ub2e4\uc74c\uc5d0\uc11c JMX \ucee4\ub125\ud130 \uc900\ube44: {0}
 jmxremote.ConnectorBootstrap.initialize.password.readonly = \ube44\ubc00\ubc88\ud638 \ud30c\uc77c \uc77d\uae30 \uc561\uc138\uc2a4\ub294 \uc81c\ud55c\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4. {0}
+jmxremote.ConnectorBootstrap.initialize.file.readonly = \ud30c\uc77c \uc77d\uae30 \uc561\uc138\uc2a4\ub294 \uc81c\ud55c\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4. {0}
 
 jmxremote.AdaptorBootstrap.getTargetList.processing = ACL \ucc98\ub9ac
 jmxremote.AdaptorBootstrap.getTargetList.adding = \ub300\uc0c1 \ucd94\uac00: {0}
--- a/jdk/src/share/classes/sun/management/resources/agent_sv.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/management/resources/agent_sv.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -46,6 +46,12 @@
 
 agent.err.invalid.jmxremote.port   = Ogiltigt com.sun.management.jmxremote.port-nummer
 
+agent.err.file.not.set               = Filen har inte angetts.
+agent.err.file.not.readable          = Filen g\u00e5r inte att l\u00e4sa.
+agent.err.file.read.failed           = Det gick inte att l\u00e4sa filen
+agent.err.file.not.found             = Filen hittades inte
+agent.err.file.access.not.restricted = L\u00e4sbeh\u00f6righeten f\u00f6r filen m\u00e5ste begr\u00e4nsas
+
 agent.err.password.file.notset     = L\u00f6senordsfilen har inte angetts men com.sun.management.jmxremote.authenticate=true
 agent.err.password.file.not.readable = L\u00f6senordsfilen \u00e4r inte l\u00e4sbar
 agent.err.password.file.read.failed = Det g\u00e5r inte att l\u00e4sa l\u00f6senordsfilen
@@ -76,6 +82,7 @@
 jmxremote.ConnectorBootstrap.initialize.noAuthentication = Ingen autentisering
 jmxremote.ConnectorBootstrap.initialize.ready = JMX Connector redo p\u00e5: {0}
 jmxremote.ConnectorBootstrap.initialize.password.readonly = L\u00e4sbeh\u00f6righeten f\u00f6r l\u00f6senordsfilen m\u00e5ste begr\u00e4nsas: {0}
+jmxremote.ConnectorBootstrap.initialize.file.readonly = L\u00e4sbeh\u00f6righeten f\u00f6r filen m\u00e5ste begr\u00e4nsas: {0}
 
 jmxremote.AdaptorBootstrap.getTargetList.processing = ACL bearbetas
 jmxremote.AdaptorBootstrap.getTargetList.adding = M\u00e5l l\u00e4ggs till: {0}
--- a/jdk/src/share/classes/sun/management/resources/agent_zh_CN.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/management/resources/agent_zh_CN.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -1,6 +1,6 @@
 #
 #
-# Copyright 2004-2007 Sun Microsystems, Inc.  All Rights Reserved.
+# Copyright 2004-2005 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
@@ -46,6 +46,12 @@
 
 agent.err.invalid.jmxremote.port   = com.sun.management.jmxremote.port \u7f16\u53f7\u65e0\u6548
 
+agent.err.file.not.set               = \u672a\u6307\u5b9a\u6587\u4ef6
+agent.err.file.not.readable          = \u65e0\u6cd5\u8bfb\u53d6\u6587\u4ef6
+agent.err.file.read.failed           = \u8bfb\u53d6\u6587\u4ef6\u5931\u8d25
+agent.err.file.not.found             = \u627e\u4e0d\u5230\u6587\u4ef6
+agent.err.file.access.not.restricted = \u5fc5\u987b\u9650\u5236\u6587\u4ef6\u8bfb\u53d6\u8bbf\u95ee
+
 agent.err.password.file.notset     = \u672a\u6307\u5b9a\u53e3\u4ee4\u6587\u4ef6\uff0c\u4f46 com.sun.management.jmxremote.authenticate=true
 agent.err.password.file.not.readable = \u65e0\u6cd5\u8bfb\u53d6\u53e3\u4ee4\u6587\u4ef6
 agent.err.password.file.read.failed = \u8bfb\u53d6\u53e3\u4ee4\u6587\u4ef6\u5931\u8d25
@@ -76,6 +82,7 @@
 jmxremote.ConnectorBootstrap.initialize.noAuthentication = \u65e0\u9a8c\u8bc1
 jmxremote.ConnectorBootstrap.initialize.ready = \u4f4d\u4e8e {0} \u7684 JMX \u8fde\u63a5\u5668\u5c31\u7eea
 jmxremote.ConnectorBootstrap.initialize.password.readonly = \u5fc5\u987b\u9650\u5236\u53e3\u4ee4\u6587\u4ef6\u8bfb\u53d6\u8bbf\u95ee\uff1a{0}
+jmxremote.ConnectorBootstrap.initialize.file.readonly = \u5fc5\u987b\u9650\u5236\u6587\u4ef6\u8bfb\u53d6\u8bbf\u95ee\uff1a{0}
 
 jmxremote.AdaptorBootstrap.getTargetList.processing = \u6b63\u5728\u5904\u7406 ACL
 jmxremote.AdaptorBootstrap.getTargetList.adding = \u6b63\u5728\u6dfb\u52a0\u76ee\u6807\uff1a{0}
--- a/jdk/src/share/classes/sun/management/resources/agent_zh_TW.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/management/resources/agent_zh_TW.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -46,6 +46,12 @@
 
 agent.err.invalid.jmxremote.port   = com.sun.management.jmxremote.port \u7de8\u865f\u7121\u6548
 
+agent.err.file.not.set               = \u672a\u6307\u5b9a\u6a94\u6848
+agent.err.file.not.readable          = \u6a94\u6848\u4e0d\u53ef\u8b80
+agent.err.file.read.failed           = \u7121\u6cd5\u8b80\u53d6\u6a94\u6848
+agent.err.file.not.found             = \u627e\u4e0d\u5230\u6a94\u6848
+agent.err.file.access.not.restricted = \u5fc5\u9808\u9650\u5236\u6a94\u6848\u8b80\u53d6\u5b58\u53d6
+
 agent.err.password.file.notset     = \u672a\u6307\u5b9a\u5bc6\u78bc\u6a94\u6848\uff0c\u4f46 com.sun.management.jmxremote.authenticate=true
 agent.err.password.file.not.readable = \u5bc6\u78bc\u6a94\u6848\u4e0d\u53ef\u8b80
 agent.err.password.file.read.failed = \u7121\u6cd5\u8b80\u53d6\u5bc6\u78bc\u6a94\u6848
@@ -76,6 +82,7 @@
 jmxremote.ConnectorBootstrap.initialize.noAuthentication = \u7121\u8a8d\u8b49
 jmxremote.ConnectorBootstrap.initialize.ready = JMX \u9023\u63a5\u5668\u5c31\u7dd2\uff0c\u4f4d\u65bc\ufe30{0}
 jmxremote.ConnectorBootstrap.initialize.password.readonly = \u5fc5\u9808\u9650\u5236\u5bc6\u78bc\u6a94\u6848\u8b80\u53d6\u5b58\u53d6\ufe30{0}
+jmxremote.ConnectorBootstrap.initialize.file.readonly = \u5fc5\u9808\u9650\u5236\u6a94\u6848\u8b80\u53d6\u5b58\u53d6: {0}
 
 jmxremote.AdaptorBootstrap.getTargetList.processing = \u6b63\u5728\u8655\u7406 ACL
 jmxremote.AdaptorBootstrap.getTargetList.adding = \u6b63\u5728\u589e\u52a0\u76ee\u6a19\ufe30{0}
--- a/jdk/src/share/classes/sun/misc/SharedSecrets.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/misc/SharedSecrets.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 2002-2009 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 2002-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,7 @@
 import java.io.Console;
 import java.io.File;
 import java.io.FileDescriptor;
+import java.security.ProtectionDomain;
 
 /** A repository of "shared secrets", which are a mechanism for
     calling implementation-private methods in another package without
@@ -121,6 +122,8 @@
 
     public static JavaSecurityProtectionDomainAccess
         getJavaSecurityProtectionDomainAccess() {
+            if (javaSecurityProtectionDomainAccess == null)
+                unsafe.ensureClassInitialized(ProtectionDomain.class);
             return javaSecurityProtectionDomainAccess;
     }
 }
--- a/jdk/src/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 2005-2006 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
@@ -77,26 +77,34 @@
                             if (DEBUG) err.printStackTrace();
                             return null;
                         }
-                        String gssLib = System.getProperty(LIB_PROP);
-                        if (gssLib == null || gssLib.trim().equals("")) {
+                        String gssLibs[] = new String[0];
+                        String defaultLib = System.getProperty(LIB_PROP);
+                        if (defaultLib == null || defaultLib.trim().equals("")) {
                             String osname = System.getProperty("os.name");
                             if (osname.startsWith("SunOS")) {
-                                gssLib = "libgss.so";
+                                gssLibs = new String[]{ "libgss.so" };
                             } else if (osname.startsWith("Linux")) {
-                                gssLib = "libgssapi.so";
+                                gssLibs = new String[]{
+                                    "libgssapi.so",
+                                    "libgssapi_krb5.so",
+                                };
                             }
+                        } else {
+                            gssLibs = new String[]{ defaultLib };
                         }
-                        if (GSSLibStub.init(gssLib)) {
-                            debug("Loaded GSS library: " + gssLib);
-                            Oid[] mechs = GSSLibStub.indicateMechs();
-                            HashMap<String, String> map =
-                                        new HashMap<String, String>();
-                            for (int i = 0; i < mechs.length; i++) {
-                                debug("Native MF for " + mechs[i]);
-                                map.put("GssApiMechanism." + mechs[i],
-                                        MF_CLASS);
+                        for (String libName: gssLibs) {
+                            if (GSSLibStub.init(libName)) {
+                                debug("Loaded GSS library: " + libName);
+                                Oid[] mechs = GSSLibStub.indicateMechs();
+                                HashMap<String, String> map =
+                                            new HashMap<String, String>();
+                                for (int i = 0; i < mechs.length; i++) {
+                                    debug("Native MF for " + mechs[i]);
+                                    map.put("GssApiMechanism." + mechs[i],
+                                            MF_CLASS);
+                                }
+                                return map;
                             }
-                            return map;
                         }
                         return null;
                     }
--- a/jdk/src/share/classes/sun/security/pkcs11/P11Cipher.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/security/pkcs11/P11Cipher.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 2003-2008 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 2003-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
@@ -192,7 +192,6 @@
             // should not happen
             throw new ProviderException(nspe);
         }
-        session = token.getOpSession();
     }
 
     protected void engineSetMode(String mode) throws NoSuchAlgorithmException {
@@ -847,18 +846,6 @@
         return n;
     }
 
-    @Override
-    protected void finalize() throws Throwable {
-        try {
-            if ((session != null) && token.isValid()) {
-                cancelOperation();
-                session = token.releaseSession(session);
-            }
-        } finally {
-            super.finalize();
-        }
-    }
-
     private final void bufferInputBytes(byte[] in, int inOfs, int len) {
         System.arraycopy(in, inOfs, padBuffer, padBufferLen, len);
         padBufferLen += len;
--- a/jdk/src/share/classes/sun/security/pkcs11/P11Digest.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/security/pkcs11/P11Digest.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 2003-2005 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 2003-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
@@ -308,16 +308,4 @@
             throw new ProviderException("update() failed", e);
         }
     }
-
-    protected void finalize() throws Throwable {
-        try {
-            if ((session != null) && token.isValid()) {
-                cancelOperation();
-                session = token.releaseSession(session);
-            }
-        } finally {
-            super.finalize();
-        }
-    }
-
 }
--- a/jdk/src/share/classes/sun/security/pkcs11/P11Key.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/security/pkcs11/P11Key.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 2003-2009 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 2003-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
@@ -85,7 +85,7 @@
     // flags indicating whether the key is a token object, sensitive, extractable
     final boolean tokenObject, sensitive, extractable;
 
-    // weak reference notification clean up for session keys
+    // phantom reference notification clean up for session keys
     private final SessionKeyRef sessionKeyRef;
 
     P11Key(String type, Session session, long keyID, String algorithm,
@@ -1051,7 +1051,12 @@
     }
 }
 
-final class SessionKeyRef extends WeakReference<P11Key>
+/*
+ * NOTE: Must use PhantomReference here and not WeakReference
+ * otherwise the key maybe cleared before other objects which
+ * still use these keys during finalization such as SSLSocket.
+ */
+final class SessionKeyRef extends PhantomReference<P11Key>
     implements Comparable<SessionKeyRef> {
     private static ReferenceQueue<P11Key> refQueue =
         new ReferenceQueue<P11Key>();
@@ -1062,14 +1067,11 @@
         return refQueue;
     }
 
-    static final private int MAX_ITERATIONS = 2;
-
     private static void drainRefQueueBounded() {
-        int iterations = 0;
-        while (iterations < MAX_ITERATIONS) {
+        while (true) {
             SessionKeyRef next = (SessionKeyRef) refQueue.poll();
-            if (next != null) next.dispose();
-            ++iterations;
+            if (next == null) break;
+            next.dispose();
         }
     }
 
@@ -1087,7 +1089,7 @@
         drainRefQueueBounded();
     }
 
-    void dispose() {
+    private void dispose() {
         refList.remove(this);
         if (session.token.isValid()) {
             Session newSession = null;
@@ -1097,6 +1099,7 @@
             } catch (PKCS11Exception e) {
                 // ignore
             } finally {
+                this.clear();
                 session.token.releaseSession(newSession);
                 session.removeObject();
             }
--- a/jdk/src/share/classes/sun/security/pkcs11/P11Mac.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/security/pkcs11/P11Mac.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 2003-2007 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 2003-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
@@ -263,16 +263,4 @@
             throw new ProviderException("update() failed", e);
         }
     }
-
-    protected void finalize() throws Throwable {
-        try {
-            if ((session != null) && token.isValid()) {
-                cancelOperation();
-                session = token.releaseSession(session);
-            }
-        } finally {
-            super.finalize();
-        }
-    }
-
 }
--- a/jdk/src/share/classes/sun/security/pkcs11/P11RSACipher.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/security/pkcs11/P11RSACipher.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 2003-2009 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 2003-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
@@ -485,18 +485,6 @@
         int n = P11KeyFactory.convertKey(token, key, algorithm).keyLength();
         return n;
     }
-
-    protected void finalize() throws Throwable {
-        try {
-            if ((session != null) && token.isValid()) {
-                cancelOperation();
-                session = token.releaseSession(session);
-            }
-        } finally {
-            super.finalize();
-        }
-    }
-
 }
 
 final class ConstructKeys {
--- a/jdk/src/share/classes/sun/security/pkcs11/P11Signature.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/security/pkcs11/P11Signature.java	Wed Jul 05 17:10:46 2017 +0200
@@ -226,7 +226,6 @@
         this.buffer = buffer;
         this.digestOID = digestOID;
         this.md = md;
-        session = token.getOpSession();
     }
 
     private void ensureInitialized() {
@@ -732,16 +731,4 @@
             throws InvalidParameterException {
         throw new UnsupportedOperationException("getParameter() not supported");
     }
-
-    protected void finalize() throws Throwable {
-        try {
-            if ((session != null) && token.isValid()) {
-                cancelOperation();
-                session = token.releaseSession(session);
-            }
-        } finally {
-            super.finalize();
-        }
-    }
-
 }
--- a/jdk/src/share/classes/sun/security/pkcs11/Session.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/security/pkcs11/Session.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 2003-2005 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 2003-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
@@ -25,6 +25,7 @@
 
 package sun.security.pkcs11;
 
+import java.lang.ref.*;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 
@@ -59,11 +60,14 @@
     // this could lead to idle sessions being closed early, but that is harmless
     private long lastAccess;
 
+    private final SessionRef sessionRef;
+
     Session(Token token, long id) {
         this.token = token;
         this.id = id;
         createdObjects = new AtomicInteger();
         id();
+        sessionRef = new SessionRef(this, id, token);
     }
 
     public int compareTo(Session other) {
@@ -108,4 +112,76 @@
         return createdObjects.get() != 0;
     }
 
+    void close() {
+        if (hasObjects()) {
+            throw new ProviderException(
+                "Internal error: close session with active objects");
+        }
+        sessionRef.dispose();
+    }
 }
+
+/*
+ * NOTE: Use PhantomReference here and not WeakReference
+ * otherwise the sessions maybe closed before other objects
+ * which are still being finalized.
+ */
+final class SessionRef extends PhantomReference<Session>
+        implements Comparable<SessionRef> {
+
+    private static ReferenceQueue<Session> refQueue =
+        new ReferenceQueue<Session>();
+
+    private static Set<SessionRef> refList =
+        Collections.synchronizedSortedSet(new TreeSet<SessionRef>());
+
+    static ReferenceQueue<Session> referenceQueue() {
+        return refQueue;
+    }
+
+    static int totalCount() {
+        return refList.size();
+    }
+
+    private static void drainRefQueueBounded() {
+        while (true) {
+            SessionRef next = (SessionRef) refQueue.poll();
+            if (next == null) break;
+            next.dispose();
+        }
+    }
+
+    // handle to the native session
+    private long id;
+    private Token token;
+
+    SessionRef(Session session, long id, Token token) {
+        super(session, refQueue);
+        this.id = id;
+        this.token = token;
+        refList.add(this);
+        // TBD: run at some interval and not every time?
+        drainRefQueueBounded();
+    }
+
+    void dispose() {
+        refList.remove(this);
+        try {
+            token.p11.C_CloseSession(id);
+        } catch (PKCS11Exception e1) {
+            // ignore
+        } catch (ProviderException e2) {
+            // ignore
+        } finally {
+            this.clear();
+        }
+    }
+
+    public int compareTo(SessionRef other) {
+        if (this.id == other.id) {
+            return 0;
+        } else {
+            return (this.id < other.id) ? -1 : 1;
+        }
+    }
+}
--- a/jdk/src/share/classes/sun/security/pkcs11/SessionManager.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/security/pkcs11/SessionManager.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 2003-2006 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 2003-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,10 +51,12 @@
  * number of such sessions low. Note that we occasionally want to explicitly
  * close a session, see P11Signature.
  *
- * NOTE that all sessions obtained from this class MUST be returned using
- * either releaseSession() or closeSession() using a finally block or a
- * finalizer where appropriate. Otherwise, they will be "lost", i.e. there
- * will be a resource leak eventually leading to exhaustion.
+ * NOTE that sessions obtained from this class SHOULD be returned using
+ * either releaseSession() or closeSession() using a finally block when
+ * not needed anymore. Otherwise, they will be left for cleanup via the
+ * PhantomReference mechanism when GC kicks in, but it's best not to rely
+ * on that since GC may not run timely enough since the native PKCS11 library
+ * is also consuming memory.
  *
  * Note that sessions are automatically closed when they are not used for a
  * period of time, see Session.
@@ -74,9 +76,6 @@
     // maximum number of sessions to open with this token
     private final int maxSessions;
 
-    // total number of active sessions
-    private int activeSessions;
-
     // pool of available object sessions
     private final Pool objSessions;
 
@@ -116,6 +115,11 @@
         return (maxSessions <= DEFAULT_MAX_SESSIONS);
     }
 
+    // returns the total number of active sessions
+    int totalSessionCount() {
+        return SessionRef.totalCount();
+    }
+
     synchronized Session getObjSession() throws PKCS11Exception {
         Session session = objSessions.poll();
         if (session != null) {
@@ -136,7 +140,8 @@
         }
         // create a new session rather than re-using an obj session
         // that avoids potential expensive cancels() for Signatures & RSACipher
-        if (activeSessions < maxSessions) {
+        if (maxSessions == Integer.MAX_VALUE ||
+                totalSessionCount() < maxSessions) {
             session = openSession();
             return ensureValid(session);
         }
@@ -159,14 +164,10 @@
         if (debug != null) {
             String location = new Exception().getStackTrace()[2].toString();
             System.out.println("Killing session (" + location + ") active: "
-                + activeSessions);
+                + totalSessionCount());
         }
-        try {
-            closeSession(session);
-            return null;
-        } catch (PKCS11Exception e) {
-            throw new ProviderException(e);
-        }
+        closeSession(session);
+        return null;
     }
 
     synchronized Session releaseSession(Session session) {
@@ -187,7 +188,8 @@
             return;
         }
         if (debug != null) {
-            System.out.println("Demoting session, active: " + activeSessions);
+            System.out.println("Demoting session, active: " +
+                totalSessionCount());
         }
         boolean present = objSessions.remove(session);
         if (present == false) {
@@ -199,16 +201,17 @@
     }
 
     private Session openSession() throws PKCS11Exception {
-        if (activeSessions >= maxSessions) {
+        if ((maxSessions != Integer.MAX_VALUE) &&
+                (totalSessionCount() >= maxSessions)) {
             throw new ProviderException("No more sessions available");
         }
         long id = token.p11.C_OpenSession
                     (token.provider.slotID, openSessionFlags, null, null);
         Session session = new Session(token, id);
-        activeSessions++;
         if (debug != null) {
-            if (activeSessions > maxActiveSessions) {
-                maxActiveSessions = activeSessions;
+            int currTotal = totalSessionCount();
+            if (currTotal > maxActiveSessions) {
+                maxActiveSessions = currTotal;
                 if (maxActiveSessions % 10 == 0) {
                     System.out.println("Open sessions: " + maxActiveSessions);
                 }
@@ -217,13 +220,8 @@
         return session;
     }
 
-    private void closeSession(Session session) throws PKCS11Exception {
-        if (session.hasObjects()) {
-            throw new ProviderException
-                ("Internal error: close session with active objects");
-        }
-        token.p11.C_CloseSession(session.id());
-        activeSessions--;
+    private void closeSession(Session session) {
+        session.close();
     }
 
     private static final class Pool {
@@ -267,28 +265,20 @@
             }
             Collections.sort(pool);
             int i = 0;
-            PKCS11Exception exc = null;
             while (i < n - 1) { // always keep at least 1 session open
                 oldestSession = pool.get(i);
                 if (oldestSession.isLive(time)) {
                     break;
                 }
                 i++;
-                try {
-                    mgr.closeSession(oldestSession);
-                } catch (PKCS11Exception e) {
-                    exc = e;
-                }
+                mgr.closeSession(oldestSession);
             }
             if (debug != null) {
                 System.out.println("Closing " + i + " idle sessions, active: "
-                        + mgr.activeSessions);
+                        + mgr.totalSessionCount());
             }
             List<Session> subList = pool.subList(0, i);
             subList.clear();
-            if (exc != null) {
-                throw new ProviderException(exc);
-            }
         }
 
     }
--- a/jdk/src/share/classes/sun/security/pkcs11/wrapper/PKCS11Exception.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/security/pkcs11/wrapper/PKCS11Exception.java	Wed Jul 05 17:10:46 2017 +0200
@@ -148,6 +148,7 @@
             0x00000115,
             0x00000120,
             0x00000121,
+            0x00000130,
             0x00000150,
             0x00000160,
             0x00000170,
@@ -156,6 +157,7 @@
             0x00000191,
             0x000001A0,
             0x000001A1,
+            0x00000200,
             0x80000000,
         };
         String[] errorMessages = new String[] {
@@ -234,6 +236,7 @@
             "CKR_WRAPPING_KEY_TYPE_INCONSISTENT",
             "CKR_RANDOM_SEED_NOT_SUPPORTED",
             "CKR_RANDOM_NO_RNG",
+            "CKR_DOMAIN_PARAMS_INVALID",
             "CKR_BUFFER_TOO_SMALL",
             "CKR_SAVED_STATE_INVALID",
             "CKR_INFORMATION_SENSITIVE",
@@ -242,6 +245,7 @@
             "CKR_CRYPTOKI_ALREADY_INITIALIZED",
             "CKR_MUTEX_BAD",
             "CKR_MUTEX_NOT_LOCKED",
+            "CKR_FUNCTION_REJECTED",
             "CKR_VENDOR_DEFINED",
         };
         errorMap = new HashMap<Long,String>();
--- a/jdk/src/share/classes/sun/security/smartcardio/CardImpl.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/security/smartcardio/CardImpl.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 2005-2006 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
@@ -214,7 +214,7 @@
             SCardEndTransaction(cardId, SCARD_LEAVE_CARD);
         } catch (PCSCException e) {
             handleError(e);
-            throw new CardException("beginExclusive() failed", e);
+            throw new CardException("endExclusive() failed", e);
         } finally {
             exclusiveThread = null;
         }
--- a/jdk/src/share/classes/sun/security/tools/JarSignerResources_ja.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/security/tools/JarSignerResources_ja.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 2001-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
@@ -54,8 +54,8 @@
                  "\u30ad\u30fc\u30b9\u30c8\u30a2\u304c\u30d1\u30b9\u30ef\u30fc\u30c9\u3067\u4fdd\u8b77\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408 -storepass \u304a\u3088\u3073 -keypass \u3092\u6307\u5b9a\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044"},
         {"Usage: jarsigner [options] jar-file alias",
                 "\u4f7f\u3044\u65b9: jarsigner [options] jar-file alias"},
-        {"       jarsigner -verify [options] jar-file",
-                "       jarsigner -verify [options] jar-file"},
+        {"       jarsigner -verify [options] jar-file [alias...]",
+                "       jarsigner -verify [options] jar-file [alias...]"},
         {"[-keystore <url>]           keystore location",
                 "[-keystore <url>]           \u30ad\u30fc\u30b9\u30c8\u30a2\u306e\u4f4d\u7f6e"},
         {"[-storepass <password>]     password for keystore integrity",
@@ -64,6 +64,8 @@
                 "[-storetype <type>]         \u30ad\u30fc\u30b9\u30c8\u30a2\u306e\u578b"},
         {"[-keypass <password>]       password for private key (if different)",
                 "[-keypass <password>]       \u975e\u516c\u958b\u9375\u306e\u30d1\u30b9\u30ef\u30fc\u30c9 (\u7570\u306a\u308b\u5834\u5408)"},
+        {"[-certchain <file>]         name of alternative certchain file",
+                "[-certchain <file>]         \u4ee3\u66ff\u8a3c\u660e\u9023\u9396\u30d5\u30a1\u30a4\u30eb\u306e\u540d\u524d"},
         {"[-sigfile <file>]           name of .SF/.DSA file",
                 "[-sigfile <file>]           .SF/.DSA \u30d5\u30a1\u30a4\u30eb\u306e\u540d\u524d"},
         {"[-signedjar <file>]         name of signed JAR file",
@@ -74,8 +76,10 @@
                 "[-sigalg <algorithm>]       \u7f72\u540d\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306e\u540d\u524d"},
         {"[-verify]                   verify a signed JAR file",
                 "[-verify]                   \u7f72\u540d\u4ed8\u304d JAR \u30d5\u30a1\u30a4\u30eb\u306e\u691c\u8a3c"},
-        {"[-verbose]                  verbose output when signing/verifying",
-                "[-verbose]                  \u7f72\u540d/\u691c\u8a3c\u6642\u306e\u8a73\u7d30\u51fa\u529b"},
+        {"[-verbose[:suboptions]]     verbose output when signing/verifying.",
+                "[-verbose[:suboptions]]     \u7f72\u540d/\u691c\u8a3c\u6642\u306e\u8a73\u7d30\u51fa\u529b"},
+        {"                            suboptions can be all, grouped or summary",
+                "                            \u30b5\u30d6\u30aa\u30d7\u30b7\u30e7\u30f3\u306f all\u3001grouped\u3001\u307e\u305f\u306f summary \u3067\u3059"},
         {"[-certs]                    display certificates when verbose and verifying",
                 "[-certs]                    \u8a73\u7d30\u51fa\u529b\u304a\u3088\u3073\u691c\u8a3c\u6642\u306b\u8a3c\u660e\u66f8\u3092\u8868\u793a"},
         {"[-tsa <url>]                location of the Timestamping Authority",
@@ -98,10 +102,22 @@
                 "[-providerClass <class>     \u6697\u53f7\u5316\u30b5\u30fc\u30d3\u30b9\u30d7\u30ed\u30d0\u30a4\u30c0\u306e\u540d\u524d"},
         {"  [-providerArg <arg>]] ... master class file and constructor argument",
                 "  [-providerArg <arg>]] ... \u30de\u30b9\u30bf\u30fc\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3068\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306e\u5f15\u6570"},
+        {"[-strict]                   treat warnings as errors",
+                "[-strict]                   \u8b66\u544a\u3092\u30a8\u30e9\u30fc\u3068\u3057\u3066\u53d6\u308a\u6271\u3044\u307e\u3059"},
+        {"Option lacks argument", "\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u5f15\u6570\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
+        {"Please type jarsigner -help for usage", "\u4f7f\u3044\u65b9\u3092\u898b\u308b\u306b\u306f jarsigner -help \u3068\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
+        {"Please specify jarfile name", "jar \u30d5\u30a1\u30a4\u30eb\u540d\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
+        {"Please specify alias name", "\u5225\u540d\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
+        {"Only one alias can be specified", "\u6307\u5b9a\u3067\u304d\u308b\u5225\u540d\u306f 1 \u3064\u3060\u3051\u3067\u3059\u3002"},
+        {"This jar contains signed entries which is not signed by the specified alias(es).",
+                 "\u3053\u306e jar \u306b\u542b\u307e\u308c\u3066\u3044\u308b\u7f72\u540d\u6e08\u307f\u30a8\u30f3\u30c8\u30ea\u306f\u3001\u6307\u5b9a\u3055\u308c\u305f\u5225\u540d\u3067\u7f72\u540d\u3055\u308c\u305f\u3082\u306e\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},
+        {"This jar contains signed entries that's not signed by alias in this keystore.",
+                  "\u3053\u306e jar \u306b\u542b\u307e\u308c\u3066\u3044\u308b\u7f72\u540d\u6e08\u307f\u30a8\u30f3\u30c8\u30ea\u306f\u3001\u3053\u306e\u30ad\u30fc\u30b9\u30c8\u30a2\u3067\u7f72\u540d\u3055\u308c\u305f\u3082\u306e\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},
         {"s", "s"},
         {"m", "m"},
         {"k", "k"},
         {"i", "i"},
+        {"(and %d more)", "(\u3055\u3089\u306b %d)"},
         {"  s = signature was verified ",
                 "  s = \u7f72\u540d\u304c\u691c\u8a3c\u3055\u308c\u307e\u3057\u305f\u3002"},
         {"  m = entry is listed in manifest",
@@ -110,7 +126,11 @@
                 "  k = 1 \u3064\u4ee5\u4e0a\u306e\u8a3c\u660e\u66f8\u304c\u30ad\u30fc\u30b9\u30c8\u30a2\u3067\u691c\u51fa\u3055\u308c\u307e\u3057\u305f\u3002"},
         {"  i = at least one certificate was found in identity scope",
                 "  i = 1 \u3064\u4ee5\u4e0a\u306e\u8a3c\u660e\u66f8\u304c\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u30b9\u30b3\u30fc\u30d7\u3067\u691c\u51fa\u3055\u308c\u307e\u3057\u305f\u3002"},
+        {"  X = not signed by specified alias(es)",
+                "X = \u6307\u5b9a\u3055\u308c\u305f\u5225\u540d\u3067\u7f72\u540d\u3055\u308c\u305f\u3082\u306e\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},
         {"no manifest.", "\u30de\u30cb\u30d5\u30a7\u30b9\u30c8\u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002"},
+        {"(Signature related entries)","(\u7f72\u540d\u306b\u95a2\u9023\u3059\u308b\u30a8\u30f3\u30c8\u30ea)"},
+        {"(Unsigned entries)", "(\u7f72\u540d\u3055\u308c\u3066\u3044\u306a\u3044\u30a8\u30f3\u30c8\u30ea)"},
         {"jar is unsigned. (signatures missing or not parsable)",
                 "jar \u306f\u7f72\u540d\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002(\u7f72\u540d\u304c\u898b\u3064\u304b\u3089\u306a\u3044\u304b\u3001\u69cb\u6587\u89e3\u6790\u3067\u304d\u307e\u305b\u3093)"},
         {"jar verified.", "jar \u304c\u691c\u8a3c\u3055\u308c\u307e\u3057\u305f\u3002"},
@@ -134,6 +154,12 @@
                 "\u30ad\u30fc\u30b9\u30c8\u30a2\u30af\u30e9\u30b9\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u751f\u6210\u3067\u304d\u307e\u305b\u3093: "},
         {"Certificate chain not found for: alias.  alias must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.",
                 "\u6b21\u306e\u8a3c\u660e\u9023\u9396\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093: {0}\u3002  {1} \u306f\u3001\u975e\u516c\u958b\u9375\u304a\u3088\u3073\u5bfe\u5fdc\u3059\u308b\u516c\u958b\u9375\u8a3c\u660e\u9023\u9396\u3092\u542b\u3080\u6709\u52b9\u306a KeyStore \u9375\u30a8\u30f3\u30c8\u30ea\u3092\u53c2\u7167\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002"},
+        {"File specified by -certchain does not exist",
+                "-certchain \u3067\u6307\u5b9a\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002"},
+        {"Cannot restore certchain from file specified",
+                "\u6307\u5b9a\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u8a3c\u660e\u9023\u9396\u3092\u5fa9\u5143\u3067\u304d\u307e\u305b\u3093\u3002"},
+        {"Certificate chain not found in the file specified.",
+                "\u6307\u5b9a\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u306b\u8a3c\u660e\u9023\u9396\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002"},
         {"found non-X.509 certificate in signer's chain",
                 "\u7f72\u540d\u8005\u306e\u9023\u9396\u5185\u3067\u975e X.509 \u8a3c\u660e\u66f8\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f\u3002"},
         {"incomplete certificate chain", "\u4e0d\u5b8c\u5168\u306a\u8a3c\u660e\u9023\u9396"},
@@ -149,6 +175,7 @@
         {"certificate is not valid until",
                 "\u8a3c\u660e\u66f8\u306f {0} \u307e\u3067\u6709\u52b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093"},
         {"certificate will expire on", "\u8a3c\u660e\u66f8\u306f {0} \u306b\u5931\u52b9\u3057\u307e\u3059"},
+        {"[CertPath not validated: ", "[CertPath \u304c\u691c\u8a3c\u3055\u308c\u3066\u3044\u307e\u305b\u3093:"},
         {"requesting a signature timestamp",
                 "\u7f72\u540d\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u306e\u8981\u6c42"},
         {"TSA location: ", "TSA \u306e\u5834\u6240: "},
@@ -189,14 +216,18 @@
                  "\u7f72\u540d\u8005\u8a3c\u660e\u66f8\u306e ExtendedKeyUsage \u62e1\u5f35\u6a5f\u80fd\u3067\u306f\u3001\u30b3\u30fc\u30c9\u7f72\u540d\u306f\u8a31\u53ef\u3055\u308c\u307e\u305b\u3093\u3002"},
         {"The signer certificate's NetscapeCertType extension doesn't allow code signing.",
                  "\u7f72\u540d\u8005\u8a3c\u660e\u66f8\u306e NetscapeCertType \u62e1\u5f35\u6a5f\u80fd\u3067\u306f\u3001\u30b3\u30fc\u30c9\u7f72\u540d\u306f\u8a31\u53ef\u3055\u308c\u307e\u305b\u3093\u3002"},
-         {"This jar contains entries whose signer certificate's KeyUsage extension doesn't allow code signing.",
-                  "\u3053\u306e jar \u306b\u306f\u3001\u7f72\u540d\u8005\u8a3c\u660e\u66f8\u306e KeyUsage \u62e1\u5f35\u6a5f\u80fd\u304c\u30b3\u30fc\u30c9\u7f72\u540d\u3092\u8a31\u53ef\u3057\u306a\u3044\u30a8\u30f3\u30c8\u30ea\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002"},
-         {"This jar contains entries whose signer certificate's ExtendedKeyUsage extension doesn't allow code signing.",
-                  "\u3053\u306e jar \u306b\u306f\u3001\u7f72\u540d\u8005\u8a3c\u660e\u66f8\u306e ExtendedKeyUsage \u62e1\u5f35\u6a5f\u80fd\u304c\u30b3\u30fc\u30c9\u7f72\u540d\u3092\u8a31\u53ef\u3057\u306a\u3044\u30a8\u30f3\u30c8\u30ea\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002"},
-         {"This jar contains entries whose signer certificate's NetscapeCertType extension doesn't allow code signing.",
-                  "\u3053\u306e jar \u306b\u306f\u3001\u7f72\u540d\u8005\u8a3c\u660e\u66f8\u306e NetscapeCertType \u62e1\u5f35\u6a5f\u80fd\u304c\u30b3\u30fc\u30c9\u7f72\u540d\u3092\u8a31\u53ef\u3057\u306a\u3044\u30a8\u30f3\u30c8\u30ea\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002"},
+        {"This jar contains entries whose signer certificate's KeyUsage extension doesn't allow code signing.",
+                 "\u3053\u306e jar \u306b\u306f\u3001\u7f72\u540d\u8005\u8a3c\u660e\u66f8\u306e KeyUsage \u62e1\u5f35\u6a5f\u80fd\u304c\u30b3\u30fc\u30c9\u7f72\u540d\u3092\u8a31\u53ef\u3057\u306a\u3044\u30a8\u30f3\u30c8\u30ea\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002"},
+        {"This jar contains entries whose signer certificate's ExtendedKeyUsage extension doesn't allow code signing.",
+                 "\u3053\u306e jar \u306b\u306f\u3001\u7f72\u540d\u8005\u8a3c\u660e\u66f8\u306e ExtendedKeyUsage \u62e1\u5f35\u6a5f\u80fd\u304c\u30b3\u30fc\u30c9\u7f72\u540d\u3092\u8a31\u53ef\u3057\u306a\u3044\u30a8\u30f3\u30c8\u30ea\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002"},
+        {"This jar contains entries whose signer certificate's NetscapeCertType extension doesn't allow code signing.",
+                 "\u3053\u306e jar \u306b\u306f\u3001\u7f72\u540d\u8005\u8a3c\u660e\u66f8\u306e NetscapeCertType \u62e1\u5f35\u6a5f\u80fd\u304c\u30b3\u30fc\u30c9\u7f72\u540d\u3092\u8a31\u53ef\u3057\u306a\u3044\u30a8\u30f3\u30c8\u30ea\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002"},
         {"[{0} extension does not support code signing]",
                  "[{0} \u62e1\u5f35\u6a5f\u80fd\u306f\u30b3\u30fc\u30c9\u7f72\u540d\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u305b\u3093]"},
+        {"The signer's certificate chain is not validated.",
+                "\u7f72\u540d\u8005\u306e\u8a3c\u660e\u9023\u9396\u304c\u691c\u8a3c\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
+        {"This jar contains entries whose certificate chain is not validated.",
+                 "\u3053\u306e jar \u306b\u306f\u8a3c\u660e\u9023\u9396\u304c\u691c\u8a3c\u3055\u308c\u3066\u3044\u306a\u3044\u30a8\u30f3\u30c8\u30ea\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002"},
     };
 
     /**
--- a/jdk/src/share/classes/sun/security/tools/JarSignerResources_zh_CN.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/security/tools/JarSignerResources_zh_CN.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 2005-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
@@ -51,11 +51,11 @@
         {"If -protected is specified, then -storepass and -keypass must not be specified",
                 "\u5982\u679c\u6307\u5b9a\u4e86 -protected\uff0c\u5219\u4e0d\u80fd\u6307\u5b9a -storepass \u548c -keypass"},
         {"If keystore is not password protected, then -storepass and -keypass must not be specified",
-"\u5982\u679c\u5bc6\u94a5\u5e93\u672a\u53d7\u5bc6\u7801\u4fdd\u62a4\uff0c\u5219\u8bf7\u52ff\u6307\u5b9a -storepass \u548c -keypass"},
+                 "\u5982\u679c\u5bc6\u94a5\u5e93\u672a\u53d7\u5bc6\u7801\u4fdd\u62a4\uff0c\u5219\u8bf7\u52ff\u6307\u5b9a -storepass \u548c -keypass"},
         {"Usage: jarsigner [options] jar-file alias",
                 "\u7528\u6cd5\uff1ajarsigner [\u9009\u9879] jar \u6587\u4ef6\u522b\u540d"},
-        {"       jarsigner -verify [options] jar-file",
-                "       jarsigner -verify [\u9009\u9879] jar \u6587\u4ef6"},
+        {"       jarsigner -verify [options] jar-file [alias...]",
+                "       jarsigner -verify [\u9009\u9879] jar \u6587\u4ef6 [\u522b\u540d...]"},
         {"[-keystore <url>]           keystore location",
                 "[-keystore <url>]           \u5bc6\u94a5\u5e93\u4f4d\u7f6e"},
         {"[-storepass <password>]     password for keystore integrity",
@@ -64,6 +64,8 @@
                 "[-storetype <\u7c7b\u578b>]         \u5bc6\u94a5\u5e93\u7c7b\u578b"},
         {"[-keypass <password>]       password for private key (if different)",
                 "[-keypass <\u53e3\u4ee4>]           \u4e13\u7528\u5bc6\u94a5\u7684\u53e3\u4ee4\uff08\u5982\u679c\u4e0d\u540c\uff09"},
+        {"[-certchain <file>]         name of alternative certchain file",
+                "[-certchain <\u6587\u4ef6>]         \u66ff\u4ee3\u8bc1\u4e66\u94fe\u6587\u4ef6\u7684\u540d\u79f0"},
         {"[-sigfile <file>]           name of .SF/.DSA file",
                 "[-sigfile <\u6587\u4ef6>]           .SF/.DSA \u6587\u4ef6\u7684\u540d\u79f0"},
         {"[-signedjar <file>]         name of signed JAR file",
@@ -74,8 +76,10 @@
                 "[-sigalg <\u7b97\u6cd5>]       \u7b7e\u540d\u7b97\u6cd5\u7684\u540d\u79f0"},
         {"[-verify]                   verify a signed JAR file",
                 "[-verify]                   \u9a8c\u8bc1\u5df2\u7b7e\u540d\u7684 JAR \u6587\u4ef6"},
-        {"[-verbose]                  verbose output when signing/verifying",
-                "[-verbose]                  \u7b7e\u540d/\u9a8c\u8bc1\u65f6\u8f93\u51fa\u8be6\u7ec6\u4fe1\u606f"},
+        {"[-verbose[:suboptions]]     verbose output when signing/verifying.",
+                "[-verbose[:\u5b50\u9009\u9879]]     \u7b7e\u540d/\u9a8c\u8bc1\u65f6\u8f93\u51fa\u8be6\u7ec6\u4fe1\u606f\u3002"},
+        {"                            suboptions can be all, grouped or summary",
+                "                            \u5b50\u9009\u9879\u53ef\u4ee5\u4e3a all\u3001grouped \u6216 summary"},
         {"[-certs]                    display certificates when verbose and verifying",
                 "[-certs]                    \u8f93\u51fa\u8be6\u7ec6\u4fe1\u606f\u548c\u9a8c\u8bc1\u65f6\u663e\u793a\u8bc1\u4e66"},
         {"[-tsa <url>]                location of the Timestamping Authority",
@@ -98,10 +102,22 @@
                 "[-providerClass <\u7c7b>        \u52a0\u5bc6\u670d\u52a1\u63d0\u4f9b\u8005\u7684\u540d\u79f0"},
         {"  [-providerArg <arg>]] ... master class file and constructor argument",
                 "  [-providerArg <\u53c2\u6570>]] ... \u4e3b\u7c7b\u6587\u4ef6\u548c\u6784\u9020\u51fd\u6570\u53c2\u6570"},
+        {"[-strict]                   treat warnings as errors",
+                "[-strict]                   \u5c06\u8b66\u544a\u89c6\u4e3a\u9519\u8bef"},
+        {"Option lacks argument", "\u9009\u9879\u7f3a\u5c11\u53c2\u6570"},
+        {"Please type jarsigner -help for usage", "\u6709\u5173\u7528\u6cd5\uff0c\u8bf7\u952e\u5165 jarsigner -help"},
+        {"Please specify jarfile name", "\u8bf7\u6307\u5b9a jarfile \u540d\u79f0"},
+        {"Please specify alias name", "\u8bf7\u6307\u5b9a\u522b\u540d"},
+        {"Only one alias can be specified", "\u53ea\u80fd\u6307\u5b9a\u4e00\u4e2a\u522b\u540d"},
+        {"This jar contains signed entries which is not signed by the specified alias(es).",
+                 "\u6b64 jar \u5305\u542b\u6307\u5b9a\u522b\u540d\u672a\u7b7e\u540d\u7684\u7b7e\u540d\u6761\u76ee\u3002"},
+        {"This jar contains signed entries that's not signed by alias in this keystore.",
+                  "\u6b64 jar \u5305\u542b\u6b64\u5bc6\u94a5\u5e93\u4e2d\u522b\u540d\u672a\u7b7e\u540d\u7684\u7b7e\u540d\u6761\u76ee\u3002"},
         {"s", "s"},
         {"m", "m"},
         {"k", "k"},
         {"i", "i"},
+        {"(and %d more)", "\uff08\u8fd8\u6709 %d\uff09"},
         {"  s = signature was verified ",
                 "  s = \u5df2\u9a8c\u8bc1\u7b7e\u540d "},
         {"  m = entry is listed in manifest",
@@ -110,7 +126,11 @@
                 "  k = \u5728\u5bc6\u94a5\u5e93\u4e2d\u81f3\u5c11\u627e\u5230\u4e86\u4e00\u4e2a\u8bc1\u4e66"},
         {"  i = at least one certificate was found in identity scope",
                 "  i = \u5728\u8eab\u4efd\u4f5c\u7528\u57df\u5185\u81f3\u5c11\u627e\u5230\u4e86\u4e00\u4e2a\u8bc1\u4e66"},
+        {"  X = not signed by specified alias(es)",
+                "  X = \u672a\u7ecf\u6307\u5b9a\u522b\u540d\u7b7e\u540d"},
         {"no manifest.", "\u6ca1\u6709\u6e05\u5355\u3002"},
+        {"(Signature related entries)","\uff08\u4e0e\u7b7e\u540d\u6709\u5173\u7684\u6761\u76ee\uff09"},
+        {"(Unsigned entries)", "\uff08\u672a\u7b7e\u540d\u7684\u6761\u76ee\uff09"},
         {"jar is unsigned. (signatures missing or not parsable)",
                 "jar \u672a\u7b7e\u540d\u3002\uff08\u7f3a\u5c11\u7b7e\u540d\u6216\u7b7e\u540d\u65e0\u6cd5\u89e3\u6790\uff09"},
         {"jar verified.", "jar \u5df2\u9a8c\u8bc1\u3002"},
@@ -134,6 +154,12 @@
                 "\u65e0\u6cd5\u5b9e\u4f8b\u5316\u5bc6\u94a5\u5e93\u7c7b\uff1a "},
         {"Certificate chain not found for: alias.  alias must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.",
                 "\u627e\u4e0d\u5230 {0} \u7684\u8bc1\u4e66\u94fe\u3002{1} \u5fc5\u987b\u5f15\u7528\u5305\u542b\u4e13\u7528\u5bc6\u94a5\u548c\u76f8\u5e94\u7684\u516c\u5171\u5bc6\u94a5\u8bc1\u4e66\u94fe\u7684\u6709\u6548\u5bc6\u94a5\u5e93\u5bc6\u94a5\u6761\u76ee\u3002"},
+        {"File specified by -certchain does not exist",
+                "-certchain \u6307\u5b9a\u7684\u6587\u4ef6\u4e0d\u5b58\u5728"},
+        {"Cannot restore certchain from file specified",
+                "\u65e0\u6cd5\u4ece\u6307\u5b9a\u6587\u4ef6\u6062\u590d\u8bc1\u4e66\u94fe"},
+        {"Certificate chain not found in the file specified.",
+                "\u5728\u6307\u5b9a\u6587\u4ef6\u4e2d\u672a\u627e\u5230\u8bc1\u4e66\u94fe\u3002"},
         {"found non-X.509 certificate in signer's chain",
                 "\u5728\u7b7e\u540d\u8005\u7684\u94fe\u4e2d\u627e\u5230\u975e X.509 \u8bc1\u4e66"},
         {"incomplete certificate chain", "\u8bc1\u4e66\u94fe\u4e0d\u5b8c\u6574"},
@@ -149,6 +175,7 @@
         {"certificate is not valid until",
                 "\u76f4\u5230 {0}\uff0c\u8bc1\u4e66\u624d\u6709\u6548"},
         {"certificate will expire on", "\u8bc1\u4e66\u5c06\u5728 {0} \u5230\u671f"},
+        {"[CertPath not validated: ", "[\u8bc1\u4e66\u8def\u5f84\u672a\u7ecf\u8fc7\u9a8c\u8bc1\uff1a"},
         {"requesting a signature timestamp",
                 "\u6b63\u5728\u8bf7\u6c42\u7b7e\u540d\u65f6\u95f4\u6233"},
         {"TSA location: ", "TSA \u4f4d\u7f6e\uff1a "},
@@ -184,19 +211,23 @@
         {"The signer certificate is not yet valid.",
                 "\u7b7e\u540d\u8005\u8bc1\u4e66\u4ecd\u65e0\u6548\u3002"},
         {"The signer certificate's KeyUsage extension doesn't allow code signing.",
-"\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 KeyUsage \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u3002"},
+                 "\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 KeyUsage \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u3002"},
         {"The signer certificate's ExtendedKeyUsage extension doesn't allow code signing.",
-"\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 ExtendedKeyUsage \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u3002"},
+                 "\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 ExtendedKeyUsage \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u3002"},
         {"The signer certificate's NetscapeCertType extension doesn't allow code signing.",
-"\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 NetscapeCertType \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u3002"},
-         {"This jar contains entries whose signer certificate's KeyUsage extension doesn't allow code signing.",
-"\u6b64 jar \u5305\u542b\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 KeyUsage \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u7684\u6761\u76ee\u3002"},
-         {"This jar contains entries whose signer certificate's ExtendedKeyUsage extension doesn't allow code signing.",
-"\u6b64 jar \u5305\u542b\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 ExtendedKeyUsage \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u7684\u6761\u76ee\u3002"},
-         {"This jar contains entries whose signer certificate's NetscapeCertType extension doesn't allow code signing.",
-"\u6b64 jar \u5305\u542b\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 NetscapeCertType \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u7684\u6761\u76ee\u3002"},
+                 "\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 NetscapeCertType \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u3002"},
+        {"This jar contains entries whose signer certificate's KeyUsage extension doesn't allow code signing.",
+                 "\u6b64 jar \u5305\u542b\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 KeyUsage \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u7684\u6761\u76ee\u3002"},
+        {"This jar contains entries whose signer certificate's ExtendedKeyUsage extension doesn't allow code signing.",
+                 "\u6b64 jar \u5305\u542b\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 ExtendedKeyUsage \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u7684\u6761\u76ee\u3002"},
+        {"This jar contains entries whose signer certificate's NetscapeCertType extension doesn't allow code signing.",
+                 "\u6b64 jar \u5305\u542b\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 NetscapeCertType \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u7684\u6761\u76ee\u3002"},
         {"[{0} extension does not support code signing]",
-"[{0} \u6269\u5c55\u4e0d\u652f\u6301\u4ee3\u7801\u7b7e\u540d]"},
+                 "[{0} \u6269\u5c55\u4e0d\u652f\u6301\u4ee3\u7801\u7b7e\u540d]"},
+        {"The signer's certificate chain is not validated.",
+                "\u7b7e\u540d\u8005\u7684\u8bc1\u4e66\u94fe\u672a\u7ecf\u8fc7\u9a8c\u8bc1\u3002"},
+        {"This jar contains entries whose certificate chain is not validated.",
+                 "\u6b64 jar \u5305\u542b\u8bc1\u4e66\u94fe\u672a\u7ecf\u8fc7\u9a8c\u8bc1\u7684\u6761\u76ee\u3002"},
     };
 
     /**
--- a/jdk/src/share/classes/sun/security/tools/KeyTool.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/security/tools/KeyTool.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1211,6 +1211,14 @@
         X509CertImpl cert = new X509CertImpl(info);
         cert.sign(privateKey, sigAlgName);
         dumpCert(cert, out);
+        for (Certificate ca: keyStore.getCertificateChain(alias)) {
+            if (ca instanceof X509Certificate) {
+                X509Certificate xca = (X509Certificate)ca;
+                if (!isSelfSigned(xca)) {
+                    dumpCert(xca, out);
+                }
+            }
+        }
     }
 
     /**
@@ -2640,19 +2648,33 @@
     }
 
     /**
-     * Returns true if the given certificate is trusted, false otherwise.
+     * Locates a signer for a given certificate from a given keystore and
+     * returns the signer's certificate.
+     * @param cert the certificate whose signer is searched, not null
+     * @param ks the keystore to search with, not null
+     * @return <code>cert</code> itself if it's already inside <code>ks</code>,
+     * or a certificate inside <code>ks</code> who signs <code>cert</code>,
+     * or null otherwise.
      */
-    private boolean isTrusted(Certificate cert)
-        throws Exception
-    {
-        if (keyStore.getCertificateAlias(cert) != null) {
-            return true; // found in own keystore
+    private static Certificate getTrustedSigner(Certificate cert, KeyStore ks)
+            throws Exception {
+        if (ks.getCertificateAlias(cert) != null) {
+            return cert;
         }
-        if (trustcacerts && (caks != null) &&
-                (caks.getCertificateAlias(cert) != null)) {
-            return true; // found in CA keystore
+        for (Enumeration<String> aliases = ks.aliases();
+                aliases.hasMoreElements(); ) {
+            String name = aliases.nextElement();
+            Certificate trustedCert = ks.getCertificate(name);
+            if (trustedCert != null) {
+                try {
+                    cert.verify(trustedCert.getPublicKey());
+                    return trustedCert;
+                } catch (Exception e) {
+                    // Not verified, skip to the next one
+                }
+            }
         }
-        return false;
+        return null;
     }
 
     /**
@@ -2985,48 +3007,33 @@
             return replyCerts;
         }
 
-        // do we trust the (root) cert at the top?
+        // do we trust the cert at the top?
         Certificate topCert = replyCerts[replyCerts.length-1];
-        if (!isTrusted(topCert)) {
-            boolean verified = false;
-            Certificate rootCert = null;
-            if (trustcacerts && (caks!= null)) {
-                for (Enumeration<String> aliases = caks.aliases();
-                     aliases.hasMoreElements(); ) {
-                    String name = aliases.nextElement();
-                    rootCert = caks.getCertificate(name);
-                    if (rootCert != null) {
-                        try {
-                            topCert.verify(rootCert.getPublicKey());
-                            verified = true;
-                            break;
-                        } catch (Exception e) {
-                        }
-                    }
-                }
+        Certificate root = getTrustedSigner(topCert, keyStore);
+        if (root == null && trustcacerts && caks != null) {
+            root = getTrustedSigner(topCert, caks);
+        }
+        if (root == null) {
+            System.err.println();
+            System.err.println
+                    (rb.getString("Top-level certificate in reply:\n"));
+            printX509Cert((X509Certificate)topCert, System.out);
+            System.err.println();
+            System.err.print(rb.getString("... is not trusted. "));
+            String reply = getYesNoReply
+                    (rb.getString("Install reply anyway? [no]:  "));
+            if ("NO".equals(reply)) {
+                return null;
             }
-            if (!verified) {
-                System.err.println();
-                System.err.println
-                        (rb.getString("Top-level certificate in reply:\n"));
-                printX509Cert((X509Certificate)topCert, System.out);
-                System.err.println();
-                System.err.print(rb.getString("... is not trusted. "));
-                String reply = getYesNoReply
-                        (rb.getString("Install reply anyway? [no]:  "));
-                if ("NO".equals(reply)) {
-                    return null;
-                }
-            } else {
-                if (!isSelfSigned((X509Certificate)topCert)) {
-                    // append the (self-signed) root CA cert to the chain
-                    Certificate[] tmpCerts =
-                        new Certificate[replyCerts.length+1];
-                    System.arraycopy(replyCerts, 0, tmpCerts, 0,
-                                     replyCerts.length);
-                    tmpCerts[tmpCerts.length-1] = rootCert;
-                    replyCerts = tmpCerts;
-                }
+        } else {
+            if (root != topCert) {
+                // append the root CA cert to the chain
+                Certificate[] tmpCerts =
+                    new Certificate[replyCerts.length+1];
+                System.arraycopy(replyCerts, 0, tmpCerts, 0,
+                                 replyCerts.length);
+                tmpCerts[tmpCerts.length-1] = root;
+                replyCerts = tmpCerts;
             }
         }
 
--- a/jdk/src/share/classes/sun/security/tools/TimestampedSigner.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/security/tools/TimestampedSigner.java	Wed Jul 05 17:10:46 2017 +0200
@@ -82,6 +82,11 @@
     private static final String KP_TIMESTAMPING_OID = "1.3.6.1.5.5.7.3.8";
 
     /*
+     * Object identifier for extendedKeyUsage extension
+     */
+    private static final String EXTENDED_KEY_USAGE_OID = "2.5.29.37";
+
+    /*
      * Object identifier for the timestamping access descriptors.
      */
     private static final ObjectIdentifier AD_TIMESTAMPING_Id;
@@ -357,34 +362,26 @@
         }
 
         // Examine the TSA's certificate (if present)
-        List<String> keyPurposes = null;
-        X509Certificate[] certs = tsToken.getCertificates();
-        if (certs != null && certs.length > 0) {
-            // Use certficate from the TSP reply
-            // Pick out the cert for the TS server, which is the end-entity
-            // one inside the chain.
-            for (X509Certificate cert: certs) {
-                boolean isSigner = false;
-                for (X509Certificate cert2: certs) {
-                    if (cert != cert2) {
-                        if (cert.getSubjectDN().equals(cert2.getIssuerDN())) {
-                            isSigner = true;
-                            break;
-                        }
-                    }
+        for (SignerInfo si: tsToken.getSignerInfos()) {
+            X509Certificate cert = si.getCertificate(tsToken);
+            if (cert == null) {
+                // Error, we've already set tsRequestCertificate = true
+                throw new CertificateException(
+                "Certificate not included in timestamp token");
+            } else {
+                if (!cert.getCriticalExtensionOIDs().contains(
+                        EXTENDED_KEY_USAGE_OID)) {
+                    throw new CertificateException(
+                    "Certificate is not valid for timestamping");
                 }
-                if (!isSigner) {
-                    keyPurposes = cert.getExtendedKeyUsage();
-                    if (keyPurposes == null ||
-                            ! keyPurposes.contains(KP_TIMESTAMPING_OID)) {
-                        throw new CertificateException(
-                            "Certificate is not valid for timestamping");
-                    }
-                    break;
+                List keyPurposes = cert.getExtendedKeyUsage();
+                if (keyPurposes == null ||
+                        ! keyPurposes.contains(KP_TIMESTAMPING_OID)) {
+                    throw new CertificateException(
+                    "Certificate is not valid for timestamping");
                 }
             }
         }
-
         return tsReply.getEncodedToken();
     }
 }
--- a/jdk/src/share/classes/sun/security/util/AuthResources_de.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/security/util/AuthResources_de.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 2001-2005 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 2000-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
@@ -53,30 +53,30 @@
 
         // UnixPrincipals
         {"UnixNumericGroupPrincipal [Primary Group]: name",
-        "Unix numerischer Gruppen-Principal [Prim\u00e4rgruppe]: {0}"},
+                "Unix numerischer Gruppen-Principal [Prim\u00e4rgruppe]: {0}"},
         {"UnixNumericGroupPrincipal [Supplementary Group]: name",
-        "Unix numerische Gruppen-Principal [Zusatzgruppe]: {0}"},
+                "Unix numerische Gruppen-Principal [Zusatzgruppe]: {0}"},
         {"UnixNumericUserPrincipal: name", "Unix numerischer Benutzer-Principal: {0}"},
         {"UnixPrincipal: name", "Unix-Principal: {0}"},
 
         // com.sun.security.auth.login.ConfigFile
         {"Unable to properly expand config", "{0} kann nicht ordnungsgem\u00e4\u00df erweitert werden."},
         {"extra_config (No such file or directory)",
-        "{0} (Datei oder Verzeichnis existiert nicht.)"},
-        {"Unable to locate a login configuration",
-        "Anmeldekonfiguration kann nicht gefunden werden."},
+                "{0} (Datei oder Verzeichnis existiert nicht.)"},
+        {"Configuration Error:\n\tNo such file or directory",
+                "Konfigurationsfehler: \n\tKeine Datei oder kein Verzeichnis dieser Art vorhanden"},
         {"Configuration Error:\n\tInvalid control flag, flag",
-        "Konfigurationsfehler:\n\tUng\u00fcltiges Steuerflag, {0}"},
+                "Konfigurationsfehler:\n\tUng\u00fcltiges Steuerflag, {0}"},
         {"Configuration Error:\n\tCan not specify multiple entries for appName",
-        "Konfigurationsfehler:\n\tEs k\u00f6nnen nicht mehrere Angaben f\u00fcr {0} gemacht werden."},
+            "Konfigurationsfehler:\n\tEs k\u00f6nnen nicht mehrere Angaben f\u00fcr {0} gemacht werden."},
         {"Configuration Error:\n\texpected [expect], read [end of file]",
-        "Konfigurationsfehler:\n\terwartet [{0}], gelesen [Dateiende]"},
+                "Konfigurationsfehler:\n\terwartet [{0}], gelesen [Dateiende]"},
         {"Configuration Error:\n\tLine line: expected [expect], found [value]",
-        "Konfigurationsfehler:\n\tZeile {0}: erwartet [{1}], gefunden [{2}]"},
+            "Konfigurationsfehler:\n\tZeile {0}: erwartet [{1}], gefunden [{2}]"},
         {"Configuration Error:\n\tLine line: expected [expect]",
-        "Konfigurationsfehler:\n\tZeile {0}: erwartet [{1}]"},
+            "Konfigurationsfehler:\n\tZeile {0}: erwartet [{1}]"},
         {"Configuration Error:\n\tLine line: system property [value] expanded to empty value",
-        "Konfigurationsfehler:\n\tZeile {0}: Systemeigenschaft [{1}] auf leeren Wert erweitert"},
+            "Konfigurationsfehler:\n\tZeile {0}: Systemeigenschaft [{1}] auf leeren Wert erweitert"},
 
         // com.sun.security.auth.module.JndiLoginModule
         {"username: ","Benutzername: "},
@@ -88,13 +88,13 @@
         {"Keystore alias: ","Keystore-Alias: "},
         {"Keystore password: ","Keystore-Passwort: "},
         {"Private key password (optional): ",
-        "Privates Schl\u00fcsselpasswort (optional): "},
+            "Privates Schl\u00fcsselpasswort (optional): "},
 
         // com.sun.security.auth.module.Krb5LoginModule
         {"Kerberos username [[defUsername]]: ",
-        "Kerberos-Benutzername [{0}]: "},
+                "Kerberos-Benutzername [{0}]: "},
         {"Kerberos password for [username]: ",
-            "Kerberos-Passwort f\u00fcr {0}: "},
+                "Kerberos-Passwort f\u00fcr {0}: "},
 
         /***    EVERYTHING BELOW IS DEPRECATED  ***/
 
@@ -107,17 +107,17 @@
         {"(", "("},
         {")", ")"},
         {"attempt to add a Permission to a readonly PermissionCollection",
-        "Es wurde versucht, eine Berechtigung zu einer schreibgesch\u00fctzten Berechtigungssammlung hinzuzuf\u00fcgen."},
+            "Es wurde versucht, eine Berechtigung zu einer schreibgesch\u00fctzten Berechtigungssammlung hinzuzuf\u00fcgen."},
 
         // com.sun.security.auth.PolicyParser
         {"expected keystore type", "erwarteter Keystore-Typ"},
         {"can not specify Principal with a ",
-        "Principal kann nicht mit einer "},
+                "Principal kann nicht mit einer "},
         {"wildcard class without a wildcard name",
-        "Wildcard-Klasse ohne Wildcard-Namen angegeben werden."},
+                "Wildcard-Klasse ohne Wildcard-Namen angegeben werden."},
         {"expected codeBase or SignedBy", "codeBase oder SignedBy erwartet"},
         {"only Principal-based grant entries permitted",
-        "Nur Principal-basierte Berechtigungseintr\u00e4ge erlaubt"},
+                "Nur Principal-basierte Berechtigungseintr\u00e4ge erlaubt"},
         {"expected permission entry", "Berechtigungseintrag erwartet"},
         {"number ", "Nummer "},
         {"expected ", "erwartet "},
@@ -130,11 +130,11 @@
 
         // SolarisPrincipals
         {"SolarisNumericGroupPrincipal [Primary Group]: ",
-        "Solaris numerischer Gruppen-Principal [Prim\u00e4rgruppe]: "},
+                "Solaris numerischer Gruppen-Principal [Prim\u00e4rgruppe]: "},
         {"SolarisNumericGroupPrincipal [Supplementary Group]: ",
-        "Solaris numerischer Gruppen-Principal [Zusatzgruppe]: "},
+                "Solaris numerischer Gruppen-Principal [Zusatzgruppe]: "},
         {"SolarisNumericUserPrincipal: ",
-        "Solaris numerischer Benutzer-Principal: "},
+                "Solaris numerischer Benutzer-Principal: "},
         {"SolarisPrincipal: ", "Solaris-Principal: "},
         {"provided null name", "enthielt leeren Namen"}
 
--- a/jdk/src/share/classes/sun/security/util/AuthResources_es.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/security/util/AuthResources_es.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 2001-2005 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 2000-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
@@ -53,30 +53,30 @@
 
         // UnixPrincipals
         {"UnixNumericGroupPrincipal [Primary Group]: name",
-        "UnixNumericGroupPrincipal [Grupo principal] {0}"},
+                "UnixNumericGroupPrincipal [Grupo principal] {0}"},
         {"UnixNumericGroupPrincipal [Supplementary Group]: name",
-        "UnixNumericGroupPrincipal [Grupo adicional] {0}"},
+                "UnixNumericGroupPrincipal [Grupo adicional] {0}"},
         {"UnixNumericUserPrincipal: name", "UnixNumericUserPrincipal: {0}"},
         {"UnixPrincipal: name", "UnixPrincipal: {0}"},
 
         // com.sun.security.auth.login.ConfigFile
         {"Unable to properly expand config", "No se puede ampliar correctamente {0}"},
         {"extra_config (No such file or directory)",
-        "{0} (No existe tal archivo o directorio)"},
-        {"Unable to locate a login configuration",
-        "No se puede localizar una configuraci\u00f3n de inicio de sesi\u00f3n"},
+                "{0} (No existe tal archivo o directorio)"},
+        {"Configuration Error:\n\tNo such file or directory",
+                "Error de configuraci\u00f3n:\n\tNo se encuentra archivo o directorio"},
         {"Configuration Error:\n\tInvalid control flag, flag",
-        "Error de configuraci\u00f3n:\n\tIndicador de control no v\u00e1lido, {0}"},
+                "Error de configuraci\u00f3n:\n\tIndicador de control no v\u00e1lido, {0}"},
         {"Configuration Error:\n\tCan not specify multiple entries for appName",
-        "Error de configuraci\u00f3n:\n\tNo se pueden especificar m\u00faltiples entradas para {0}"},
+            "Error de configuraci\u00f3n:\n\tNo se pueden especificar m\u00faltiples entradas para {0}"},
         {"Configuration Error:\n\texpected [expect], read [end of file]",
-        "Error de configuraci\u00f3n:\n\tse esperaba [{0}], se ha le\u00eddo [end of file]"},
+                "Error de configuraci\u00f3n:\n\tse esperaba [{0}], se ha le\u00eddo [end of file]"},
         {"Configuration Error:\n\tLine line: expected [expect], found [value]",
-        "Error de configuraci\u00f3n:\n\tL\u00ednea {0}: se esperaba [{1}], se ha encontrado [{2}]"},
+            "Error de configuraci\u00f3n:\n\tL\u00ednea {0}: se esperaba [{1}], se ha encontrado [{2}]"},
         {"Configuration Error:\n\tLine line: expected [expect]",
-        "Error de configuraci\u00f3n:\n\tL\u00ednea {0}: se esperaba [{1}]"},
+            "Error de configuraci\u00f3n:\n\tL\u00ednea {0}: se esperaba [{1}]"},
         {"Configuration Error:\n\tLine line: system property [value] expanded to empty value",
-        "Error de configuraci\u00f3n:\n\tL\u00ednea {0}: propiedad de sistema [{1}] ampliada a valor vac\u00edo"},
+            "Error de configuraci\u00f3n:\n\tL\u00ednea {0}: propiedad de sistema [{1}] ampliada a valor vac\u00edo"},
 
         // com.sun.security.auth.module.JndiLoginModule
         {"username: ","nombre de usuario: "},
@@ -88,13 +88,13 @@
         {"Keystore alias: ","Alias de almac\u00e9n de claves: "},
         {"Keystore password: ","Contrase\u00f1a de almac\u00e9n de claves: "},
         {"Private key password (optional): ",
-        "Contrase\u00f1a de clave privada (opcional): "},
+            "Contrase\u00f1a de clave privada (opcional): "},
 
         // com.sun.security.auth.module.Krb5LoginModule
         {"Kerberos username [[defUsername]]: ",
-        "Nombre de usuario de Kerberos [{0}]: "},
+                "Nombre de usuario de Kerberos [{0}]: "},
         {"Kerberos password for [username]: ",
-            "Contrase\u00f1a de Kerberos de {0}: "},
+                "Contrase\u00f1a de Kerberos de {0}: "},
 
         /***    EVERYTHING BELOW IS DEPRECATED  ***/
 
@@ -107,17 +107,17 @@
         {"(", "("},
         {")", ")"},
         {"attempt to add a Permission to a readonly PermissionCollection",
-        "se ha intentado agregar un Permiso a una Colecci\u00f3n de permisos de s\u00f3lo lectura"},
+            "se ha intentado agregar un Permiso a una Colecci\u00f3n de permisos de s\u00f3lo lectura"},
 
         // com.sun.security.auth.PolicyParser
         {"expected keystore type", "se esperaba un tipo de almac\u00e9n de claves"},
         {"can not specify Principal with a ",
-        "no se puede especificar Principal con una "},
+                "no se puede especificar Principal con una "},
         {"wildcard class without a wildcard name",
-        "clase comod\u00edn sin nombre de comod\u00edn"},
+                "clase comod\u00edn sin nombre de comod\u00edn"},
         {"expected codeBase or SignedBy", "se esperaba base de c\u00f3digos o SignedBy"},
         {"only Principal-based grant entries permitted",
-        "s\u00f3lo se permite conceder entradas basadas en Principal"},
+                "s\u00f3lo se permite conceder entradas basadas en Principal"},
         {"expected permission entry", "se esperaba un permiso de entrada"},
         {"number ", "n\u00famero "},
         {"expected ", "se esperaba "},
@@ -130,11 +130,11 @@
 
         // SolarisPrincipals
         {"SolarisNumericGroupPrincipal [Primary Group]: ",
-        "SolarisNumericGroupPrincipal [Grupo principal]: "},
+                "SolarisNumericGroupPrincipal [Grupo principal]: "},
         {"SolarisNumericGroupPrincipal [Supplementary Group]: ",
-        "SolarisNumericGroupPrincipal [Grupo adicional]: "},
+                "SolarisNumericGroupPrincipal [Grupo adicional]: "},
         {"SolarisNumericUserPrincipal: ",
-        "SolarisNumericUserPrincipal: "},
+                "SolarisNumericUserPrincipal: "},
         {"SolarisPrincipal: ", "SolarisPrincipal: "},
         {"provided null name", "se ha proporcionado un nombre nulo"}
 
--- a/jdk/src/share/classes/sun/security/util/AuthResources_fr.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/security/util/AuthResources_fr.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 2001-2005 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 2000-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
@@ -53,30 +53,30 @@
 
         // UnixPrincipals
         {"UnixNumericGroupPrincipal [Primary Group]: name",
-        "UnixNumericGroupPrincipal [groupe principal] : {0}"},
+                "UnixNumericGroupPrincipal [groupe principal] : {0}"},
         {"UnixNumericGroupPrincipal [Supplementary Group]: name",
-        "UnixNumericGroupPrincipal [groupe suppl\u00e9mentaire] : {0}"},
+                "UnixNumericGroupPrincipal [groupe suppl\u00e9mentaire] : {0}"},
         {"UnixNumericUserPrincipal: name", "UnixNumericUserPrincipal : {0}"},
         {"UnixPrincipal: name", "UnixPrincipal : {0}"},
 
         // com.sun.security.auth.login.ConfigFile
         {"Unable to properly expand config", "Impossible de d\u00e9velopper {0} correctement"},
         {"extra_config (No such file or directory)",
-        "{0} (fichier ou r\u00e9pertoire introuvable)"},
-        {"Unable to locate a login configuration",
-        "Impossible de trouver une configuration de connexion"},
+                "{0} (fichier ou r\u00e9pertoire introuvable)"},
+        {"Configuration Error:\n\tNo such file or directory",
+                "Erreur de configuration\u00a0:\n\tAucun fichier ou r\u00e9pertoire de ce type"},
         {"Configuration Error:\n\tInvalid control flag, flag",
-        "Erreur de configuration :\n\tIndicateur de contr\u00f4le non valide, {0}"},
+                "Erreur de configuration :\n\tIndicateur de contr\u00f4le non valide, {0}"},
         {"Configuration Error:\n\tCan not specify multiple entries for appName",
-        "Erreur de configuration :\n\tImpossible de sp\u00e9cifier des entr\u00e9es multiples pour {0}"},
+            "Erreur de configuration :\n\tImpossible de sp\u00e9cifier des entr\u00e9es multiples pour {0}"},
         {"Configuration Error:\n\texpected [expect], read [end of file]",
-        "Erreur de configuration :\n\tattendu [{0}], lecture [fin de fichier]"},
+                "Erreur de configuration :\n\tattendu [{0}], lecture [fin de fichier]"},
         {"Configuration Error:\n\tLine line: expected [expect], found [value]",
-        "Erreur de configuration :\n\tLigne {0} : attendu [{1}], trouv\u00e9 [{2}]"},
+            "Erreur de configuration :\n\tLigne {0} : attendu [{1}], trouv\u00e9 [{2}]"},
         {"Configuration Error:\n\tLine line: expected [expect]",
-        "Erreur de configuration :\n\tLigne {0} : attendu [{1}]"},
+            "Erreur de configuration :\n\tLigne {0} : attendu [{1}]"},
         {"Configuration Error:\n\tLine line: system property [value] expanded to empty value",
-        "Erreur de configuration :\n\tLigne {0} : propri\u00e9t\u00e9 syst\u00e8me [{1}] d\u00e9velopp\u00e9e en valeur vide"},
+            "Erreur de configuration :\n\tLigne {0} : propri\u00e9t\u00e9 syst\u00e8me [{1}] d\u00e9velopp\u00e9e en valeur vide"},
 
         // com.sun.security.auth.module.JndiLoginModule
         {"username: ","Nom d'utilisateur : "},
@@ -88,13 +88,13 @@
         {"Keystore alias: ","Alias pour Keystore : "},
         {"Keystore password: ","Mot de passe pour Keystore : "},
         {"Private key password (optional): ",
-        "Mot de passe de cl\u00e9 priv\u00e9e (facultatif) : "},
+            "Mot de passe de cl\u00e9 priv\u00e9e (facultatif) : "},
 
         // com.sun.security.auth.module.Krb5LoginModule
         {"Kerberos username [[defUsername]]: ",
-        "Nom d''utilisateur Kerberos [{0}] : "},
+                "Nom d''utilisateur Kerberos [{0}] : "},
         {"Kerberos password for [username]: ",
-            "Mot de pass\u00e9 Kerberos pour {0} : "},
+                "Mot de pass\u00e9 Kerberos pour {0} : "},
 
         /***    EVERYTHING BELOW IS DEPRECATED  ***/
 
@@ -107,17 +107,17 @@
         {"(", "("},
         {")", ")"},
         {"attempt to add a Permission to a readonly PermissionCollection",
-        "tentative d'ajout de permission \u00e0 un ensemble de permissions en lecture seule"},
+            "tentative d'ajout de permission \u00e0 un ensemble de permissions en lecture seule"},
 
         // com.sun.security.auth.PolicyParser
         {"expected keystore type", "type de Keystore attendu"},
         {"can not specify Principal with a ",
-        "impossible de sp\u00e9cifier Principal avec une"},
+                "impossible de sp\u00e9cifier Principal avec une "},
         {"wildcard class without a wildcard name",
-        "classe g\u00e9n\u00e9rique sans nom g\u00e9n\u00e9rique"},
+                "classe g\u00e9n\u00e9rique sans nom g\u00e9n\u00e9rique"},
         {"expected codeBase or SignedBy", "codeBase ou SignedBy attendu"},
         {"only Principal-based grant entries permitted",
-        "seules les entr\u00e9es bas\u00e9es sur Principal sont autoris\u00e9es"},
+                "seules les entr\u00e9es bas\u00e9es sur Principal sont autoris\u00e9es"},
         {"expected permission entry", "entr\u00e9e de permission attendue"},
         {"number ", "nombre "},
         {"expected ", "attendu "},
@@ -130,11 +130,11 @@
 
         // SolarisPrincipals
         {"SolarisNumericGroupPrincipal [Primary Group]: ",
-        "SolarisNumericGroupPrincipal [groupe principal] : "},
+                "SolarisNumericGroupPrincipal [groupe principal] : "},
         {"SolarisNumericGroupPrincipal [Supplementary Group]: ",
-        "SolarisNumericGroupPrincipal [groupe suppl\u00e9mentaire] : "},
+                "SolarisNumericGroupPrincipal [groupe suppl\u00e9mentaire] : "},
         {"SolarisNumericUserPrincipal: ",
-        "SolarisNumericUserPrincipal : "},
+                "SolarisNumericUserPrincipal : "},
         {"SolarisPrincipal: ", "SolarisPrincipal : "},
         {"provided null name", "nom Null sp\u00e9cifi\u00e9"}
 
--- a/jdk/src/share/classes/sun/security/util/AuthResources_it.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/security/util/AuthResources_it.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 2001-2005 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 2000-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
@@ -38,7 +38,6 @@
 public class AuthResources_it extends java.util.ListResourceBundle {
 
     private static final Object[][] contents = {
-
         // NT principals
         {"invalid null input: value", "input nullo non valido: {0}"},
         {"NTDomainPrincipal: name", "NTDomainPrincipal: {0}"},
@@ -53,30 +52,30 @@
 
         // UnixPrincipals
         {"UnixNumericGroupPrincipal [Primary Group]: name",
-        "UnixNumericGroupPrincipal [gruppo primario]: {0}"},
+                "UnixNumericGroupPrincipal [gruppo primario]: {0}"},
         {"UnixNumericGroupPrincipal [Supplementary Group]: name",
-        "UnixNumericGroupPrincipal [gruppo supplementare]: {0}"},
+                "UnixNumericGroupPrincipal [gruppo supplementare]: {0}"},
         {"UnixNumericUserPrincipal: name", "UnixNumericUserPrincipal: {0}"},
         {"UnixPrincipal: name", "UnixPrincipal: {0}"},
 
         // com.sun.security.auth.login.ConfigFile
         {"Unable to properly expand config", "Impossibile espandere correttamente {0}"},
         {"extra_config (No such file or directory)",
-        "{0} (file o directory inesistente)"},
-        {"Unable to locate a login configuration",
-        "Impossibile trovare una configurazione di login"},
+                "{0} (file o directory inesistente)"},
+        {"Configuration Error:\n\tNo such file or directory",
+                "Errore di configurazione:\n\tfile o directory inesistente"},
         {"Configuration Error:\n\tInvalid control flag, flag",
-        "Errore di configurazione:\n\tflag di controllo non valido, {0}"},
+                "Errore di configurazione:\n\tflag di controllo non valido, {0}"},
         {"Configuration Error:\n\tCan not specify multiple entries for appName",
-        "Errore di configurazione:\n\timpossibile specificare pi\u00f9 valori per {0}"},
+            "Errore di configurazione:\n\timpossibile specificare pi\u00f9 valori per {0}"},
         {"Configuration Error:\n\texpected [expect], read [end of file]",
-        "Errore di configurazione:\n\tprevisto [{0}], letto [end of file]"},
+                "Errore di configurazione:\n\tprevisto [{0}], letto [end of file]"},
         {"Configuration Error:\n\tLine line: expected [expect], found [value]",
-        "Errore di configurazione:\n\triga {0}: previsto [{1}], trovato [{2}]"},
+            "Errore di configurazione:\n\triga {0}: previsto [{1}], trovato [{2}]"},
         {"Configuration Error:\n\tLine line: expected [expect]",
-        "Errore di configurazione:\n\triga {0}: previsto [{1}]"},
+            "Errore di configurazione:\n\triga {0}: previsto [{1}]"},
         {"Configuration Error:\n\tLine line: system property [value] expanded to empty value",
-        "Errore di configurazione:\n\triga {0}: propriet\u00e0 di sistema [{1}] espansa a valore vuoto"},
+            "Errore di configurazione:\n\triga {0}: propriet\u00e0 di sistema [{1}] espansa a valore vuoto"},
 
         // com.sun.security.auth.module.JndiLoginModule
         {"username: ","Nome utente: "},
@@ -88,13 +87,13 @@
         {"Keystore alias: ","Alias keystore: "},
         {"Keystore password: ","Password keystore: "},
         {"Private key password (optional): ",
-        "Password chiave privata (opzionale): "},
+            "Password chiave privata (opzionale): "},
 
         // com.sun.security.auth.module.Krb5LoginModule
         {"Kerberos username [[defUsername]]: ",
                 "Nome utente Kerberos [{0}]: "},
         {"Kerberos password for [username]: ",
-                    "Password Kerberos per {0}: "},
+                "Password Kerberos per {0}: "},
 
         /***    EVERYTHING BELOW IS DEPRECATED  ***/
 
@@ -102,22 +101,22 @@
         {": error parsing ", ": errore nell'analisi "},
         {": ", ": "},
         {": error adding Permission ", ": errore nell'aggiunta del permesso "},
-        {" ", " "},
+        {" ", "  "},
         {": error adding Entry ", ": errore nell'aggiunta dell'entry "},
         {"(", "("},
         {")", ")"},
         {"attempt to add a Permission to a readonly PermissionCollection",
-        "tentativo di aggiungere un permesso a una PermissionCollection di sola lettura"},
+            "tentativo di aggiungere un permesso a una PermissionCollection di sola lettura"},
 
         // com.sun.security.auth.PolicyParser
         {"expected keystore type", "tipo di keystore previsto"},
         {"can not specify Principal with a ",
-        "impossibile specificare Principal con una "},
+                "impossibile specificare Principal con una "},
         {"wildcard class without a wildcard name",
-        "classe wildcard senza un nome wildcard"},
+                "classe wildcard senza un nome wildcard"},
         {"expected codeBase or SignedBy", "previsto codeBase o SignedBy"},
         {"only Principal-based grant entries permitted",
-        "sono permessi solo valori garantiti basati su Principal"},
+                "sono permessi solo valori garantiti basati su Principal"},
         {"expected permission entry", "prevista entry di permesso"},
         {"number ", "numero "},
         {"expected ", "previsto "},
@@ -130,11 +129,11 @@
 
         // SolarisPrincipals
         {"SolarisNumericGroupPrincipal [Primary Group]: ",
-        "SolarisNumericGroupPrincipal [gruppo primario]: "},
+                "SolarisNumericGroupPrincipal [gruppo primario]: "},
         {"SolarisNumericGroupPrincipal [Supplementary Group]: ",
-        "SolarisNumericGroupPrincipal [gruppo supplementare]: "},
+                "SolarisNumericGroupPrincipal [gruppo supplementare]: "},
         {"SolarisNumericUserPrincipal: ",
-        "SolarisNumericUserPrincipal: "},
+                "SolarisNumericUserPrincipal: "},
         {"SolarisPrincipal: ", "SolarisPrincipal: "},
         {"provided null name", "il nome fornito \u00e8 nullo"}
 
--- a/jdk/src/share/classes/sun/security/util/AuthResources_ja.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/security/util/AuthResources_ja.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 2001-2005 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 2000-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
@@ -63,8 +63,8 @@
         {"Unable to properly expand config", "{0} \u3092\u6b63\u3057\u304f\u5c55\u958b\u3067\u304d\u307e\u305b\u3093\u3002"},
         {"extra_config (No such file or directory)",
                 "{0} (\u6307\u5b9a\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u307e\u305f\u306f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f\u5b58\u5728\u3057\u307e\u305b\u3093)"},
-        {"Unable to locate a login configuration",
-                "\u30ed\u30b0\u30a4\u30f3\u69cb\u6210\u3092\u691c\u51fa\u3067\u304d\u307e\u305b\u3093\u3002"},
+        {"Configuration Error:\n\tNo such file or directory",
+                "\u69cb\u6210\u30a8\u30e9\u30fc:\n\t\u6307\u5b9a\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u307e\u305f\u306f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002"},
         {"Configuration Error:\n\tInvalid control flag, flag",
                 "\u69cb\u6210\u30a8\u30e9\u30fc:\n\t\u7121\u52b9\u306a\u5236\u5fa1\u30d5\u30e9\u30b0: {0}"},
         {"Configuration Error:\n\tCan not specify multiple entries for appName",
@@ -76,7 +76,7 @@
         {"Configuration Error:\n\tLine line: expected [expect]",
             "\u69cb\u6210\u30a8\u30e9\u30fc:\n\t\u884c {0}: [{1}] \u304c\u8981\u6c42\u3055\u308c\u307e\u3057\u305f\u3002"},
         {"Configuration Error:\n\tLine line: system property [value] expanded to empty value",
-            "\u69cb\u6210\u30a8\u30e9\u30fc:\n\t\u884c {0}: \u30b7\u30b9\u30c6\u30e0\u30d7\u30ed\u30d1\u30c6\u30a3 [{1}] \u304c\u7a7a\u306e\u5024\u306b\u5c55\u958b\u3055\u308c\u307e\u3057\u305f\u3002"},
+            "\u69cb\u6210\u30a8\u30e9\u30fc:\n\t\u884c {0}: \u30b7\u30b9\u30c6\u30e0\u30d7\u30ed\u30d1\u30c6\u30a3\u30fc [{1}] \u304c\u7a7a\u306e\u5024\u306b\u5c55\u958b\u3055\u308c\u307e\u3057\u305f\u3002"},
 
         // com.sun.security.auth.module.JndiLoginModule
         {"username: ","\u30e6\u30fc\u30b6\u540d: "},
--- a/jdk/src/share/classes/sun/security/util/AuthResources_ko.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/security/util/AuthResources_ko.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 2001-2005 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 2000-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
@@ -63,8 +63,8 @@
         {"Unable to properly expand config", "\uc801\uc808\ud788 \ud655\uc7a5\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. {0}"},
         {"extra_config (No such file or directory)",
                 "{0} (\ud574\ub2f9 \ud30c\uc77c\uc774\ub098 \ub514\ub809\ud1a0\ub9ac\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.)"},
-        {"Unable to locate a login configuration",
-                "\ub85c\uadf8\uc778 \uad6c\uc131\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
+        {"Configuration Error:\n\tNo such file or directory",
+                "\uad6c\uc131 \uc624\ub958:\n\t\ud574\ub2f9 \ud30c\uc77c\uc774\ub098 \ub514\ub809\ud1a0\ub9ac\uac00 \uc5c6\uc2b5\ub2c8\ub2e4."},
         {"Configuration Error:\n\tInvalid control flag, flag",
                 "\uad6c\uc131 \uc624\ub958:\n\t\uc798\ubabb\ub41c \ucee8\ud2b8\ub864 \ud50c\ub798\uadf8, {0}"},
         {"Configuration Error:\n\tCan not specify multiple entries for appName",
--- a/jdk/src/share/classes/sun/security/util/AuthResources_sv.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/security/util/AuthResources_sv.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 2001-2005 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 2000-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
@@ -53,47 +53,48 @@
 
         // UnixPrincipals
         {"UnixNumericGroupPrincipal [Primary Group]: name",
-        "UnixNumericGroupPrincipal [prim\u00e4r grupp]: {0}"},
+                "UnixNumericGroupPrincipal [prim\u00e4r grupp]: {0}"},
         {"UnixNumericGroupPrincipal [Supplementary Group]: name",
-        "UnixNumericGroupPrincipal [till\u00e4ggsgrupp]: {0}"},
+                "UnixNumericGroupPrincipal [till\u00e4ggsgrupp]: {0}"},
         {"UnixNumericUserPrincipal: name", "UnixNumericUserPrincipal: {0}"},
         {"UnixPrincipal: name", "UnixPrincipal: {0}"},
 
         // com.sun.security.auth.login.ConfigFile
         {"Unable to properly expand config", "Det g\u00e5r inte att utvidga korrekt {0}"},
         {"extra_config (No such file or directory)",
-        "{0} (Det finns ingen s\u00e5dan fil eller katalog.)"},
-        {"Unable to locate a login configuration",
-        "Det g\u00e5r inte att hitta n\u00e5gon inloggningskonfiguration"},
+                "{0} (Det finns ingen s\u00e5dan fil eller katalog.)"},
+        {"Configuration Error:\n\tNo such file or directory",
+                "Konfigurationsfel:\n\tDet finns ingen s\u00e5dan fil eller katalog."},
         {"Configuration Error:\n\tInvalid control flag, flag",
-        "Konfigurationsfel:\n\tOgiltig kontrollflagga, {0}"},
+                "Konfigurationsfel:\n\tOgiltig kontrollflagga, {0}"},
         {"Configuration Error:\n\tCan not specify multiple entries for appName",
-        "Konfigurationsfel:\n\tDet g\u00e5r inte att ange flera poster f\u00f6r {0}"},
+            "Konfigurationsfel:\n\tDet g\u00e5r inte att ange flera poster f\u00f6r {0}"},
         {"Configuration Error:\n\texpected [expect], read [end of file]",
-        "Konfigurationsfel:\n\tf\u00f6rv\u00e4ntade [{0}], l\u00e4ste [end of file]"},
+                "Konfigurationsfel:\n\tf\u00f6rv\u00e4ntade [{0}], l\u00e4ste [end of file]"},
         {"Configuration Error:\n\tLine line: expected [expect], found [value]",
-        "Konfigurationsfel:\n\tLine {0}: f\u00f6rv\u00e4ntade [{1}], hittade [{2}]"},
+            "Konfigurationsfel:\n\tLine {0}: f\u00f6rv\u00e4ntade [{1}], hittade [{2}]"},
         {"Configuration Error:\n\tLine line: expected [expect]",
-        "Konfigurationsfel:\n\tLine {0}: f\u00f6rv\u00e4ntade [{1}]"},
+            "Konfigurationsfel:\n\tLine {0}: f\u00f6rv\u00e4ntade [{1}]"},
         {"Configuration Error:\n\tLine line: system property [value] expanded to empty value",
-        "Konfigurationsfel:\n\tLine {0}: systemegenskapen [{1}] utvidgad till tomt v\u00e4rde"},
+            "Konfigurationsfel:\n\tLine {0}: systemegenskapen [{1}] utvidgad till tomt v\u00e4rde"},
 
         // com.sun.security.auth.module.JndiLoginModule
         {"username: ","anv\u00e4ndarnamn: "},
         {"password: ","l\u00f6senord: "},
 
         // com.sun.security.auth.module.KeyStoreLoginModule
-        {"Please enter keystore information","Ange keystore-information"},
+        {"Please enter keystore information",
+                "Ange keystore-information"},
         {"Keystore alias: ","Keystore-alias: "},
         {"Keystore password: ","Keystore-l\u00f6senord: "},
         {"Private key password (optional): ",
-        "L\u00f6senord f\u00f6r personlig nyckel (valfritt): "},
+            "L\u00f6senord f\u00f6r personlig nyckel (valfritt): "},
 
         // com.sun.security.auth.module.Krb5LoginModule
         {"Kerberos username [[defUsername]]: ",
-        "Kerberos-anv\u00e4ndarnamn [{0}]: "},
+                "Kerberos-anv\u00e4ndarnamn [{0}]: "},
         {"Kerberos password for [username]: ",
-            "Kerberos-l\u00f6senord f\u00f6r {0}: "},
+                "Kerberos-l\u00f6senord f\u00f6r {0}: "},
 
         /***    EVERYTHING BELOW IS DEPRECATED  ***/
 
@@ -106,17 +107,17 @@
         {"(", "("},
         {")", ")"},
         {"attempt to add a Permission to a readonly PermissionCollection",
-        "f\u00f6rs\u00f6k att l\u00e4gga till beh\u00f6righet till skrivskyddad PermissionCollection"},
+            "f\u00f6rs\u00f6k att l\u00e4gga till beh\u00f6righet till skrivskyddad PermissionCollection"},
 
         // com.sun.security.auth.PolicyParser
         {"expected keystore type", "f\u00f6rv\u00e4ntad keystore-typ"},
         {"can not specify Principal with a ",
-        "det g\u00e5r inte att specificera n\u00e5gon principal med "},
+                "det g\u00e5r inte att specificera n\u00e5gon principal med "},
         {"wildcard class without a wildcard name",
-        "jokertecken f\u00f6r klass men inte f\u00f6r namn"},
+                "jokertecken f\u00f6r klass men inte f\u00f6r namn"},
         {"expected codeBase or SignedBy", "f\u00f6rv\u00e4ntade codeBase eller SignedBy"},
         {"only Principal-based grant entries permitted",
-        "enbart Principal-baserade poster till\u00e5tna"},
+                "enbart Principal-baserade poster till\u00e5tna"},
         {"expected permission entry", "f\u00f6rv\u00e4ntade beh\u00f6righetspost"},
         {"number ", "antal "},
         {"expected ", "f\u00f6rv\u00e4ntade "},
@@ -129,11 +130,11 @@
 
         // SolarisPrincipals
         {"SolarisNumericGroupPrincipal [Primary Group]: ",
-        "SolarisNumericGroupPrincipal [prim\u00e4r grupp]: "},
+                "SolarisNumericGroupPrincipal [prim\u00e4r grupp]: "},
         {"SolarisNumericGroupPrincipal [Supplementary Group]: ",
-        "SolarisNumericGroupPrincipal [till\u00e4ggsgrupp]: "},
+                "SolarisNumericGroupPrincipal [till\u00e4ggsgrupp]: "},
         {"SolarisNumericUserPrincipal: ",
-        "SolarisNumericUserPrincipal: "},
+                "SolarisNumericUserPrincipal: "},
         {"SolarisPrincipal: ", "SolarisPrincipal: "},
         {"provided null name", "gav null-namn"}
 
--- a/jdk/src/share/classes/sun/security/util/AuthResources_zh_CN.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/security/util/AuthResources_zh_CN.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 2001-2005 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 2000-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
@@ -63,8 +63,8 @@
         {"Unable to properly expand config", "\u65e0\u6cd5\u5b8c\u5168\u6269\u5145 {0}"},
         {"extra_config (No such file or directory)",
                 "{0} \uff08\u6ca1\u6709\u6b64\u6587\u4ef6\u6216\u76ee\u5f55\uff09"},
-        {"Unable to locate a login configuration",
-                "\u65e0\u6cd5\u5b9a\u4f4d\u767b\u5f55\u914d\u7f6e"},
+        {"Configuration Error:\n\tNo such file or directory",
+                "\u914d\u7f6e\u9519\u8bef\uff1a\n\t\u6ca1\u6709\u6b64\u6587\u4ef6\u6216\u76ee\u5f55"},
         {"Configuration Error:\n\tInvalid control flag, flag",
                 "\u914d\u7f6e\u9519\u8bef\uff1a\n\t\u65e0\u6548\u7684\u63a7\u5236\u6807\u8bb0\uff0c {0}"},
         {"Configuration Error:\n\tCan not specify multiple entries for appName",
--- a/jdk/src/share/classes/sun/security/util/AuthResources_zh_TW.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/security/util/AuthResources_zh_TW.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 2001-2005 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 2000-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
@@ -63,8 +63,8 @@
         {"Unable to properly expand config", "\u7121\u6cd5\u5b8c\u5168\u64f4\u5145 {0}"},
         {"extra_config (No such file or directory)",
                 "{0} \uff08\u6c92\u6709\u6b64\u6a94\u6848\u6216\u76ee\u9304\uff09"},
-        {"Unable to locate a login configuration",
-                "\u7121\u6cd5\u5b9a\u4f4d\u767b\u5165\u914d\u7f6e"},
+        {"Configuration Error:\n\tNo such file or directory",
+                "\u914d\u7f6e\u932f\u8aa4\uff1a\n\t\u6c92\u6709\u9019\u985e\u7684\u6a94\u6848\u6216\u76ee\u9304"},
         {"Configuration Error:\n\tInvalid control flag, flag",
                 "\u914d\u7f6e\u932f\u8aa4\uff1a\n\t\u7121\u6548\u7684\u63a7\u5236\u65d7\u865f\uff0c {0}"},
         {"Configuration Error:\n\tCan not specify multiple entries for appName",
--- a/jdk/src/share/classes/sun/security/x509/X509Key.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/security/x509/X509Key.java	Wed Jul 05 17:10:46 2017 +0200
@@ -171,7 +171,7 @@
                                       in.data.getUnalignedBitString());
 
         } catch (InvalidKeyException e) {
-            throw new IOException("subject key, " + e.getMessage());
+            throw new IOException("subject key, " + e.getMessage(), e);
         }
 
         if (in.data.available() != 0)
@@ -224,7 +224,7 @@
         } catch (NoSuchAlgorithmException e) {
             // Return generic X509Key with opaque key data (see below)
         } catch (InvalidKeySpecException e) {
-            throw new InvalidKeyException(e.getMessage());
+            throw new InvalidKeyException(e.getMessage(), e);
         }
 
         /*
--- a/jdk/src/share/classes/sun/tools/jconsole/resources/JConsoleResources_ja.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/tools/jconsole/resources/JConsoleResources_ja.java	Wed Jul 05 17:10:46 2017 +0200
@@ -114,7 +114,6 @@
         {"ClassTab.infoLabelFormat", "<html>\u30ed\u30fc\u30c9: {0}    \u30a2\u30f3\u30ed\u30fc\u30c9: {1}    \u7dcf\u6570: {2}</html>"},
         {"ClassTab.loadedClassesPlotter.accessibleName", "\u30ed\u30fc\u30c9\u3055\u308c\u305f\u30af\u30e9\u30b9\u306e\u56f3\u3002"},
         {"Classes","\u30af\u30e9\u30b9"},
-        {"Clear","\u6d88\u53bb"},
         {"Close","\u9589\u3058\u308b"},
         {"Column.Name", "\u540d\u524d"},
         {"Column.PID", "PID"},
@@ -122,7 +121,6 @@
         {"Committed virtual memory","\u78ba\u5b9a\u4eee\u60f3\u30e1\u30e2\u30ea"},
         {"Committed", "\u78ba\u5b9a"},
         {"Compiler","\u30b3\u30f3\u30d1\u30a4\u30e9"},
-        {"Composite Navigation", "\u8907\u5408\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3"},
         {"CompositeData","CompositeData"},
         {"Config","\u69cb\u6210"},
         {"Connect", "\u63a5\u7d9a(C)"},
@@ -158,12 +156,9 @@
         {"Detect Deadlock.toolTip", "\u30c7\u30c3\u30c9\u30ed\u30c3\u30af\u3057\u305f\u30b9\u30ec\u30c3\u30c9\u3092\u691c\u51fa\u3059\u308b"},
         {"Dimension is not supported:","\u5927\u304d\u3055\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093:"},
         {"Discard chart", "\u56f3\u3092\u7834\u68c4\u3059\u308b"},
-        {"DurationDaysHoursMinutes","{0,choice,1#{0,number,integer} \u65e5 |1.0<{0,number,integer} \u65e5 }" +
-                                    "{1,choice,0<{1,number,integer} \u6642\u9593 |1#{1,number,integer} \u6642\u9593 |1<{1,number,integer} \u6642\u9593 }" +
-                                    "{2,choice,0<{2,number,integer} \u5206 |1#{2,number,integer} \u5206 |1.0<{2,number,integer} \u5206}"},
+        {"DurationDaysHoursMinutes","{0,choice,1#{0,number,integer} \u65e5 |1.0<{0,number,integer} \u65e5 }{1,choice,0<{1,number,integer} \u6642\u9593 |1#{1,number,integer} \u6642\u9593 |1<{1,number,integer} \u6642\u9593 }{2,choice,0<{2,number,integer} \u5206 |1#{2,number,integer} \u5206 |1.0<{2,number,integer} \u5206}"},
 
-        {"DurationHoursMinutes","{0,choice,1#{0,number,integer} \u6642\u9593 |1<{0,number,integer} \u6642\u9593 }" +
-                                "{1,choice,0<{1,number,integer} \u5206 |1#{1,number,integer} \u5206 |1.0<{1,number,integer} \u5206}"},
+        {"DurationHoursMinutes","{0,choice,1#{0,number,integer} \u6642\u9593 |1<{0,number,integer} \u6642\u9593 }{1,choice,0<{1,number,integer} \u5206 |1#{1,number,integer} \u5206 |1.0<{1,number,integer} \u5206}"},
 
         {"DurationMinutes","{0,choice,1#{0,number,integer} \u5206 |1.0<{0,number,integer} \u5206}"},
         {"DurationSeconds","{0} \u79d2"},
@@ -201,8 +196,6 @@
         {"Help.AboutDialog.title", "JConsole: \u88fd\u54c1\u60c5\u5831"},
         {"Help.AboutDialog.userGuideLink", "JConsole \u30e6\u30fc\u30b6\u30fc\u30ac\u30a4\u30c9:<br>{0}"},
         {"Help.AboutDialog.userGuideLink.mnemonic", 'U'},
-        // Note: The java.sun.com URL should be used for RC, or as soon as the page is available.
-        //{"Help.AboutDialog.UsingJMX.url", "http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html"},
         {"Help.AboutDialog.userGuideLink.url", "http://java.sun.com/javase/6/docs/technotes/guides/management/MonitoringGuide/toc.html"},
         {"HelpMenu.About.title", "JConsole \u306b\u3064\u3044\u3066(A)"},
         {"HelpMenu.About.title.mnemonic", 'A'},
@@ -241,9 +234,22 @@
         {"MBeanNotificationInfo","MBeanNotificationInfo"},
         {"MBeanOperationInfo","MBeanOperationInfo"},
         {"MBeans","MBean"},
+        {"MBeansTab.clearNotificationsButton", "\u6d88\u53bb(C)"},
+        {"MBeansTab.clearNotificationsButton.mnemonic", 'C'},
+        {"MBeansTab.clearNotificationsButton.toolTip", "\u901a\u77e5\u3092\u6d88\u53bb\u3059\u308b"},
+        {"MBeansTab.compositeNavigationMultiple", "\u8907\u5408\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3 {0}/{1}"},
+        {"MBeansTab.compositeNavigationSingle", "\u8907\u5408\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3"},
         {"MBeansTab.refreshAttributesButton", "\u66f4\u65b0(R)"},
         {"MBeansTab.refreshAttributesButton.mnemonic", 'R'},
         {"MBeansTab.refreshAttributesButton.toolTip", "\u5c5e\u6027\u3092\u66f4\u65b0\u3059\u308b"},
+        {"MBeansTab.subscribeNotificationsButton", "\u767b\u9332(S)"},
+        {"MBeansTab.subscribeNotificationsButton.mnemonic", 'S'},
+        {"MBeansTab.subscribeNotificationsButton.toolTip", "\u901a\u77e5\u306e\u5f85\u6a5f\u3092\u958b\u59cb"},
+        {"MBeansTab.tabularNavigationMultiple", "\u8868\u5f62\u5f0f\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3 {0}/{1}"},
+        {"MBeansTab.tabularNavigationSingle", "\u8868\u5f62\u5f0f\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3"},
+        {"MBeansTab.unsubscribeNotificationsButton", "\u767b\u9332\u89e3\u9664(U)"},
+        {"MBeansTab.unsubscribeNotificationsButton.mnemonic", 'U'},
+        {"MBeansTab.unsubscribeNotificationsButton.toolTip", "\u901a\u77e5\u306e\u5f85\u6a5f\u3092\u505c\u6b62"},
         {"Manage Hotspot MBeans in: ", "Hotspot MBean \u3092\u7ba1\u7406: "},
         {"Max","\u6700\u5927"},
         {"Maximum heap size","\u6700\u5927\u30d2\u30fc\u30d7\u30b5\u30a4\u30ba"},
@@ -343,7 +349,6 @@
         {"Source","\u30bd\u30fc\u30b9"},
         {"Stack trace",
              cr + "\u30b9\u30bf\u30c3\u30af\u30c8\u30ec\u30fc\u30b9: " + cr},
-        {"Subscribe","\u767b\u9332"},
         {"Success:","\u6210\u529f:"},
         // Note: SummaryTab.headerDateTimeFormat can be one the following:
         // 1. A combination of two styles for date and time, using the
@@ -357,7 +362,6 @@
         {"SummaryTab.pendingFinalization.value", "{0} \u30aa\u30d6\u30b8\u30a7\u30af\u30c8"},
         {"SummaryTab.tabName", "VM \u306e\u6982\u8981"},
         {"SummaryTab.vmVersion","{0} \u30d0\u30fc\u30b8\u30e7\u30f3 {1}"},
-        {"Tabular Navigation","\u8868\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3"},
         {"TabularData are not supported", "TabularData \u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093"},
         {"Threads","\u30b9\u30ec\u30c3\u30c9"},
         {"ThreadTab.infoLabelFormat", "<html>\u30e9\u30a4\u30d6: {0}    \u30d4\u30fc\u30af: {1}    \u7dcf\u6570: {2}</html>"},
@@ -381,7 +385,6 @@
         {"Unavailable","\u4f7f\u7528\u4e0d\u53ef\u80fd"},
         {"UNKNOWN","UNKNOWN"},
         {"Unknown Host","\u672a\u77e5\u306e\u30db\u30b9\u30c8: {0}"},
-        {"Unsubscribe","\u767b\u9332\u89e3\u9664"},
         {"Unregister", "\u767b\u9332\u89e3\u9664"},
         {"Uptime","\u30a2\u30c3\u30d7\u30bf\u30a4\u30e0"},
         {"Uptime: ","\u30a2\u30c3\u30d7\u30bf\u30a4\u30e0: "},
@@ -409,15 +412,11 @@
         {"You cannot drop a class here", "\u30af\u30e9\u30b9\u3092\u3053\u3053\u306b\u30c9\u30ed\u30c3\u30d7\u3067\u304d\u307e\u305b\u3093"},
         {"collapse", "\u6298\u308a\u305f\u305f\u307f"},
         {"connectionFailed1","\u63a5\u7d9a\u306b\u5931\u6557\u3057\u307e\u3057\u305f: \u518d\u8a66\u884c\u3057\u307e\u3059\u304b?"},
-        {"connectionFailed2","{0} \u3078\u306e\u63a5\u7d9a\u304c\u6210\u529f\u3057\u307e\u305b\u3093\u3067\u3057\u305f\u3002<br>" +
-                             "\u3082\u3046\u4e00\u5ea6\u8a66\u3057\u307e\u3059\u304b?"},
+        {"connectionFailed2","{0} \u3078\u306e\u63a5\u7d9a\u304c\u6210\u529f\u3057\u307e\u305b\u3093\u3067\u3057\u305f\u3002<br>\u3082\u3046\u4e00\u5ea6\u8a66\u3057\u307e\u3059\u304b?"},
         {"connectionLost1","\u63a5\u7d9a\u304c\u5931\u308f\u308c\u307e\u3057\u305f: \u518d\u63a5\u7d9a\u3057\u307e\u3059\u304b?"},
-        {"connectionLost2","\u30ea\u30e2\u30fc\u30c8\u30d7\u30ed\u30bb\u30b9\u304c\u7d42\u4e86\u3057\u305f\u305f\u3081\u3001" +
-                           "{0} \u3078\u306e\u63a5\u7d9a\u304c\u5931\u308f\u308c\u307e\u3057\u305f\u3002<br>" +
-                           "\u518d\u63a5\u7d9a\u3057\u307e\u3059\u304b?"},
+        {"connectionLost2","\u30ea\u30e2\u30fc\u30c8\u30d7\u30ed\u30bb\u30b9\u304c\u7d42\u4e86\u3057\u305f\u305f\u3081\u3001{0} \u3078\u306e\u63a5\u7d9a\u304c\u5931\u308f\u308c\u307e\u3057\u305f\u3002<br>\u518d\u63a5\u7d9a\u3057\u307e\u3059\u304b?"},
         {"connectingTo1","{0} \u306b\u63a5\u7d9a\u3057\u3066\u3044\u307e\u3059"},
-        {"connectingTo2","\u73fe\u5728 {0} \u306b\u63a5\u7d9a\u3057\u3066\u3044\u307e\u3059\u3002<br>" +
-                         "\u3053\u308c\u306b\u306f\u5c11\u3057\u6642\u9593\u304c\u304b\u304b\u308a\u307e\u3059\u3002"},
+        {"connectingTo2","\u73fe\u5728 {0} \u306b\u63a5\u7d9a\u3057\u3066\u3044\u307e\u3059\u3002<br>\u3053\u308c\u306b\u306f\u5c11\u3057\u6642\u9593\u304c\u304b\u304b\u308a\u307e\u3059\u3002"},
         {"deadlockAllTab","\u3059\u3079\u3066"},
         {"deadlockTab","\u30c7\u30c3\u30c9\u30ed\u30c3\u30af"},
         {"deadlockTabN","\u30c7\u30c3\u30c9\u30ed\u30c3\u30af {0}"},
--- a/jdk/src/share/classes/sun/tools/jconsole/resources/JConsoleResources_zh_CN.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/tools/jconsole/resources/JConsoleResources_zh_CN.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 2005-2007 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 2004-2007 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
@@ -114,7 +114,6 @@
         {"ClassTab.infoLabelFormat", "<html>\u5df2\u52a0\u8f7d: {0}    \u672a\u52a0\u8f7d: {1}    \u603b\u8ba1: {2}</html>"},
         {"ClassTab.loadedClassesPlotter.accessibleName", "\u5df2\u88c5\u5165\u7c7b\u7684\u56fe\u8868\u3002"},
         {"Classes","\u7c7b"},
-        {"Clear","\u6e05\u9664"},
         {"Close","\u5173\u95ed"},
         {"Column.Name", "\u540d\u79f0"},
         {"Column.PID", "PID"},
@@ -122,7 +121,6 @@
         {"Committed virtual memory","\u5206\u914d\u7684\u865a\u62df\u5185\u5b58"},
         {"Committed", "\u5206\u914d"},
         {"Compiler","\u7f16\u8bd1\u5668"},
-        {"Composite Navigation", "\u590d\u5408\u6d4f\u89c8"},
         {"CompositeData","\u590d\u5408\u6570\u636e"},
         {"Config","\u914d\u7f6e"},
         {"Connect", "\u8fde\u63a5"},
@@ -158,12 +156,9 @@
         {"Detect Deadlock.toolTip", "\u68c0\u6d4b\u5230\u6b7b\u9501\u7684\u7ebf\u7a0b"},
         {"Dimension is not supported:","\u4e0d\u652f\u6301\u7ef4\uff1a"},
         {"Discard chart", "\u653e\u5f03\u56fe\u8868"},
-        {"DurationDaysHoursMinutes","{0,choice,1#{0,number,integer} day |1.0<{0,number,integer} days }" +
-                                    "{1,choice,0<{1,number,integer} hours |1#{1,number,integer} hour |1<{1,number,integer} hours }" +
-                                    "{2,choice,0<{2,number,integer} minutes|1#{2,number,integer} minute|1.0<{2,number,integer} minutes}"},
+        {"DurationDaysHoursMinutes","{0,choice,1#{0,number,integer} day |1.0<{0,number,integer} days }{1,choice,0<{1,number,integer} hours |1#{1,number,integer} hour |1<{1,number,integer} hours }{2,choice,0<{2,number,integer} minutes|1#{2,number,integer} minute|1.0<{2,number,integer} minutes}"},
 
-        {"DurationHoursMinutes","{0,choice,1#{0,number,integer} hour |1<{0,number,integer} hours }" +
-                                "{1,choice,0<{1,number,integer} minutes|1#{1,number,integer} minute|1.0<{1,number,integer} minutes}"},
+        {"DurationHoursMinutes","{0,choice,1#{0,number,integer} hour |1<{0,number,integer} hours }{1,choice,0<{1,number,integer} minutes|1#{1,number,integer} minute|1.0<{1,number,integer} minutes}"},
 
         {"DurationMinutes","{0,choice,1#{0,number,integer} minute|1.0<{0,number,integer} minutes}"},
         {"DurationSeconds","{0} \u79d2"},
@@ -201,8 +196,6 @@
         {"Help.AboutDialog.title", "JConsole\uff1a\u5173\u4e8e"},
         {"Help.AboutDialog.userGuideLink", "JConsole \u7528\u6237\u6307\u5357:<br>{0}"},
         {"Help.AboutDialog.userGuideLink.mnemonic", 'U'},
-        // Note: The java.sun.com URL should be used for RC, or as soon as the page is available.
-        //{"Help.AboutDialog.UsingJMX.url", "http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html"},
         {"Help.AboutDialog.userGuideLink.url", "http://java.sun.com/javase/6/docs/technotes/guides/management/MonitoringGuide/toc.html"},
         {"HelpMenu.About.title", "\u5173\u4e8e JConsole"},
         {"HelpMenu.About.title.mnemonic", 'A'},
@@ -241,9 +234,22 @@
         {"MBeanNotificationInfo","MBeanNotificationInfo"},
         {"MBeanOperationInfo","MBeanOperationInfo"},
         {"MBeans","MBean"},
-        {"MBeansTab.refreshAttributesButton", "\u5237\u65b0"},
+        {"MBeansTab.clearNotificationsButton", "\u6e05\u9664(C)"},
+        {"MBeansTab.clearNotificationsButton.mnemonic", 'C'},
+        {"MBeansTab.clearNotificationsButton.toolTip", "\u6e05\u9664\u901a\u77e5"},
+        {"MBeansTab.compositeNavigationMultiple", "\u590d\u5408\u5bfc\u822a {0}/{1}"},
+        {"MBeansTab.compositeNavigationSingle", "\u590d\u5408\u5bfc\u822a"},
+        {"MBeansTab.refreshAttributesButton", "\u5237\u65b0(R)"},
         {"MBeansTab.refreshAttributesButton.mnemonic", 'R'},
         {"MBeansTab.refreshAttributesButton.toolTip", "\u5237\u65b0\u5c5e\u6027"},
+        {"MBeansTab.subscribeNotificationsButton", "\u8ba2\u9605(S)"},
+        {"MBeansTab.subscribeNotificationsButton.mnemonic", 'S'},
+        {"MBeansTab.subscribeNotificationsButton.toolTip", "\u5f00\u59cb\u4fa6\u542c\u901a\u77e5"},
+        {"MBeansTab.tabularNavigationMultiple", "\u8868\u683c\u5bfc\u822a {0}/{1}"},
+        {"MBeansTab.tabularNavigationSingle", "\u8868\u683c\u5bfc\u822a"},
+        {"MBeansTab.unsubscribeNotificationsButton", "\u53d6\u6d88\u8ba2\u9605(U)"},
+        {"MBeansTab.unsubscribeNotificationsButton.mnemonic", 'U'},
+        {"MBeansTab.unsubscribeNotificationsButton.toolTip", "\u505c\u6b62\u4fa6\u542c\u901a\u77e5"},
         {"Manage Hotspot MBeans in: ", "\u7ba1\u7406 Hotspot MBean \u4e8e\uff1a "},
         {"Max","\u6700\u5927\u503c"},
         {"Maximum heap size","\u5806\u5927\u5c0f\u7684\u6700\u5927\u503c"},
@@ -262,7 +268,7 @@
         {"Minimize All.mnemonic", 'M'},
         {"Minus Version", "\u8fd9\u662f {0} \u7248\u672c {1}"},
         {"Monitor locked",
-"   - \u5df2\u9501\u5b9a {0}" + cr},
+             "   - \u5df2\u9501\u5b9a {0}" + cr},
         {"Motif","\u4fee\u6539"},
         {"Name Build and Mode","{0}\uff08\u5185\u90e8\u7248\u672c {1}\u3001{2}\uff09"},
         {"Name and Build","{0}\uff08\u5185\u90e8\u7248\u672c {1}\uff09"},
@@ -343,7 +349,6 @@
         {"Source","\u6e90"},
         {"Stack trace",
              cr + "\u5806\u6808\u8ffd\u8e2a\uff1a " + cr},
-        {"Subscribe","\u8ba2\u9605"},
         {"Success:","\u6210\u529f\uff1a"},
         // Note: SummaryTab.headerDateTimeFormat can be one the following:
         // 1. A combination of two styles for date and time, using the
@@ -357,7 +362,6 @@
         {"SummaryTab.pendingFinalization.value", "{0} \u4e2a\u5bf9\u8c61"},
         {"SummaryTab.tabName", "VM \u6458\u8981"},
         {"SummaryTab.vmVersion","{0} \u7248\u672c {1}"},
-        {"Tabular Navigation","\u8868\u683c\u5f0f\u6d4f\u89c8"},
         {"TabularData are not supported", "\u4e0d\u652f\u6301\u8868\u683c\u5f0f\u6570\u636e"},
         {"Threads","\u7ebf\u7a0b"},
         {"ThreadTab.infoLabelFormat", "<html>\u6d3b\u52a8: {0}    \u5cf0\u503c: {1}    \u603b\u8ba1: {2}</html>"},
@@ -381,7 +385,6 @@
         {"Unavailable","\u4e0d\u53ef\u7528"},
         {"UNKNOWN","\u672a\u77e5"},
         {"Unknown Host","\u672a\u77e5\u4e3b\u673a: {0}"},
-        {"Unsubscribe","\u672a\u8ba2\u9605"},
         {"Unregister", "\u672a\u6ce8\u518c"},
         {"Uptime","\u6b63\u5e38\u8fd0\u884c\u65f6\u95f4"},
         {"Uptime: ","\u6b63\u5e38\u8fd0\u884c\u65f6\u95f4\uff1a "},
@@ -409,15 +412,11 @@
         {"You cannot drop a class here", "\u60a8\u4e0d\u80fd\u5c06\u7c7b\u653e\u5728\u6b64\u5904"},
         {"collapse", "\u6298\u53e0"},
         {"connectionFailed1","\u8fde\u63a5\u5931\u8d25\uff1a\u662f\u5426\u91cd\u8bd5\uff1f"},
-        {"connectionFailed2","\u4e0e {0} \u7684\u8fde\u63a5\u672a\u6210\u529f\u3002<br>" +
-"\u662f\u5426\u8981\u91cd\u8bd5\uff1f"},
+        {"connectionFailed2","\u4e0e {0} \u7684\u8fde\u63a5\u672a\u6210\u529f\u3002<br>\u662f\u5426\u8981\u91cd\u8bd5\uff1f"},
         {"connectionLost1","\u8fde\u63a5\u65ad\u5f00\uff1a\u662f\u5426\u91cd\u65b0\u8fde\u63a5\uff1f"},
-        {"connectionLost2","\u4e0e {0} \u7684\u8fde\u63a5\u5df2\u65ad\u5f00" +
-                           "\u539f\u56e0\u662f\u5df2\u7ec8\u6b62\u8fdc\u7a0b\u8fdb\u7a0b\u3002<br>" +
-                           "\u662f\u5426\u8981\u91cd\u65b0\u8fde\u63a5\uff1f"},
+        {"connectionLost2","\u4e0e {0} \u7684\u8fde\u63a5\u5df2\u65ad\u5f00\u539f\u56e0\u662f\u5df2\u7ec8\u6b62\u8fdc\u7a0b\u8fdb\u7a0b\u3002<br>\u662f\u5426\u8981\u91cd\u65b0\u8fde\u63a5\uff1f"},
         {"connectingTo1","\u6b63\u5728\u8fde\u63a5\u81f3 {0}"},
-        {"connectingTo2","\u5f53\u524d\u6b63\u5728\u8fde\u63a5\u81f3 {0}\u3002<br>" +
-"\u8fd9\u5c06\u4f1a\u82b1\u8d39\u4e00\u4e9b\u65f6\u95f4\u3002"},
+        {"connectingTo2","\u5f53\u524d\u6b63\u5728\u8fde\u63a5\u81f3 {0}\u3002<br>\u8fd9\u5c06\u4f1a\u82b1\u8d39\u4e00\u4e9b\u65f6\u95f4\u3002"},
         {"deadlockAllTab","\u5168\u90e8"},
         {"deadlockTab","\u6b7b\u9501"},
         {"deadlockTabN","\u6b7b\u9501 {0}"},
@@ -435,7 +434,7 @@
              "  -version    \u8f93\u51fa\u7a0b\u5e8f\u7248\u672c" + cr +
              cr +
              "  connection = pid || host:port || JMX URL (service:jmx:<protocol>://...)" + cr +
-             "  pid       \u76ee\u6807\u8fdb\u7a0b\u7684\u8fdb\u7a0b ID"+ cr +
+             "  pid       \u76ee\u6807\u8fdb\u7a0b\u7684\u8fdb\u7a0b ID" + cr +
              "  host      \u8fdc\u7a0b\u4e3b\u673a\u540d\u6216 IP \u5730\u5740" + cr +
              "  port      \u7528\u4e8e\u8fdc\u7a0b\u8fde\u63a5\u7684\u7aef\u53e3\u53f7" + cr +
              cr +
--- a/jdk/src/share/classes/sun/util/resources/CalendarData_hu.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/util/resources/CalendarData_hu.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -37,4 +37,4 @@
 
 
 firstDayOfWeek=2
-minimalDaysInFirstWeek=1
+minimalDaysInFirstWeek=4
--- a/jdk/src/share/classes/sun/util/resources/CurrencyNames_uk_UA.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/share/classes/sun/util/resources/CurrencyNames_uk_UA.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -35,4 +35,4 @@
 # This notice and attribution to Taligent may not be removed.
 # Taligent is a registered trademark of Taligent, Inc.
 
-UAH=\u0433\u0440\u043b.
+UAH=\u0433\u0440\u043d.
--- a/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java	Wed Jul 05 17:10:46 2017 +0200
@@ -307,22 +307,35 @@
         } finally {
             awtUnlock();
         }
-
-        Runtime.getRuntime().addShutdownHook(new Thread() {
-            public void run() {
-                XSystemTrayPeer peer = XSystemTrayPeer.getPeerInstance();
-                if (peer != null) {
-                    peer.dispose();
+        PrivilegedAction<Void> a = new PrivilegedAction<Void>() {
+            public Void run() {
+                ThreadGroup mainTG = Thread.currentThread().getThreadGroup();
+                ThreadGroup parentTG = mainTG.getParent();
+                while (parentTG != null) {
+                    mainTG = parentTG;
+                    parentTG = mainTG.getParent();
                 }
-                if (xs != null) {
-                    ((XAWTXSettings)xs).dispose();
-                }
-                freeXKB();
-                if (log.isLoggable(PlatformLogger.FINE)) {
-                    dumpPeers();
-                }
+                Thread shutdownThread = new Thread(mainTG, "XToolkt-Shutdown-Thread") {
+                        public void run() {
+                            XSystemTrayPeer peer = XSystemTrayPeer.getPeerInstance();
+                            if (peer != null) {
+                                peer.dispose();
+                            }
+                            if (xs != null) {
+                                ((XAWTXSettings)xs).dispose();
+                            }
+                            freeXKB();
+                            if (log.isLoggable(PlatformLogger.FINE)) {
+                                dumpPeers();
+                            }
+                        }
+                    };
+                shutdownThread.setContextClassLoader(null);
+                Runtime.getRuntime().addShutdownHook(shutdownThread);
+                return null;
             }
-        });
+        };
+        AccessController.doPrivileged(a);
     }
 
     static String getCorrectXIDString(String val) {
--- a/jdk/src/solaris/classes/sun/awt/X11GraphicsDevice.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/solaris/classes/sun/awt/X11GraphicsDevice.java	Wed Jul 05 17:10:46 2017 +0200
@@ -32,6 +32,8 @@
 import java.awt.GraphicsConfiguration;
 import java.awt.Rectangle;
 import java.awt.Window;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.HashMap;
@@ -402,17 +404,30 @@
             // is already in the original DisplayMode at that time, this
             // hook will have no effect)
             shutdownHookRegistered = true;
-            Runnable r = new Runnable() {
-                public void run() {
-                    Window old = getFullScreenWindow();
-                    if (old != null) {
-                        exitFullScreenExclusive(old);
-                        setDisplayMode(origDisplayMode);
+            PrivilegedAction<Void> a = new PrivilegedAction<Void>() {
+                public Void run() {
+                    ThreadGroup mainTG = Thread.currentThread().getThreadGroup();
+                    ThreadGroup parentTG = mainTG.getParent();
+                    while (parentTG != null) {
+                        mainTG = parentTG;
+                        parentTG = mainTG.getParent();
                     }
+                    Runnable r = new Runnable() {
+                            public void run() {
+                                Window old = getFullScreenWindow();
+                                if (old != null) {
+                                    exitFullScreenExclusive(old);
+                                    setDisplayMode(origDisplayMode);
+                                }
+                            }
+                        };
+                    Thread t = new Thread(mainTG, r,"Display-Change-Shutdown-Thread-"+screen);
+                    t.setContextClassLoader(null);
+                    Runtime.getRuntime().addShutdownHook(t);
+                    return null;
                 }
             };
-            Thread t = new Thread(r,"Display-Change-Shutdown-Thread-"+screen);
-            Runtime.getRuntime().addShutdownHook(t);
+            AccessController.doPrivileged(a);
         }
 
         // switch to the new DisplayMode
--- a/jdk/src/solaris/classes/sun/awt/motif/MToolkit.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/solaris/classes/sun/awt/motif/MToolkit.java	Wed Jul 05 17:10:46 2017 +0200
@@ -156,27 +156,27 @@
             Thread toolkitThread = new Thread(this, "AWT-Motif");
             toolkitThread.setPriority(Thread.NORM_PRIORITY + 1);
             toolkitThread.setDaemon(true);
-            ThreadGroup mainTG = (ThreadGroup)AccessController.doPrivileged(
-                new PrivilegedAction() {
-                    public Object run() {
-                        ThreadGroup currentTG =
-                            Thread.currentThread().getThreadGroup();
-                        ThreadGroup parentTG = currentTG.getParent();
-                        while (parentTG != null) {
-                            currentTG = parentTG;
-                            parentTG = currentTG.getParent();
-                        }
-                        return currentTG;
+
+            PrivilegedAction<Void> a = new PrivilegedAction<Void>() {
+                public Void run() {
+                    ThreadGroup mainTG = Thread.currentThread().getThreadGroup();
+                    ThreadGroup parentTG = mainTG.getParent();
+
+                    while (parentTG != null) {
+                        mainTG = parentTG;
+                        parentTG = mainTG.getParent();
                     }
-            });
-
-            Runtime.getRuntime().addShutdownHook(
-                new Thread(mainTG, new Runnable() {
-                    public void run() {
-                        shutdown();
-                    }
-                }, "Shutdown-Thread")
-            );
+                    Thread shutdownThread = new Thread(mainTG, new Runnable() {
+                            public void run() {
+                                shutdown();
+                            }
+                        }, "Shutdown-Thread");
+                    shutdownThread.setContextClassLoader(null);
+                    Runtime.getRuntime().addShutdownHook(shutdownThread);
+                    return null;
+                }
+            };
+            AccessController.doPrivileged(a);
 
             /*
              * Fix for 4701990.
--- a/jdk/src/windows/classes/sun/awt/windows/WToolkit.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/windows/classes/sun/awt/windows/WToolkit.java	Wed Jul 05 17:10:46 2017 +0200
@@ -266,27 +266,25 @@
         boolean startPump = init();
 
         if (startPump) {
-            ThreadGroup mainTG = (ThreadGroup)AccessController.doPrivileged(
-                new PrivilegedAction() {
-                    public Object run() {
-                        ThreadGroup currentTG =
-                            Thread.currentThread().getThreadGroup();
-                        ThreadGroup parentTG = currentTG.getParent();
-                        while (parentTG != null) {
-                            currentTG = parentTG;
-                            parentTG = currentTG.getParent();
-                        }
-                        return currentTG;
+            AccessController.doPrivileged(new PrivilegedAction() {
+                public Object run() {
+                    ThreadGroup currentTG =
+                        Thread.currentThread().getThreadGroup();
+                    ThreadGroup parentTG = currentTG.getParent();
+                    while (parentTG != null) {
+                        currentTG = parentTG;
+                        parentTG = currentTG.getParent();
                     }
+                    Thread shutdown = new Thread(currentTG, new Runnable() {
+                            public void run() {
+                                shutdown();
+                            }
+                        });
+                    shutdown.setContextClassLoader(null);
+                    Runtime.getRuntime().addShutdownHook(shutdown);
+                    return null;
+                }
             });
-
-            Runtime.getRuntime().addShutdownHook(
-                new Thread(mainTG, new Runnable() {
-                    public void run() {
-                        shutdown();
-                    }
-                })
-            );
         }
 
         synchronized(this) {
--- a/jdk/src/windows/classes/sun/awt/windows/fontconfig.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/windows/classes/sun/awt/windows/fontconfig.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -41,6 +41,7 @@
 allfonts.lucida=Lucida Sans Regular
 allfonts.symbol=Symbol
 allfonts.thai=Lucida Sans Regular
+allfonts.georgian=Sylfaen
 
 serif.plain.alphabetic=Times New Roman
 serif.plain.chinese-ms950=MingLiU
@@ -237,7 +238,7 @@
 
 sequence.fallback=lucida,\
                   chinese-ms950,chinese-hkscs,chinese-ms936,chinese-gb18030,\
-                  japanese,korean,chinese-ms950-extb,chinese-ms936-extb
+                  japanese,korean,chinese-ms950-extb,chinese-ms936-extb,georgian
 
 # Exclusion Ranges
 
@@ -296,3 +297,4 @@
 filename.Symbol=SYMBOL.TTF
 filename.Wingdings=WINGDING.TTF
 
+filename.Sylfaen=sylfaen.ttf
--- a/jdk/src/windows/classes/sun/java2d/d3d/D3DScreenUpdateManager.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/src/windows/classes/sun/java2d/d3d/D3DScreenUpdateManager.java	Wed Jul 05 17:10:46 2017 +0200
@@ -101,17 +101,15 @@
                         currentTG = parentTG;
                         parentTG = currentTG.getParent();
                     }
+                    Thread shutdown = new Thread(currentTG, new Runnable() {
+                            public void run() {
+                                done = true;
+                                wakeUpUpdateThread();
+                            }
+                        });
+                    shutdown.setContextClassLoader(null);
                     try {
-                        Runtime.getRuntime().addShutdownHook(
-                            new Thread(currentTG,
-                                new Runnable() {
-                                    public void run() {
-                                        done = true;
-                                        wakeUpUpdateThread();
-                                    }
-                                }
-                            )
-                        );
+                        Runtime.getRuntime().addShutdownHook(shutdown);
                     } catch (Exception e) {
                         done = true;
                     }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/font/NumericShaper/EasternArabicTest.java	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,118 @@
+/*
+ * Copyright (c) 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.
+ *
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 6941948
+ * @summary Make sure that EASTERN_ARABIC works with the enum interface.
+ */
+
+import java.awt.font.NumericShaper;
+import java.util.EnumSet;
+import static java.awt.font.NumericShaper.*;
+
+public class EasternArabicTest {
+    static NumericShaper ns_old, ns_new;
+    static boolean err = false;
+
+    static String[][] testData = {
+        // Arabic "October 10"
+        {"\u0623\u0643\u062a\u0648\u0628\u0631 10",
+         "\u0623\u0643\u062a\u0648\u0628\u0631 \u06f1\u06f0"}, // EASTERN_ARABIC digits
+
+        // Tamil "Year 2009"
+        {"\u0b86\u0ba3\u0bcd\u0b9f\u0bc1 2009",
+         "\u0b86\u0ba3\u0bcd\u0b9f\u0bc1 \u0be8\u0be6\u0be6\u0bef"},
+        // "\u0be800\u0bef is returned by pre-JDK7 because Tamil zero was not
+        //  included in Unicode 4.0.0.
+
+        // Ethiopic "Syllable<HA> 2009"
+        {"\u1200 2009",
+         "\u1200 \u136a00\u1371"},
+        // Ethiopic zero doesn't exist even in Unicode 5.1.0.
+    };
+
+    public static void main(String[] args) {
+        ns_old = getContextualShaper(TAMIL|ETHIOPIC|EASTERN_ARABIC|ARABIC|THAI|LAO,
+                                     EUROPEAN);
+        ns_new = getContextualShaper(EnumSet.of(Range.THAI,
+                                                Range.TAMIL,
+                                                Range.ETHIOPIC,
+                                                Range.EASTERN_ARABIC,
+                                                Range.ARABIC,
+                                                Range.LAO),
+                                     Range.EUROPEAN);
+
+
+        StringBuilder cData = new StringBuilder();
+        StringBuilder cExpected = new StringBuilder();
+        for (int i = 0; i < testData.length; i++) {
+            String data = testData[i][0];
+            String expected = testData[i][1];
+            test(data, expected);
+            cData.append(data).append(' ');
+            cExpected.append(expected).append(' ');
+        }
+        test(cData.toString(), cExpected.toString());
+
+        if (err) {
+            throw new RuntimeException("shape() returned unexpected value.");
+        }
+    }
+
+    private static void test(String data, String expected) {
+        char[] text = data.toCharArray();
+        ns_old.shape(text, 0, text.length);
+        String got = new String(text);
+
+        if (!expected.equals(got)) {
+            err = true;
+            System.err.println("Error with traditional range.");
+            System.err.println("  text = " + data);
+            System.err.println("  got = " + got);
+            System.err.println("  expected = " + expected);
+        } else {
+            System.err.println("OK with traditional range.");
+            System.err.println("  text = " + data);
+            System.err.println("  got = " + got);
+            System.err.println("  expected = " + expected);
+        }
+
+        text = data.toCharArray();
+        ns_new.shape(text, 0, text.length);
+        got = new String(text);
+
+        if (!expected.equals(got)) {
+            err = true;
+            System.err.println("Error with new Enum range.");
+            System.err.println("  text = " + data);
+            System.err.println("  got = " + got);
+            System.err.println("  expected = " + expected);
+        } else {
+            System.err.println("OK with new Enum range.");
+            System.err.println("  text = " + data);
+            System.err.println("  got = " + got);
+            System.err.println("  expected = " + expected);
+        }
+    }
+}
--- a/jdk/test/java/util/Locale/Bug4175998Test.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/java/util/Locale/Bug4175998Test.java	Wed Jul 05 17:10:46 2017 +0200
@@ -32,16 +32,6 @@
  *
  * (C) Copyright IBM Corp. 1998 - All Rights Reserved
  *
- * Portions Copyright 2007 by Sun Microsystems, Inc.,
- * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
- * All rights reserved.
- *
- * This software is the confidential and proprietary information
- * of Sun Microsystems, Inc. ("Confidential Information").  You
- * shall not disclose such Confidential Information and shall use
- * it only in accordance with the terms of the license agreement
- * you entered into with Sun.
- *
  * The original version of this source code and documentation is
  * copyrighted and owned by IBM. These materials are provided
  * under terms of a License Agreement between IBM and Sun.
--- a/jdk/test/java/util/ResourceBundle/Bug4083270Test.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/java/util/ResourceBundle/Bug4083270Test.java	Wed Jul 05 17:10:46 2017 +0200
@@ -31,16 +31,6 @@
  *
  * (C) Copyright IBM Corp. 1999 - All Rights Reserved
  *
- * Portions Copyright 2007 by Sun Microsystems, Inc.,
- * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
- * All rights reserved.
- *
- * This software is the confidential and proprietary information
- * of Sun Microsystems, Inc. ("Confidential Information").  You
- * shall not disclose such Confidential Information and shall use
- * it only in accordance with the terms of the license agreement
- * you entered into with Sun.
- *
  * The original version of this source code and documentation is
  * copyrighted and owned by IBM. These materials are provided
  * under terms of a License Agreement between IBM and Sun.
--- a/jdk/test/java/util/ResourceBundle/Bug4165815Test.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/java/util/ResourceBundle/Bug4165815Test.java	Wed Jul 05 17:10:46 2017 +0200
@@ -34,16 +34,6 @@
  *
  * (C) Copyright IBM Corp. 1999 - All Rights Reserved
  *
- * Portions Copyright 2007 by Sun Microsystems, Inc.,
- * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
- * All rights reserved.
- *
- * This software is the confidential and proprietary information
- * of Sun Microsystems, Inc. ("Confidential Information").  You
- * shall not disclose such Confidential Information and shall use
- * it only in accordance with the terms of the license agreement
- * you entered into with Sun.
- *
  * The original version of this source code and documentation is
  * copyrighted and owned by IBM. These materials are provided
  * under terms of a License Agreement between IBM and Sun.
--- a/jdk/test/java/util/ResourceBundle/Bug4168625Class.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/java/util/ResourceBundle/Bug4168625Class.java	Wed Jul 05 17:10:46 2017 +0200
@@ -25,16 +25,6 @@
  *
  * (C) Copyright IBM Corp. 1999 - All Rights Reserved
  *
- * Portions Copyright 2007 by Sun Microsystems, Inc.,
- * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
- * All rights reserved.
- *
- * This software is the confidential and proprietary information
- * of Sun Microsystems, Inc. ("Confidential Information").  You
- * shall not disclose such Confidential Information and shall use
- * it only in accordance with the terms of the license agreement
- * you entered into with Sun.
- *
  * The original version of this source code and documentation is
  * copyrighted and owned by IBM. These materials are provided
  * under terms of a License Agreement between IBM and Sun.
--- a/jdk/test/java/util/ResourceBundle/Bug4168625Getter.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/java/util/ResourceBundle/Bug4168625Getter.java	Wed Jul 05 17:10:46 2017 +0200
@@ -25,16 +25,6 @@
  *
  * (C) Copyright IBM Corp. 1999 - All Rights Reserved
  *
- * Portions Copyright 2007 by Sun Microsystems, Inc.,
- * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
- * All rights reserved.
- *
- * This software is the confidential and proprietary information
- * of Sun Microsystems, Inc. ("Confidential Information").  You
- * shall not disclose such Confidential Information and shall use
- * it only in accordance with the terms of the license agreement
- * you entered into with Sun.
- *
  * The original version of this source code and documentation is
  * copyrighted and owned by IBM. These materials are provided
  * under terms of a License Agreement between IBM and Sun.
--- a/jdk/test/java/util/ResourceBundle/Bug4168625Resource.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/java/util/ResourceBundle/Bug4168625Resource.java	Wed Jul 05 17:10:46 2017 +0200
@@ -25,16 +25,6 @@
  *
  * (C) Copyright IBM Corp. 1999 - All Rights Reserved
  *
- * Portions Copyright 2007 by Sun Microsystems, Inc.,
- * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
- * All rights reserved.
- *
- * This software is the confidential and proprietary information
- * of Sun Microsystems, Inc. ("Confidential Information").  You
- * shall not disclose such Confidential Information and shall use
- * it only in accordance with the terms of the license agreement
- * you entered into with Sun.
- *
  * The original version of this source code and documentation is
  * copyrighted and owned by IBM. These materials are provided
  * under terms of a License Agreement between IBM and Sun.
--- a/jdk/test/java/util/ResourceBundle/Bug4168625Resource2.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/java/util/ResourceBundle/Bug4168625Resource2.java	Wed Jul 05 17:10:46 2017 +0200
@@ -25,16 +25,6 @@
  *
  * (C) Copyright IBM Corp. 1999 - All Rights Reserved
  *
- * Portions Copyright 2007 by Sun Microsystems, Inc.,
- * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
- * All rights reserved.
- *
- * This software is the confidential and proprietary information
- * of Sun Microsystems, Inc. ("Confidential Information").  You
- * shall not disclose such Confidential Information and shall use
- * it only in accordance with the terms of the license agreement
- * you entered into with Sun.
- *
  * The original version of this source code and documentation is
  * copyrighted and owned by IBM. These materials are provided
  * under terms of a License Agreement between IBM and Sun.
--- a/jdk/test/java/util/ResourceBundle/Bug4168625Resource2_en_US.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/java/util/ResourceBundle/Bug4168625Resource2_en_US.java	Wed Jul 05 17:10:46 2017 +0200
@@ -25,16 +25,6 @@
  *
  * (C) Copyright IBM Corp. 1999 - All Rights Reserved
  *
- * Portions Copyright 2007 by Sun Microsystems, Inc.,
- * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
- * All rights reserved.
- *
- * This software is the confidential and proprietary information
- * of Sun Microsystems, Inc. ("Confidential Information").  You
- * shall not disclose such Confidential Information and shall use
- * it only in accordance with the terms of the license agreement
- * you entered into with Sun.
- *
  * The original version of this source code and documentation is
  * copyrighted and owned by IBM. These materials are provided
  * under terms of a License Agreement between IBM and Sun.
--- a/jdk/test/java/util/ResourceBundle/Bug4168625Resource3.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/java/util/ResourceBundle/Bug4168625Resource3.java	Wed Jul 05 17:10:46 2017 +0200
@@ -25,16 +25,6 @@
  *
  * (C) Copyright IBM Corp. 1999 - All Rights Reserved
  *
- * Portions Copyright 2007 by Sun Microsystems, Inc.,
- * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
- * All rights reserved.
- *
- * This software is the confidential and proprietary information
- * of Sun Microsystems, Inc. ("Confidential Information").  You
- * shall not disclose such Confidential Information and shall use
- * it only in accordance with the terms of the license agreement
- * you entered into with Sun.
- *
  * The original version of this source code and documentation is
  * copyrighted and owned by IBM. These materials are provided
  * under terms of a License Agreement between IBM and Sun.
--- a/jdk/test/java/util/ResourceBundle/Bug4168625Resource3_en.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/java/util/ResourceBundle/Bug4168625Resource3_en.java	Wed Jul 05 17:10:46 2017 +0200
@@ -25,16 +25,6 @@
  *
  * (C) Copyright IBM Corp. 1999 - All Rights Reserved
  *
- * Portions Copyright 2007 by Sun Microsystems, Inc.,
- * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
- * All rights reserved.
- *
- * This software is the confidential and proprietary information
- * of Sun Microsystems, Inc. ("Confidential Information").  You
- * shall not disclose such Confidential Information and shall use
- * it only in accordance with the terms of the license agreement
- * you entered into with Sun.
- *
  * The original version of this source code and documentation is
  * copyrighted and owned by IBM. These materials are provided
  * under terms of a License Agreement between IBM and Sun.
--- a/jdk/test/java/util/ResourceBundle/Bug4168625Resource3_en_CA.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/java/util/ResourceBundle/Bug4168625Resource3_en_CA.java	Wed Jul 05 17:10:46 2017 +0200
@@ -25,16 +25,6 @@
  *
  * (C) Copyright IBM Corp. 1999 - All Rights Reserved
  *
- * Portions Copyright 2007 by Sun Microsystems, Inc.,
- * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
- * All rights reserved.
- *
- * This software is the confidential and proprietary information
- * of Sun Microsystems, Inc. ("Confidential Information").  You
- * shall not disclose such Confidential Information and shall use
- * it only in accordance with the terms of the license agreement
- * you entered into with Sun.
- *
  * The original version of this source code and documentation is
  * copyrighted and owned by IBM. These materials are provided
  * under terms of a License Agreement between IBM and Sun.
--- a/jdk/test/java/util/ResourceBundle/Bug4168625Resource3_en_IE.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/java/util/ResourceBundle/Bug4168625Resource3_en_IE.java	Wed Jul 05 17:10:46 2017 +0200
@@ -25,16 +25,6 @@
  *
  * (C) Copyright IBM Corp. 1999 - All Rights Reserved
  *
- * Portions Copyright 2007 by Sun Microsystems, Inc.,
- * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
- * All rights reserved.
- *
- * This software is the confidential and proprietary information
- * of Sun Microsystems, Inc. ("Confidential Information").  You
- * shall not disclose such Confidential Information and shall use
- * it only in accordance with the terms of the license agreement
- * you entered into with Sun.
- *
  * The original version of this source code and documentation is
  * copyrighted and owned by IBM. These materials are provided
  * under terms of a License Agreement between IBM and Sun.
--- a/jdk/test/java/util/ResourceBundle/Bug4168625Resource3_en_US.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/java/util/ResourceBundle/Bug4168625Resource3_en_US.java	Wed Jul 05 17:10:46 2017 +0200
@@ -25,16 +25,6 @@
  *
  * (C) Copyright IBM Corp. 1999 - All Rights Reserved
  *
- * Portions Copyright 2007 by Sun Microsystems, Inc.,
- * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
- * All rights reserved.
- *
- * This software is the confidential and proprietary information
- * of Sun Microsystems, Inc. ("Confidential Information").  You
- * shall not disclose such Confidential Information and shall use
- * it only in accordance with the terms of the license agreement
- * you entered into with Sun.
- *
  * The original version of this source code and documentation is
  * copyrighted and owned by IBM. These materials are provided
  * under terms of a License Agreement between IBM and Sun.
--- a/jdk/test/java/util/ResourceBundle/Bug4177489Test.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/java/util/ResourceBundle/Bug4177489Test.java	Wed Jul 05 17:10:46 2017 +0200
@@ -32,16 +32,6 @@
  *
  * (C) Copyright IBM Corp. 1999 - All Rights Reserved
  *
- * Portions Copyright 2007 by Sun Microsystems, Inc.,
- * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
- * All rights reserved.
- *
- * This software is the confidential and proprietary information
- * of Sun Microsystems, Inc. ("Confidential Information").  You
- * shall not disclose such Confidential Information and shall use
- * it only in accordance with the terms of the license agreement
- * you entered into with Sun.
- *
  * The original version of this source code and documentation is
  * copyrighted and owned by IBM. These materials are provided
  * under terms of a License Agreement between IBM and Sun.
--- a/jdk/test/java/util/ResourceBundle/Bug4177489_Resource.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/java/util/ResourceBundle/Bug4177489_Resource.java	Wed Jul 05 17:10:46 2017 +0200
@@ -25,16 +25,6 @@
  *
  * (C) Copyright IBM Corp. 1999 - All Rights Reserved
  *
- * Portions Copyright 2007 by Sun Microsystems, Inc.,
- * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
- * All rights reserved.
- *
- * This software is the confidential and proprietary information
- * of Sun Microsystems, Inc. ("Confidential Information").  You
- * shall not disclose such Confidential Information and shall use
- * it only in accordance with the terms of the license agreement
- * you entered into with Sun.
- *
  * The original version of this source code and documentation is
  * copyrighted and owned by IBM. These materials are provided
  * under terms of a License Agreement between IBM and Sun.
--- a/jdk/test/java/util/ResourceBundle/Bug4177489_Resource_jf.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/java/util/ResourceBundle/Bug4177489_Resource_jf.java	Wed Jul 05 17:10:46 2017 +0200
@@ -25,16 +25,6 @@
  *
  * (C) Copyright IBM Corp. 1999 - All Rights Reserved
  *
- * Portions Copyright 2007 by Sun Microsystems, Inc.,
- * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
- * All rights reserved.
- *
- * This software is the confidential and proprietary information
- * of Sun Microsystems, Inc. ("Confidential Information").  You
- * shall not disclose such Confidential Information and shall use
- * it only in accordance with the terms of the license agreement
- * you entered into with Sun.
- *
  * The original version of this source code and documentation is
  * copyrighted and owned by IBM. These materials are provided
  * under terms of a License Agreement between IBM and Sun.
--- a/jdk/test/java/util/regex/RegExTest.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/java/util/regex/RegExTest.java	Wed Jul 05 17:10:46 2017 +0200
@@ -32,7 +32,7 @@
  * 4872664 4803179 4892980 4900747 4945394 4938995 4979006 4994840 4997476
  * 5013885 5003322 4988891 5098443 5110268 6173522 4829857 5027748 6376940
  * 6358731 6178785 6284152 6231989 6497148 6486934 6233084 6504326 6635133
- * 6350801 6676425 6878475 6919132
+ * 6350801 6676425 6878475 6919132 6931676
  */
 
 import java.util.regex.*;
@@ -3515,7 +3515,7 @@
         report("NamedGroupCapture");
     }
 
-    // This is for bug 6969132
+    // This is for bug 6919132
     private static void nonBmpClassComplementTest() throws Exception {
         Pattern p = Pattern.compile("\\P{Lu}");
         Matcher m = p.matcher(new String(new int[] {0x1d400}, 0, 1));
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/awt/font/ClassLoaderLeakTest.java	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,220 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+/**
+ * @test
+ * @bug     6936389
+ *
+ * @summary Test verifes that LogManager shutdown hook does not cause
+ *          an application classloader leaks.
+ *
+ * @run     main/othervm ClassLoaderLeakTest FontManagerTest
+ */
+
+import java.awt.Font;
+import java.awt.Graphics;
+import java.io.File;
+import java.lang.ref.WeakReference;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Method;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.concurrent.CountDownLatch;
+
+public class ClassLoaderLeakTest {
+
+    private static CountDownLatch doneSignal;
+    private static CountDownLatch launchSignal;
+    private static Throwable launchFailure = null;
+
+    public static void main(String[] args) {
+        doneSignal = new CountDownLatch(1);
+        launchSignal = new CountDownLatch(1);
+
+        String testcase = "FontManagerTest";
+
+        if (args.length > 0) {
+            testcase = args[0];
+        }
+
+        /* prepare test  class loader */
+        URL pwd = null;
+        try {
+
+            pwd = new File(System.getProperty("test.classes", ".")).toURL();
+        } catch (MalformedURLException e) {
+            throw new RuntimeException("Test failed.", e);
+        }
+        System.out.println("PWD: " + pwd);
+        URL[] urls = new URL[]{pwd};
+
+        MyClassLoader appClassLoader = new MyClassLoader(urls, "test0");
+        WeakReference<MyClassLoader> ref =
+            new WeakReference<MyClassLoader>(appClassLoader);
+
+        ThreadGroup appsThreadGroup = new ThreadGroup("MyAppsThreadGroup");
+
+        Runnable launcher = new TestLauncher(testcase);
+
+        Thread appThread = new Thread(appsThreadGroup, launcher, "AppThread-0");
+        appThread.setContextClassLoader(appClassLoader);
+
+        appThread.start();
+        appsThreadGroup = null;
+        appClassLoader = null;
+        launcher = null;
+        appThread = null;
+
+        /* wait for laucnh completion */
+        try {
+            launchSignal.await();
+        } catch (InterruptedException e) {
+        }
+
+        /* check if launch failed */
+        if (launchFailure != null) {
+            throw new RuntimeException("Test failed.", launchFailure);
+        }
+
+        /* wait for test app excution completion */
+        try {
+            doneSignal.await();
+        } catch (InterruptedException e) {
+        }
+
+        /* give a chance to GC */
+        waitAndGC(9);
+
+        if (ref.get() != null) {
+            throw new RuntimeException("Test failed: classloader is still alive");
+        }
+
+
+        System.out.println("Test passed.");
+    }
+
+    private static class TestLauncher implements Runnable {
+
+        private String className;
+
+        public TestLauncher(String name) {
+            className = name;
+        }
+
+        public void run() {
+            try {
+                ClassLoader cl =
+                    Thread.currentThread().getContextClassLoader();
+                Class appMain = cl.loadClass(className);
+                Method launch =
+                    appMain.getMethod("launch", doneSignal.getClass());
+
+                Constructor c = appMain.getConstructor();
+
+                Object o = c.newInstance();
+
+                launch.invoke(o, doneSignal);
+
+            } catch (Throwable e) {
+                launchFailure = e;
+            } finally {
+                launchSignal.countDown();
+            }
+        }
+    }
+
+    private static class MyClassLoader extends URLClassLoader {
+
+        private static boolean verbose =
+            Boolean.getBoolean("verboseClassLoading");
+        private String uniqClassName;
+
+        public MyClassLoader(URL[] urls, String uniq) {
+            super(urls);
+
+            uniqClassName = uniq;
+        }
+
+        public Class loadClass(String name) throws ClassNotFoundException {
+            if (verbose) {
+                System.out.printf("%s: load class %s\n", uniqClassName, name);
+            }
+            if (uniqClassName.equals(name)) {
+                return Object.class;
+            }
+            return super.loadClass(name);
+        }
+
+        public String toString() {
+            return "MyClassLoader(" + uniqClassName + ")";
+        }
+    }
+
+    private static void waitAndGC(int sec) {
+        int cnt = sec;
+        System.out.print("Wait ");
+        while (cnt-- > 0) {
+            try {
+                Thread.sleep(1000);
+            } catch (InterruptedException e) {
+            }
+            // do GC every 3 seconds
+            if (cnt % 3 == 2) {
+                System.gc();
+                System.out.print("+");
+            } else {
+                System.out.print(".");
+            }
+            //checkErrors();
+        }
+        System.out.println("");
+    }
+}
+
+abstract class AppTest {
+
+    public AppTest() {
+    }
+
+    protected abstract void doTest();
+
+    public void launch(CountDownLatch done) {
+        System.out.println("Testcase: " + this.getClass().getName());
+        try {
+            doTest();
+        } finally {
+            done.countDown();
+        }
+    }
+}
+
+class FontManagerTest extends AppTest {
+
+    public FontManagerTest() {
+    }
+
+    protected void doTest() {
+        Font f = new Font(Font.SANS_SERIF, Font.ITALIC, 24);
+        f.getNumGlyphs();
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/security/krb5/Krb5NameEquals.java	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,78 @@
+/*
+ * Copyright 2007-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.
+ *
+ * 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.
+ */
+
+/*
+ * @bug 4634392
+ * @summary JDK code doesn't respect contract for equals and hashCode
+ * @author Andrew Fan
+ */
+
+import org.ietf.jgss.*;
+
+public class Krb5NameEquals {
+
+    private static String NAME_STR1 = "service@host";
+    private static String NAME_STR2 = "service@host2";
+    private static final Oid MECH;
+
+    static {
+        Oid temp = null;
+        try {
+            temp = new Oid("1.2.840.113554.1.2.2"); // KRB5
+        } catch (Exception e) {
+            // should never happen
+        }
+        MECH = temp;
+    }
+
+    public static void main(String[] argv) throws Exception {
+        GSSManager mgr = GSSManager.getInstance();
+
+        boolean result = true;
+        // Create GSSName and check their equals(), hashCode() impl
+        GSSName name1 = mgr.createName(NAME_STR1,
+            GSSName.NT_HOSTBASED_SERVICE, MECH);
+        GSSName name2 = mgr.createName(NAME_STR2,
+            GSSName.NT_HOSTBASED_SERVICE, MECH);
+        GSSName name3 = mgr.createName(NAME_STR1,
+            GSSName.NT_HOSTBASED_SERVICE, MECH);
+
+        if (!name1.equals(name3) || !name1.equals(name3) ||
+            !name1.equals((Object) name1) ||
+            !name1.equals((Object) name3)) {
+            System.out.println("Error: should be the same name");
+            result = false;
+        } else if (name1.hashCode() != name3.hashCode()) {
+            System.out.println("Error: should have same hash");
+            result = false;
+        }
+
+        if (name1.equals(name2) || name1.equals((Object) name2)) {
+            System.out.println("Error: should be different names");
+            result = false;
+        }
+        if (result) {
+            System.out.println("Done");
+        } else System.exit(1);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/security/krb5/runNameEquals.sh	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,106 @@
+#
+# Copyright 2009-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.
+#
+# 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.
+#
+
+# @test
+# @bug 6317711 6944847
+# @summary Ensure the GSSName has the correct impl which respects
+# the contract for equals and hashCode across different configurations.
+
+# set a few environment variables so that the shell-script can run stand-alone
+# in the source directory
+
+if [ "${TESTSRC}" = "" ] ; then
+   TESTSRC="."
+fi
+
+if [ "${TESTCLASSES}" = "" ] ; then
+   TESTCLASSES="."
+fi
+
+if [ "${TESTJAVA}" = "" ] ; then
+   echo "TESTJAVA not set.  Test cannot execute."
+   echo "FAILED!!!"
+   exit 1
+fi
+
+NATIVE=false
+
+# set platform-dependent variables
+OS=`uname -s`
+case "$OS" in
+  SunOS )
+    PATHSEP=":"
+    FILESEP="/"
+    NATIVE=true
+    ;;
+  Linux )
+    PATHSEP=":"
+    FILESEP="/"
+    NATIVE=true
+    ;;
+  CYGWIN* )
+    PATHSEP=";"
+    FILESEP="/"
+    ;;
+  Windows* )
+    PATHSEP=";"
+    FILESEP="\\"
+    ;;
+  * )
+    echo "Unrecognized system!"
+    exit 1;
+    ;;
+esac
+
+TEST=Krb5NameEquals
+
+${TESTJAVA}${FILESEP}bin${FILESEP}javac \
+    -d ${TESTCLASSES}${FILESEP} \
+    ${TESTSRC}${FILESEP}${TEST}.java
+
+EXIT_STATUS=0
+
+if [ "${NATIVE}" = "true" ] ; then
+    echo "Testing native provider"
+    ${TESTJAVA}${FILESEP}bin${FILESEP}java \
+        -classpath ${TESTCLASSES} \
+        -Dsun.security.jgss.native=true \
+        ${TEST}
+    if [ $? != 0 ] ; then
+        echo "Native provider fails"
+        EXIT_STATUS=1
+    fi
+fi
+
+echo "Testing java provider"
+${TESTJAVA}${FILESEP}bin${FILESEP}java \
+        -classpath ${TESTCLASSES} \
+        -Djava.security.krb5.realm=R \
+        -Djava.security.krb5.kdc=127.0.0.1 \
+        ${TEST}
+if [ $? != 0 ] ; then
+    echo "Java provider fails"
+    EXIT_STATUS=1
+fi
+
+exit ${EXIT_STATUS}
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/DNSIdentities.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/DNSIdentities.java	Wed Jul 05 17:10:46 2017 +0200
@@ -624,6 +624,11 @@
     volatile static boolean serverReady = false;
 
     /*
+     * Is the connection ready to close?
+     */
+    volatile static boolean closeReady = false;
+
+    /*
      * Turn on SSL debugging?
      */
     static boolean debug = false;
@@ -652,9 +657,6 @@
 
         SSLSocket sslSocket = (SSLSocket) sslServerSocket.accept();
         sslSocket.setNeedClientAuth(true);
-        if (sslSocket instanceof SSLSocketImpl) {
-            ((SSLSocketImpl)sslSocket).trySetHostnameVerification("HTTPS");
-        }
 
         PrintStream out =
                 new PrintStream(sslSocket.getOutputStream());
@@ -670,11 +672,14 @@
             out.print("Testing\r\n");
             out.flush();
         } finally {
-             // close the socket
-             Thread.sleep(2000);
-             System.out.println("Server closing socket");
-             sslSocket.close();
-             serverReady = false;
+            // close the socket
+            while (!closeReady) {
+                Thread.sleep(50);
+            }
+
+            System.out.println("Server closing socket");
+            sslSocket.close();
+            serverReady = false;
         }
 
     }
@@ -704,12 +709,17 @@
         URL url = new URL("https://localhost:" + serverPort+"/");
         System.out.println("url is "+url.toString());
 
-        http = (HttpsURLConnection)url.openConnection();
+        try {
+            http = (HttpsURLConnection)url.openConnection();
 
-        int respCode = http.getResponseCode();
-        System.out.println("respCode = "+respCode);
-
-        http.disconnect();
+            int respCode = http.getResponseCode();
+            System.out.println("respCode = "+respCode);
+        } finally {
+            if (http != null) {
+                http.disconnect();
+            }
+            closeReady = true;
+        }
     }
 
     /*
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsPost.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsPost.java	Wed Jul 05 17:10:46 2017 +0200
@@ -61,6 +61,11 @@
     volatile static boolean serverReady = false;
 
     /*
+     * Is the connection ready to close?
+     */
+    volatile static boolean closeReady = false;
+
+    /*
      * Turn on SSL debugging?
      */
     static boolean debug = false;
@@ -98,25 +103,34 @@
         serverReady = true;
 
         SSLSocket sslSocket = (SSLSocket) sslServerSocket.accept();
-        InputStream sslIS = sslSocket.getInputStream();
-        OutputStream sslOS = sslSocket.getOutputStream();
-        BufferedReader br = new BufferedReader(new InputStreamReader(sslIS));
-        PrintStream ps = new PrintStream(sslOS);
-        // process HTTP POST request from client
-        System.out.println("status line: "+br.readLine());
-        String msg = null;
-        while ((msg = br.readLine()) != null && msg.length() > 0);
+        try {
+            InputStream sslIS = sslSocket.getInputStream();
+            OutputStream sslOS = sslSocket.getOutputStream();
+            BufferedReader br =
+                        new BufferedReader(new InputStreamReader(sslIS));
+            PrintStream ps = new PrintStream(sslOS);
+
+            // process HTTP POST request from client
+            System.out.println("status line: "+br.readLine());
+            String msg = null;
+            while ((msg = br.readLine()) != null && msg.length() > 0);
 
-        msg = br.readLine();
-        if (msg.equals(postMsg)) {
-            ps.println("HTTP/1.1 200 OK\n\n");
-        } else {
-            ps.println("HTTP/1.1 500 Not OK\n\n");
+            msg = br.readLine();
+            if (msg.equals(postMsg)) {
+                ps.println("HTTP/1.1 200 OK\n\n");
+            } else {
+                ps.println("HTTP/1.1 500 Not OK\n\n");
+            }
+            ps.flush();
+
+            // close the socket
+            while (!closeReady) {
+                Thread.sleep(50);
+            }
+        } finally {
+            sslSocket.close();
+            sslServerSocket.close();
         }
-        ps.flush();
-        Thread.sleep(2000);
-        sslSocket.close();
-        sslServerSocket.close();
     }
 
     /*
@@ -144,12 +158,17 @@
 
         http.setRequestMethod("POST");
         PrintStream ps = new PrintStream(http.getOutputStream());
-        ps.println(postMsg);
-        ps.flush();
-        if (http.getResponseCode() != 200) {
-            throw new RuntimeException("test Failed");
+        try {
+            ps.println(postMsg);
+            ps.flush();
+            if (http.getResponseCode() != 200) {
+                throw new RuntimeException("test Failed");
+            }
+        } finally {
+            ps.close();
+            http.disconnect();
+            closeReady = true;
         }
-        ps.close();
     }
 
     static class NameVerifier implements HostnameVerifier {
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPAddressDNSIdentities.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPAddressDNSIdentities.java	Wed Jul 05 17:10:46 2017 +0200
@@ -624,6 +624,11 @@
     volatile static boolean serverReady = false;
 
     /*
+     * Is the connection ready to close?
+     */
+    volatile static boolean closeReady = false;
+
+    /*
      * Turn on SSL debugging?
      */
     static boolean debug = false;
@@ -652,9 +657,6 @@
 
         SSLSocket sslSocket = (SSLSocket) sslServerSocket.accept();
         sslSocket.setNeedClientAuth(true);
-        if (sslSocket instanceof SSLSocketImpl) {
-            ((SSLSocketImpl)sslSocket).trySetHostnameVerification("HTTPS");
-        }
 
         PrintStream out =
                 new PrintStream(sslSocket.getOutputStream());
@@ -670,11 +672,14 @@
             out.print("Testing\r\n");
             out.flush();
         } finally {
-             // close the socket
-             Thread.sleep(2000);
-             System.out.println("Server closing socket");
-             sslSocket.close();
-             serverReady = false;
+            // close the socket
+            while (!closeReady) {
+                Thread.sleep(50);
+            }
+
+            System.out.println("Server closing socket");
+            sslSocket.close();
+            serverReady = false;
         }
 
     }
@@ -716,7 +721,10 @@
             // no subject alternative names matching IP address 127.0.0.1 found
             // that's the expected exception, ignore it.
         } finally {
-            http.disconnect();
+            if (http != null) {
+                http.disconnect();
+            }
+            closeReady = true;
         }
     }
 
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPAddressIPIdentities.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPAddressIPIdentities.java	Wed Jul 05 17:10:46 2017 +0200
@@ -625,6 +625,11 @@
     volatile static boolean serverReady = false;
 
     /*
+     * Is the connection ready to close?
+     */
+    volatile static boolean closeReady = false;
+
+    /*
      * Turn on SSL debugging?
      */
     static boolean debug = false;
@@ -653,9 +658,6 @@
 
         SSLSocket sslSocket = (SSLSocket) sslServerSocket.accept();
         sslSocket.setNeedClientAuth(true);
-        if (sslSocket instanceof SSLSocketImpl) {
-            ((SSLSocketImpl)sslSocket).trySetHostnameVerification("HTTPS");
-        }
 
         PrintStream out =
                 new PrintStream(sslSocket.getOutputStream());
@@ -672,7 +674,10 @@
             out.flush();
         } finally {
              // close the socket
-             Thread.sleep(2000);
+             while (!closeReady) {
+                 Thread.sleep(50);
+             }
+
              System.out.println("Server closing socket");
              sslSocket.close();
              serverReady = false;
@@ -705,12 +710,17 @@
         URL url = new URL("https://127.0.0.1:" + serverPort+"/");
         System.out.println("url is "+url.toString());
 
-        http = (HttpsURLConnection)url.openConnection();
+        try {
+            http = (HttpsURLConnection)url.openConnection();
 
-        int respCode = http.getResponseCode();
-        System.out.println("respCode = "+respCode);
-
-        http.disconnect();
+            int respCode = http.getResponseCode();
+            System.out.println("respCode = "+respCode);
+        } finally {
+            if (http != null) {
+                http.disconnect();
+            }
+            closeReady = true;
+        }
     }
 
     /*
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPIdentities.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPIdentities.java	Wed Jul 05 17:10:46 2017 +0200
@@ -625,6 +625,11 @@
     volatile static boolean serverReady = false;
 
     /*
+     * Is the connection ready to close?
+     */
+    volatile static boolean closeReady = false;
+
+    /*
      * Turn on SSL debugging?
      */
     static boolean debug = false;
@@ -653,9 +658,6 @@
 
         SSLSocket sslSocket = (SSLSocket) sslServerSocket.accept();
         sslSocket.setNeedClientAuth(true);
-        if (sslSocket instanceof SSLSocketImpl) {
-            ((SSLSocketImpl)sslSocket).trySetHostnameVerification("HTTPS");
-        }
 
         PrintStream out =
                 new PrintStream(sslSocket.getOutputStream());
@@ -672,7 +674,10 @@
             out.flush();
         } finally {
              // close the socket
-             Thread.sleep(2000);
+             while (!closeReady) {
+                 Thread.sleep(50);
+             }
+
              System.out.println("Server closing socket");
              sslSocket.close();
              serverReady = false;
@@ -705,12 +710,17 @@
         URL url = new URL("https://localhost:" + serverPort+"/");
         System.out.println("url is "+url.toString());
 
-        http = (HttpsURLConnection)url.openConnection();
+        try {
+            http = (HttpsURLConnection)url.openConnection();
 
-        int respCode = http.getResponseCode();
-        System.out.println("respCode = "+respCode);
-
-        http.disconnect();
+            int respCode = http.getResponseCode();
+            System.out.println("respCode = "+respCode);
+        } finally {
+            if (http != null) {
+                http.disconnect();
+            }
+            closeReady = true;
+        }
     }
 
     /*
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/Identities.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/Identities.java	Wed Jul 05 17:10:46 2017 +0200
@@ -624,6 +624,11 @@
     volatile static boolean serverReady = false;
 
     /*
+     * Is the connection ready to close?
+     */
+    volatile static boolean closeReady = false;
+
+    /*
      * Turn on SSL debugging?
      */
     static boolean debug = false;
@@ -652,9 +657,6 @@
 
         SSLSocket sslSocket = (SSLSocket) sslServerSocket.accept();
         sslSocket.setNeedClientAuth(true);
-        if (sslSocket instanceof SSLSocketImpl) {
-            ((SSLSocketImpl)sslSocket).trySetHostnameVerification("HTTPS");
-        }
 
         PrintStream out =
                 new PrintStream(sslSocket.getOutputStream());
@@ -671,7 +673,10 @@
             out.flush();
         } finally {
              // close the socket
-             Thread.sleep(2000);
+             while (!closeReady) {
+                 Thread.sleep(50);
+             }
+
              System.out.println("Server closing socket");
              sslSocket.close();
              serverReady = false;
@@ -704,12 +709,17 @@
         URL url = new URL("https://localhost:" + serverPort+"/");
         System.out.println("url is "+url.toString());
 
-        http = (HttpsURLConnection)url.openConnection();
+        try {
+            http = (HttpsURLConnection)url.openConnection();
 
-        int respCode = http.getResponseCode();
-        System.out.println("respCode = "+respCode);
-
-        http.disconnect();
+            int respCode = http.getResponseCode();
+            System.out.println("respCode = "+respCode);
+        } finally {
+            if (http != null) {
+                http.disconnect();
+            }
+            closeReady = true;
+        }
     }
 
     /*
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/Redirect.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/Redirect.java	Wed Jul 05 17:10:46 2017 +0200
@@ -61,6 +61,11 @@
     volatile static boolean serverReady = false;
 
     /*
+     * Is the connection ready to close?
+     */
+    volatile static boolean closeReady = false;
+
+    /*
      * Turn on SSL debugging?
      */
     static boolean debug = false;
@@ -98,24 +103,33 @@
         serverReady = true;
 
         SSLSocket sslSocket = (SSLSocket) sslServerSocket.accept();
-        InputStream sslIS = sslSocket.getInputStream();
-        OutputStream sslOS = sslSocket.getOutputStream();
-        BufferedReader br = new BufferedReader(new InputStreamReader(sslIS));
-        PrintStream ps = new PrintStream(sslOS);
-        // process HTTP POST request from client
-        System.out.println("status line: "+br.readLine());
+        try {
+            InputStream sslIS = sslSocket.getInputStream();
+            OutputStream sslOS = sslSocket.getOutputStream();
+            BufferedReader br =
+                        new BufferedReader(new InputStreamReader(sslIS));
+            PrintStream ps = new PrintStream(sslOS);
+
+            // process HTTP POST request from client
+            System.out.println("status line: "+br.readLine());
 
-        ps.println("HTTP/1.1 307 Redirect");
-        ps.println("Location: https://localhost:"+serverPort+"/index.html\n\n");
-        ps.flush();
-        sslSocket = (SSLSocket) sslServerSocket.accept();
-        sslOS = sslSocket.getOutputStream();
-        ps = new PrintStream(sslOS);
-        ps.println("HTTP/1.1 200 Redirect succeeded\n\n");
-        ps.flush();
-        Thread.sleep(2000);
-        sslSocket.close();
-        sslServerSocket.close();
+            ps.println("HTTP/1.1 307 Redirect");
+            ps.println("Location: https://localhost:" + serverPort +
+                                                            "/index.html\n\n");
+            ps.flush();
+            sslSocket = (SSLSocket) sslServerSocket.accept();
+            sslOS = sslSocket.getOutputStream();
+            ps = new PrintStream(sslOS);
+            ps.println("HTTP/1.1 200 Redirect succeeded\n\n");
+            ps.flush();
+        } finally {
+            // close the socket
+            while (!closeReady) {
+                Thread.sleep(50);
+            }
+            sslSocket.close();
+            sslServerSocket.close();
+        }
     }
 
     /*
@@ -139,10 +153,14 @@
         HttpsURLConnection.setDefaultHostnameVerifier(
                                       new NameVerifier());
         HttpsURLConnection http = (HttpsURLConnection)url.openConnection();
-
-        System.out.println("response header: "+http.getHeaderField(0));
-        if (http.getResponseCode() != 200) {
-            throw new RuntimeException("test Failed");
+        try {
+            System.out.println("response header: "+http.getHeaderField(0));
+            if (http.getResponseCode() != 200) {
+                throw new RuntimeException("test Failed");
+            }
+        } finally {
+            http.disconnect();
+            closeReady = true;
         }
     }
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/security/tools/jarsigner/TimestampCheck.java	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,294 @@
+/*
+ * Copyright 2003-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.
+ *
+ * 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.
+ */
+
+import com.sun.net.httpserver.*;
+import java.io.BufferedReader;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.math.BigInteger;
+import java.net.InetSocketAddress;
+import java.security.KeyStore;
+import java.security.PrivateKey;
+import java.security.Signature;
+import java.security.cert.Certificate;
+import java.security.cert.X509Certificate;
+import java.util.Calendar;
+import sun.security.pkcs.ContentInfo;
+import sun.security.pkcs.PKCS7;
+import sun.security.pkcs.SignerInfo;
+import sun.security.util.DerOutputStream;
+import sun.security.util.DerValue;
+import sun.security.util.ObjectIdentifier;
+import sun.security.x509.AlgorithmId;
+import sun.security.x509.X500Name;
+
+public class TimestampCheck {
+    static final String TSKS = "tsks";
+    static final String JAR = "old.jar";
+
+    static class Handler implements HttpHandler {
+        public void handle(HttpExchange t) throws IOException {
+            int len = 0;
+            for (String h: t.getRequestHeaders().keySet()) {
+                if (h.equalsIgnoreCase("Content-length")) {
+                    len = Integer.valueOf(t.getRequestHeaders().get(h).get(0));
+                }
+            }
+            byte[] input = new byte[len];
+            t.getRequestBody().read(input);
+
+            try {
+                int path = 0;
+                if (t.getRequestURI().getPath().length() > 1) {
+                    path = Integer.parseInt(
+                            t.getRequestURI().getPath().substring(1));
+                }
+                byte[] output = sign(input, path);
+                Headers out = t.getResponseHeaders();
+                out.set("Content-Type", "application/timestamp-reply");
+
+                t.sendResponseHeaders(200, output.length);
+                OutputStream os = t.getResponseBody();
+                os.write(output);
+            } catch (Exception e) {
+                e.printStackTrace();
+                t.sendResponseHeaders(500, 0);
+            }
+            t.close();
+        }
+
+        /**
+         * @param input The data to sign
+         * @param path different cases to simulate, impl on URL path
+         * 0: normal
+         * 1: Missing nonce
+         * 2: Different nonce
+         * 3: Bad digets octets in messageImprint
+         * 4: Different algorithmId in messageImprint
+         * 5: whole chain in cert set
+         * 6: extension is missing
+         * 7: extension is non-critical
+         * 8: extension does not have timestamping
+         * @returns the signed
+         */
+        byte[] sign(byte[] input, int path) throws Exception {
+            // Read TSRequest
+            DerValue value = new DerValue(input);
+            System.err.println("\nIncoming Request\n===================");
+            System.err.println("Version: " + value.data.getInteger());
+            DerValue messageImprint = value.data.getDerValue();
+            AlgorithmId aid = AlgorithmId.parse(
+                    messageImprint.data.getDerValue());
+            System.err.println("AlgorithmId: " + aid);
+
+            BigInteger nonce = null;
+            while (value.data.available() > 0) {
+                DerValue v = value.data.getDerValue();
+                if (v.tag == DerValue.tag_Integer) {
+                    nonce = v.getBigInteger();
+                    System.err.println("nonce: " + nonce);
+                } else if (v.tag == DerValue.tag_Boolean) {
+                    System.err.println("certReq: " + v.getBoolean());
+                }
+            }
+
+            // Write TSResponse
+            System.err.println("\nResponse\n===================");
+            KeyStore ks = KeyStore.getInstance("JKS");
+            ks.load(new FileInputStream(TSKS), "changeit".toCharArray());
+
+            String alias = "ts";
+            if (path == 6) alias = "tsbad1";
+            if (path == 7) alias = "tsbad2";
+            if (path == 8) alias = "tsbad3";
+
+            DerOutputStream statusInfo = new DerOutputStream();
+            statusInfo.putInteger(0);
+
+            DerOutputStream token = new DerOutputStream();
+            AlgorithmId[] algorithms = {aid};
+            Certificate[] chain = ks.getCertificateChain(alias);
+            X509Certificate[] signerCertificateChain = null;
+            X509Certificate signer = (X509Certificate)chain[0];
+            if (path == 5) {   // Only case 5 uses full chain
+                signerCertificateChain = new X509Certificate[chain.length];
+                for (int i=0; i<chain.length; i++) {
+                    signerCertificateChain[i] = (X509Certificate)chain[i];
+                }
+            } else if (path == 9) {
+                signerCertificateChain = new X509Certificate[0];
+            } else {
+                signerCertificateChain = new X509Certificate[1];
+                signerCertificateChain[0] = (X509Certificate)chain[0];
+            }
+
+            DerOutputStream tst = new DerOutputStream();
+
+            tst.putInteger(1);
+            tst.putOID(new ObjectIdentifier("1.2.3.4"));    // policy
+
+            if (path != 3 && path != 4) {
+                tst.putDerValue(messageImprint);
+            } else {
+                byte[] data = messageImprint.toByteArray();
+                if (path == 4) {
+                    data[6] = (byte)0x01;
+                } else {
+                    data[data.length-1] = (byte)0x01;
+                    data[data.length-2] = (byte)0x02;
+                    data[data.length-3] = (byte)0x03;
+                }
+                tst.write(data);
+            }
+
+            tst.putInteger(1);
+
+            Calendar cal = Calendar.getInstance();
+            tst.putGeneralizedTime(cal.getTime());
+
+            if (path == 2) {
+                tst.putInteger(1234);
+            } else if (path == 1) {
+                // do nothing
+            } else {
+                tst.putInteger(nonce);
+            }
+
+            DerOutputStream tstInfo = new DerOutputStream();
+            tstInfo.write(DerValue.tag_Sequence, tst);
+
+            DerOutputStream tstInfo2 = new DerOutputStream();
+            tstInfo2.putOctetString(tstInfo.toByteArray());
+
+            Signature sig = Signature.getInstance("SHA1withDSA");
+            sig.initSign((PrivateKey)(ks.getKey(
+                    alias, "changeit".toCharArray())));
+            sig.update(tstInfo.toByteArray());
+
+            ContentInfo contentInfo = new ContentInfo(new ObjectIdentifier(
+                    "1.2.840.113549.1.9.16.1.4"),
+                    new DerValue(tstInfo2.toByteArray()));
+
+            System.err.println("Signing...");
+            System.err.println(new X500Name(signer
+                    .getIssuerX500Principal().getName()));
+            System.err.println(signer.getSerialNumber());
+
+            SignerInfo signerInfo = new SignerInfo(
+                    new X500Name(signer.getIssuerX500Principal().getName()),
+                    signer.getSerialNumber(),
+                    aid, AlgorithmId.get("DSA"), sig.sign());
+
+            SignerInfo[] signerInfos = {signerInfo};
+            PKCS7 p7 =
+                    new PKCS7(algorithms, contentInfo, signerCertificateChain,
+                    signerInfos);
+            ByteArrayOutputStream p7out = new ByteArrayOutputStream();
+            p7.encodeSignedData(p7out);
+
+            DerOutputStream response = new DerOutputStream();
+            response.write(DerValue.tag_Sequence, statusInfo);
+            response.putDerValue(new DerValue(p7out.toByteArray()));
+
+            DerOutputStream out = new DerOutputStream();
+            out.write(DerValue.tag_Sequence, response);
+
+            return out.toByteArray();
+        }
+    }
+
+    public static void main(String[] args) throws Exception {
+
+        Handler h = new Handler();
+        HttpServer server = HttpServer.create(new InetSocketAddress(0), 0);
+        int port = server.getAddress().getPort();
+        HttpContext ctx = server.createContext("/", h);
+        server.start();
+
+        String cmd = null;
+        // Use -J-Djava.security.egd=file:/dev/./urandom to speed up
+        // nonce generation in timestamping request. Not avaibale on
+        // Windows and defaults to thread seed generator, not too bad.
+        if (System.getProperty("java.home").endsWith("jre")) {
+            cmd = System.getProperty("java.home") + "/../bin/jarsigner" +
+                " -J-Djava.security.egd=file:/dev/./urandom" +
+                " -debug -keystore " + TSKS + " -storepass changeit" +
+                " -tsa http://localhost:" + port + "/%d" +
+                " -signedjar new.jar " + JAR + " old";
+        } else {
+            cmd = System.getProperty("java.home") + "/bin/jarsigner" +
+                " -J-Djava.security.egd=file:/dev/./urandom" +
+                " -debug -keystore " + TSKS + " -storepass changeit" +
+                " -tsa http://localhost:" + port + "/%d" +
+                " -signedjar new.jar " + JAR + " old";
+        }
+
+        try {
+            if (args.length == 0) {         // Run this test
+                jarsigner(cmd, 0, true);    // Success, normal call
+                jarsigner(cmd, 1, false);   // These 4 should fail
+                jarsigner(cmd, 2, false);
+                jarsigner(cmd, 3, false);
+                jarsigner(cmd, 4, false);
+                jarsigner(cmd, 5, true);    // Success, 6543440 solved.
+                jarsigner(cmd, 6, false);   // tsbad1
+                jarsigner(cmd, 7, false);   // tsbad2
+                jarsigner(cmd, 8, false);   // tsbad3
+                jarsigner(cmd, 9, false);   // no cert in timestamp
+            } else {                        // Run as a standalone server
+                System.err.println("Press Enter to quit server");
+                System.in.read();
+            }
+        } finally {
+            server.stop(0);
+            new File("x.jar").delete();
+        }
+    }
+
+    /**
+     * @param cmd the command line (with a hole to plug in)
+     * @param path the path in the URL, i.e, http://localhost/path
+     * @param expected if this command should succeed
+     */
+    static void jarsigner(String cmd, int path, boolean expected)
+            throws Exception {
+        System.err.println("Test " + path);
+        Process p = Runtime.getRuntime().exec(String.format(cmd, path));
+        BufferedReader reader = new BufferedReader(
+                new InputStreamReader(p.getErrorStream()));
+        while (true) {
+            String s = reader.readLine();
+            if (s == null) break;
+            System.err.println(s);
+        }
+        int result = p.waitFor();
+        if (expected && result != 0 || !expected && result == 0) {
+            throw new Exception("Failed");
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/security/tools/jarsigner/ts.sh	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,91 @@
+#
+# Copyright 2007-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.
+# 
+# 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.
+#
+
+# @test
+# @bug 6543842 6543440 6939248
+# @summary checking response of timestamp
+#
+# @run shell/timeout=600 ts.sh
+
+# Run for a long time because jarsigner with timestamp needs to create a
+# 64-bit random number and it might be extremely slow on a machine with
+# not enough entropy pool
+
+# set platform-dependent variables
+OS=`uname -s`
+case "$OS" in
+  Windows_* )
+    FS="\\"
+    ;;
+  * )
+    FS="/"
+    ;;
+esac
+
+if [ "${TESTSRC}" = "" ] ; then
+  TESTSRC="."
+fi
+if [ "${TESTJAVA}" = "" ] ; then
+  JAVAC_CMD=`which javac`
+  TESTJAVA=`dirname $JAVAC_CMD`/..
+fi
+
+JAR="${TESTJAVA}${FS}bin${FS}jar"
+JAVA="${TESTJAVA}${FS}bin${FS}java"
+JAVAC="${TESTJAVA}${FS}bin${FS}javac"
+KT="${TESTJAVA}${FS}bin${FS}keytool -keystore tsks -storepass changeit -keypass changeit"
+
+rm tsks
+echo Nothing > A
+rm old.jar
+$JAR cvf old.jar A
+
+# ca is CA
+# old is signer for code
+# ts is signer for timestamp
+# tsbad1 has no extendedKeyUsage
+# tsbad2's extendedKeyUsage is non-critical
+# tsbad3's extendedKeyUsage has no timestamping
+
+$KT -alias ca -genkeypair -ext bc -dname CN=CA
+$KT -alias old -genkeypair -dname CN=old
+$KT -alias ts -genkeypair -dname CN=ts
+$KT -alias tsbad1 -genkeypair -dname CN=tsbad1
+$KT -alias tsbad2 -genkeypair -dname CN=tsbad2
+$KT -alias tsbad3 -genkeypair -dname CN=tsbad3
+$KT -alias ts -certreq | \
+        $KT -alias ca -gencert -ext eku:critical=ts | \
+        $KT -alias ts -importcert
+$KT -alias tsbad1 -certreq | \
+        $KT -alias ca -gencert | \
+        $KT -alias tsbad1 -importcert
+$KT -alias tsbad2 -certreq | \
+        $KT -alias ca -gencert -ext eku=ts | \
+        $KT -alias tsbad2 -importcert
+$KT -alias tsbad3 -certreq | \
+        $KT -alias ca -gencert -ext eku:critical=cs | \
+        $KT -alias tsbad3 -importcert
+
+$JAVAC -d . ${TESTSRC}/TimestampCheck.java
+$JAVA TimestampCheck
+
--- a/jdk/test/sun/security/tools/keytool/selfissued.sh	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/sun/security/tools/keytool/selfissued.sh	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
+# Copyright 2009-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
@@ -22,8 +22,8 @@
 #
 
 # @test
-# @bug 6825352
-# @summary support self-issued certificate in keytool
+# @bug 6825352 6937978
+# @summary support self-issued certificate in keytool and let -gencert generate the chain
 #
 # @run shell selfissued.sh
 #
@@ -50,20 +50,22 @@
 rm $KS
 
 $KT -alias ca -dname CN=CA -genkeypair
-$KT -alias me -dname CN=CA -genkeypair
+$KT -alias ca1 -dname CN=CA -genkeypair
+$KT -alias ca2 -dname CN=CA -genkeypair
 $KT -alias e1 -dname CN=E1 -genkeypair
-$KT -alias e2 -dname CN=E2 -genkeypair
-
-# me signed by ca, self-issued
-$KT -alias me -certreq | $KT -alias ca -gencert | $KT -alias me -importcert
 
-# Import e1 signed by me, should add me and ca
-$KT -alias e1 -certreq | $KT -alias me -gencert | $KT -alias e1 -importcert
-$KT -alias e1 -list -v | grep '\[3\]' || { echo Bad E1; exit 1; }
+# ca signs ca1, ca1 signs ca2, all self-issued
+$KT -alias ca1 -certreq | $KT -alias ca -gencert -ext san=dns:ca1 \
+        | $KT -alias ca1 -importcert
+$KT -alias ca2 -certreq | $KT -alias ca1 -gencert -ext san=dns:ca2 \
+        | $KT -alias ca2 -importcert
 
-# Import (e2 signed by me,ca,me), should reorder to (e2,me,ca)
-( $KT -alias e2 -certreq | $KT -alias me -gencert; $KT -exportcert -alias ca; $KT -exportcert -alias me ) | $KT -alias e2 -importcert
-$KT -alias e2 -list -v | grep '\[3\]' || { echo Bad E2; exit 1; }
+# Import e1 signed by ca2, should add ca2 and ca1, at least 3 certs in the chain
+$KT -alias e1 -certreq | $KT -alias ca2 -gencert > e1.cert
+$KT -alias ca1 -delete
+$KT -alias ca2 -delete
+cat e1.cert | $KT -alias e1 -importcert
+$KT -alias e1 -list -v | grep '\[3\]' || { echo Bad E1; exit 1; }
 
 echo Good
 
--- a/jdk/test/sun/text/resources/LocaleData	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/sun/text/resources/LocaleData	Wed Jul 05 17:10:46 2017 +0200
@@ -673,8 +673,8 @@
 FormatData/es_VE/NumberElements/1=.
 FormatData/es_VE/NumberElements/2=;
 
-# bug #4099810, 4290801, 6868106
-CurrencyNames/uk_UA/UAH=\u0433\u0440\u043b.
+# bug #4099810, 4290801, 6868106, 6916787
+CurrencyNames/uk_UA/UAH=\u0433\u0440\u043d.
 FormatData/uk_UA/NumberPatterns/0=#,##0.###;-#,##0.###
 # FormatData/uk_UA/NumberPatterns/1=#,##0.## '\u0433\u0440\u0432.';-#,##0.## '\u0433\u0440\u0432.' # Changed; see bug 4122840
 FormatData/uk_UA/NumberPatterns/2=#,##0%
@@ -6098,3 +6098,6 @@
 LocaleNames/nl/YT=Mayotte
 LocaleNames/nl/ZA=Zuid-Afrika
 LocaleNames/nl/ZM=Zambia
+
+# bug 6919624
+CalendarData/hu/minimalDaysInFirstWeek=4
--- a/jdk/test/sun/text/resources/LocaleDataTest.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/sun/text/resources/LocaleDataTest.java	Wed Jul 05 17:10:46 2017 +0200
@@ -32,7 +32,8 @@
  *      6414459 6455680 6498742 6558863 6488119 6547501 6497154 6558856 6481177
  *      6379214 6485516 6486607 4225362 4494727 6533691 6531591 6531593 6570259
  *      6509039 6609737 6610748 6645271 6507067 6873931 6450945 6645268 6646611
- *      6645405 6650730 6910489 6573250 6870908 6585666 6716626 6914413
+ *      6645405 6650730 6910489 6573250 6870908 6585666 6716626 6914413 6916787
+ *      6919624
  * @summary Verify locale data
  *
  */
--- a/jdk/test/sun/util/resources/TimeZone/Bug6317929.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/jdk/test/sun/util/resources/TimeZone/Bug6317929.java	Wed Jul 05 17:10:46 2017 +0200
@@ -180,11 +180,11 @@
                                        "(\ub274 \uc0ac\uc6b0\uc2a4 \uc6e8\uc77c\uc988)\"");
         tzLocale = locales2Test[7];
         if (!Currie.getDisplayName(false, TimeZone.LONG, tzLocale).equals
-           ("Eastern Standard Time (Nya Sydwales)"))
+           ("Eastern, normaltid (Nya Sydwales)"))
             throw new RuntimeException("\n" + tzLocale + ": LONG, " +
                                        "non-daylight saving name for " +
                                        "Australia/Currie should be " +
-                                       "\"Eastern Standard Time " +
+                                       "\"Eastern, normaltid " +
                                        "(Nya Sydwales)\"");
         tzLocale = locales2Test[8];
         if (!Currie.getDisplayName(false, TimeZone.LONG, tzLocale).equals
--- a/langtools/.hgtags	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/.hgtags	Wed Jul 05 17:10:46 2017 +0200
@@ -64,3 +64,4 @@
 409db93d19c002333980df5b797c6b965150c7a0 jdk7-b87
 f9b5d4867a26f8c4b90ad37fe2c345b721e93d6b jdk7-b88
 6cea9a143208bc1185ced046942c0f4e45dbeba5 jdk7-b89
+71c2c23a7c35b2896c87004023b9743b6d1b7758 jdk7-b90
--- a/langtools/src/share/classes/com/sun/tools/apt/resources/apt_ja.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/apt/resources/apt_ja.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -23,60 +23,34 @@
 # have any questions.
 #
 
-apt.msg.usage.header=\
-\u4f7f\u7528\u6cd5: {0} <apt \u304a\u3088\u3073 javac \u30aa\u30d7\u30b7\u30e7\u30f3> <\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb>\n\
-\u6b21\u306e apt \u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u3042\u308a\u307e\u3059:
+apt.msg.usage.header=\u4f7f\u7528\u6cd5: {0} <apt \u304a\u3088\u3073 javac \u30aa\u30d7\u30b7\u30e7\u30f3> <\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb>\n\u6b21\u306e apt \u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u3042\u308a\u307e\u3059:
 
-apt.msg.usage.footer=\
-javac \u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u3064\u3044\u3066\u306f\u3001javac -help \u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+apt.msg.usage.footer=javac \u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u3064\u3044\u3066\u306f\u3001javac -help \u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002
 
-apt.msg.usage.nonstandard.footer=\
-\u3053\u308c\u3089\u306f\u975e\u6a19\u6e96\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3042\u308a\u4e88\u544a\u306a\u3057\u306b\u5909\u66f4\u3055\u308c\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002\n\u8868\u793a\u5f62\u5f0f\u306f\u540c\u3058\u3067\u3059\u3002
+apt.msg.usage.nonstandard.footer=\u3053\u308c\u3089\u306f\u975e\u6a19\u6e96\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3042\u308a\u4e88\u544a\u306a\u3057\u306b\u5909\u66f4\u3055\u308c\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002\n\u8868\u793a\u5f62\u5f0f\u306f\u540c\u3058\u3067\u3059\u3002
 
-apt.msg.bug=\
-\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f ({0})\u3002\
-Bug Parade \u306b\u540c\u3058\u30d0\u30b0\u304c\u767b\u9332\u3055\u308c\u3066\u3044\u306a\u3044\u3053\u3068\u3092\u3054\u78ba\u8a8d\u306e\u4e0a\u3001Java Developer Connection \
-(http://java.sun.com/webapps/bugreport) \u306b\u3066\u30d0\u30b0\u306e\u767b\u9332\u3092\u304a\u9858\u3044\u3044\u305f\u3057\u307e\u3059\u3002 \
-\u30ec\u30dd\u30fc\u30c8\u306b\u306f\u3001\u305d\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3068\u4e0b\u8a18\u306e\u8a3a\u65ad\u5185\u5bb9\u3092\u542b\u3081\u3066\u304f\u3060\u3055\u3044\u3002\u3054\u5354\u529b\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3059\u3002
+apt.msg.bug=\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f ({0})\u3002Bug Parade \u306b\u540c\u3058\u30d0\u30b0\u304c\u767b\u9332\u3055\u308c\u3066\u3044\u306a\u3044\u3053\u3068\u3092\u3054\u78ba\u8a8d\u306e\u4e0a\u3001Java Developer Connection (http://java.sun.com/webapps/bugreport) \u306b\u3066\u30d0\u30b0\u306e\u767b\u9332\u3092\u304a\u9858\u3044\u3044\u305f\u3057\u307e\u3059\u3002 \u30ec\u30dd\u30fc\u30c8\u306b\u306f\u3001\u305d\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3068\u4e0b\u8a18\u306e\u8a3a\u65ad\u5185\u5bb9\u3092\u542b\u3081\u3066\u304f\u3060\u3055\u3044\u3002\u3054\u5354\u529b\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3059\u3002
 
 ## apt options
 
-apt.opt.A=\
-    \u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u306b\u6e21\u3055\u308c\u308b\u30aa\u30d7\u30b7\u30e7\u30f3
-apt.opt.arg.class=\
-    <class>
-apt.opt.arg.directory=\
-    \u30d7\u30ed\u30bb\u30c3\u30b5\u304a\u3088\u3073 javac \u304c\u751f\u6210\u3057\u305f\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u7f6e\u304f\u4f4d\u7f6e\u3092\u6307\u5b9a\u3059\u308b
-apt.opt.classpath=\
-    \u30e6\u30fc\u30b6\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u304a\u3088\u3073\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u30d5\u30a1\u30af\u30c8\u30ea\u3092\u691c\u7d22\u3059\u308b\u4f4d\u7f6e\u3092\u6307\u5b9a\u3059\u308b
-apt.opt.d=\
-    \u30d7\u30ed\u30bb\u30c3\u30b5\u304a\u3088\u3073 javac \u304c\u751f\u6210\u3057\u305f\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u7f6e\u304f\u4f4d\u7f6e\u3092\u6307\u5b9a\u3059\u308b
-apt.opt.factory=\
-    \u4f7f\u7528\u3059\u308b AnnotationProcessorFactory \u306e\u540d\u524d\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u691c\u51fa\u51e6\u7406\u3092\u30d0\u30a4\u30d1\u30b9
-apt.opt.factorypath=\
-    \u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u30d5\u30a1\u30af\u30c8\u30ea\u306e\u691c\u7d22\u5834\u6240\u3092\u6307\u5b9a\u3059\u308b
-apt.opt.s=\
-    \u30d7\u30ed\u30bb\u30c3\u30b5\u304c\u751f\u6210\u3057\u305f\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u7f6e\u304f\u4f4d\u7f6e\u3092\u6307\u5b9a\u3059\u308b
-apt.opt.help=\
-    \u6a19\u6e96\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u6982\u8981\u3092\u51fa\u529b\u3059\u308b\u3002\u8a73\u7d30\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u3064\u3044\u3066\u306f javac -help \u3092\u53c2\u7167
-apt.opt.print=\
-    \u6307\u5b9a\u3057\u305f\u578b\u306e\u30c6\u30ad\u30b9\u30c8\u8868\u793a\u3092\u51fa\u529b\u3059\u308b
-apt.opt.nocompile=\
-    \u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306b\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u306a\u3044
-apt.opt.proc.flag=\
-    [key[=value]]
-apt.opt.version=\
-    \u30d0\u30fc\u30b8\u30e7\u30f3\u60c5\u5831
-apt.opt.XListAnnotationTypes=\
-    \u898b\u3064\u304b\u3063\u305f\u6ce8\u91c8\u578b\u3092\u30ea\u30b9\u30c8\u3059\u308b
-apt.opt.XListDeclarations=\
-    \u6307\u5b9a\u3055\u308c\u305f\u5ba3\u8a00\u304a\u3088\u3073\u30a4\u30f3\u30af\u30eb\u30fc\u30c9\u3055\u308c\u305f\u5ba3\u8a00\u3092\u30ea\u30b9\u30c8\u3059\u308b
-apt.opt.XPrintAptRounds=\
-    \u521d\u671f\u304a\u3088\u3073\u518d\u5e30 apt \u5f80\u5fa9\u306b\u3064\u3044\u3066\u306e\u60c5\u5831\u3092\u5370\u5237\u3059\u308b
-apt.opt.XPrintFactoryInfo=\
-    \u30d5\u30a1\u30af\u30c8\u30ea\u304c\u51e6\u7406\u3092\u4f9d\u983c\u3055\u308c\u308b\u6ce8\u91c8\u306b\u3064\u3044\u3066\u306e\u60c5\u5831\u3092\u5370\u5237\u3059\u308b
-apt.opt.XClassesAsDecls=\
-    \u30af\u30e9\u30b9\u3068\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u4e21\u65b9\u3068\u3082\u51e6\u7406\u3059\u308b\u5ba3\u8a00\u3068\u3057\u3066\u51e6\u7406
+apt.opt.A=\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u306b\u6e21\u3055\u308c\u308b\u30aa\u30d7\u30b7\u30e7\u30f3
+apt.opt.arg.class=<class>
+apt.opt.arg.directory=\u30d7\u30ed\u30bb\u30c3\u30b5\u304a\u3088\u3073 javac \u304c\u751f\u6210\u3057\u305f\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u7f6e\u304f\u4f4d\u7f6e\u3092\u6307\u5b9a\u3059\u308b
+apt.opt.classpath=\u30e6\u30fc\u30b6\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u304a\u3088\u3073\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u30d5\u30a1\u30af\u30c8\u30ea\u3092\u691c\u7d22\u3059\u308b\u4f4d\u7f6e\u3092\u6307\u5b9a\u3059\u308b
+apt.opt.d=\u30d7\u30ed\u30bb\u30c3\u30b5\u304a\u3088\u3073 javac \u304c\u751f\u6210\u3057\u305f\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u7f6e\u304f\u4f4d\u7f6e\u3092\u6307\u5b9a\u3059\u308b
+apt.opt.factory=\u4f7f\u7528\u3059\u308b AnnotationProcessorFactory \u306e\u540d\u524d\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u691c\u51fa\u51e6\u7406\u3092\u30d0\u30a4\u30d1\u30b9
+apt.opt.factorypath=\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u30d5\u30a1\u30af\u30c8\u30ea\u306e\u691c\u7d22\u5834\u6240\u3092\u6307\u5b9a\u3059\u308b
+apt.opt.s=\u30d7\u30ed\u30bb\u30c3\u30b5\u304c\u751f\u6210\u3057\u305f\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u7f6e\u304f\u4f4d\u7f6e\u3092\u6307\u5b9a\u3059\u308b
+apt.opt.help=\u6a19\u6e96\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u6982\u8981\u3092\u51fa\u529b\u3059\u308b\u3002\u8a73\u7d30\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u3064\u3044\u3066\u306f javac -help \u3092\u53c2\u7167
+apt.opt.print=\u6307\u5b9a\u3057\u305f\u578b\u306e\u30c6\u30ad\u30b9\u30c8\u8868\u793a\u3092\u51fa\u529b\u3059\u308b
+apt.opt.nocompile=\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306b\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u306a\u3044
+apt.opt.proc.flag=[key[=value]]
+apt.opt.version=\u30d0\u30fc\u30b8\u30e7\u30f3\u60c5\u5831
+apt.opt.XListAnnotationTypes=\u898b\u3064\u304b\u3063\u305f\u6ce8\u91c8\u578b\u3092\u30ea\u30b9\u30c8\u3059\u308b
+apt.opt.XListDeclarations=\u6307\u5b9a\u3055\u308c\u305f\u5ba3\u8a00\u304a\u3088\u3073\u30a4\u30f3\u30af\u30eb\u30fc\u30c9\u3055\u308c\u305f\u5ba3\u8a00\u3092\u30ea\u30b9\u30c8\u3059\u308b
+apt.opt.XPrintAptRounds=\u521d\u671f\u304a\u3088\u3073\u518d\u5e30 apt \u5f80\u5fa9\u306b\u3064\u3044\u3066\u306e\u60c5\u5831\u3092\u5370\u5237\u3059\u308b
+apt.opt.XPrintFactoryInfo=\u30d5\u30a1\u30af\u30c8\u30ea\u304c\u51e6\u7406\u3092\u4f9d\u983c\u3055\u308c\u308b\u6ce8\u91c8\u306b\u3064\u3044\u3066\u306e\u60c5\u5831\u3092\u5370\u5237\u3059\u308b
+apt.opt.XClassesAsDecls=\u30af\u30e9\u30b9\u3068\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u4e21\u65b9\u3068\u3082\u51e6\u7406\u3059\u308b\u5ba3\u8a00\u3068\u3057\u3066\u51e6\u7406
 
 ##
 ## errors
@@ -85,92 +59,68 @@
 ## All errors which do not refer to a particular line in the source code are
 ## preceded by this string.
 
-apt.err.error=\
-    \u30a8\u30e9\u30fc:
+apt.err.error=\u30a8\u30e9\u30fc: 
 
-apt.err.unsupported.source.version=\
-    \u30bd\u30fc\u30b9\u30ea\u30ea\u30fc\u30b9 {0} \u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u30ea\u30ea\u30fc\u30b9 5 \u4ee5\u524d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044
+apt.err.unsupported.source.version=\u30bd\u30fc\u30b9\u30ea\u30ea\u30fc\u30b9 {0} \u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u30ea\u30ea\u30fc\u30b9 5 \u4ee5\u524d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044
 
-apt.err.unsupported.target.version=\
-    \u30bf\u30fc\u30b2\u30c3\u30c8\u30ea\u30ea\u30fc\u30b9 {0} \u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u30ea\u30ea\u30fc\u30b9 5 \u4ee5\u524d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044
+apt.err.unsupported.target.version=\u30bf\u30fc\u30b2\u30c3\u30c8\u30ea\u30ea\u30fc\u30b9 {0} \u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u30ea\u30ea\u30fc\u30b9 5 \u4ee5\u524d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044
 
-apt.err.BadDeclaration=\
-    \u6ce8\u91c8\u578b {0} \u7528\u306b\u4f5c\u6210\u3055\u308c\u305f\u7121\u52b9\u306a\u5ba3\u8a00\u3067\u3059\u3002
+apt.err.BadDeclaration=\u6ce8\u91c8\u578b {0} \u7528\u306b\u4f5c\u6210\u3055\u308c\u305f\u7121\u52b9\u306a\u5ba3\u8a00\u3067\u3059\u3002
 
-apt.err.CantFindClass=\
-    {0} \u306e\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
+apt.err.CantFindClass={0} \u306e\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
 
-apt.err.DeclarationCreation=\
-    \u6ce8\u91c8\u578b {0} \u7528\u306b\u5ba3\u8a00\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+apt.err.DeclarationCreation=\u6ce8\u91c8\u578b {0} \u7528\u306b\u5ba3\u8a00\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
 
 # Print an error from the Messager
-apt.err.Messager=\
-    {0}
+apt.err.Messager={0}
 
 ##
 ## miscellaneous strings
 ##
 
-apt.misc.Problem=\
-    \u6ce8\u91c8\u306e\u51e6\u7406\u4e2d\u306b\u554f\u984c\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f\u3002\n\u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001\u4e0b\u8a18\u306e\u30b9\u30bf\u30c3\u30af\u30c8\u30ec\u30fc\u30b9\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+apt.misc.Deprecation=\n\u8b66\u544a: apt \u30c4\u30fc\u30eb\u3068\u3053\u308c\u306b\u95a2\u9023\u3059\u308b API \u306f\u3001\u6b21\u306e JDK \u30e1\u30b8\u30e3\u30fc\u30ea\u30ea\u30fc\u30b9\u3067\n\u524a\u9664\u3055\u308c\u308b\u4e88\u5b9a\u3067\u3059\u3002\u3053\u308c\u3089\u306e\u6a5f\u80fd\u306f\u3001\njavac \u304a\u3088\u3073\u6a19\u6e96\u5316\u6ce8\u91c8\u51e6\u7406 API \n(javax.annotation.processing \u3068 javax.lang.model) \u306b\u7f6e\u304d\u63db\u3048\u3089\u308c\u307e\u3057\u305f\u3002javac \u306e\n\u6ce8\u91c8\u51e6\u7406\u6a5f\u80fd\u3078\u306e\u79fb\u884c\u3092\u304a\u52e7\u3081\u3057\u307e\u3059\u3002\u8a73\u7d30\u306f\u3001\njavac \u306e\u30de\u30cb\u30e5\u30a2\u30eb\u30da\u30fc\u30b8\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n
 
-apt.misc.SunMiscService=\
-    \u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u30d5\u30a1\u30af\u30c8\u30ea\u306e\u691c\u7d22\u30a8\u30e9\u30fc\u3067\u3059\u3002\nMETA-INF/services \u5185\u306e\u60c5\u5831\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+apt.misc.Problem=\u6ce8\u91c8\u306e\u51e6\u7406\u4e2d\u306b\u554f\u984c\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f\u3002\n\u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001\u4e0b\u8a18\u306e\u30b9\u30bf\u30c3\u30af\u30c8\u30ec\u30fc\u30b9\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+
+apt.misc.SunMiscService=\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u30d5\u30a1\u30af\u30c8\u30ea\u306e\u691c\u7d22\u30a8\u30e9\u30fc\u3067\u3059\u3002\nMETA-INF/services \u5185\u306e\u60c5\u5831\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
 
 # Print a notice from the Messager
-apt.note.Messager=\
-    {0}
+apt.note.Messager={0}
 
 ##
 ## warnings
 ##
 
 ## All warning messages are preceded by the following string.
-apt.warn.warning=\
-    \u8b66\u544a:
+apt.warn.warning=\u8b66\u544a: 
 
-apt.warn.AnnotationsWithoutProcessors=\
-    \u30d7\u30ed\u30bb\u30c3\u30b5\u306a\u3057\u306e\u6ce8\u91c8\u578b\u3067\u3059: {0}
+apt.warn.AnnotationsWithoutProcessors=\u30d7\u30ed\u30bb\u30c3\u30b5\u306a\u3057\u306e\u6ce8\u91c8\u578b\u3067\u3059: {0}
 
-apt.warn.BadFactory=\
-    \u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u30d5\u30a1\u30af\u30c8\u30ea\u304c\u7121\u52b9\u3067\u3059: {0} 
+apt.warn.BadFactory=\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u30d5\u30a1\u30af\u30c8\u30ea\u304c\u7121\u52b9\u3067\u3059: {0} 
 
-apt.warn.BadParentDirectory=\
-    {0} \u306e\u3044\u304f\u3064\u304b\u306e\u89aa\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u4f5c\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f 
+apt.warn.BadParentDirectory={0} \u306e\u3044\u304f\u3064\u304b\u306e\u89aa\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u4f5c\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f 
 
-apt.warn.FactoryCantInstantiate=\
-    \u30d5\u30a1\u30af\u30c8\u30ea ''{0}'' \u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+apt.warn.FactoryCantInstantiate=\u30d5\u30a1\u30af\u30c8\u30ea ''{0}'' \u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
 
-apt.warn.FactoryWrongType=\
-    \u6307\u5b9a\u3057\u305f\u30d5\u30a1\u30af\u30c8\u30ea ''{0}'' \u306f AnnotationProcessorFactory \u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+apt.warn.FactoryWrongType=\u6307\u5b9a\u3057\u305f\u30d5\u30a1\u30af\u30c8\u30ea ''{0}'' \u306f AnnotationProcessorFactory \u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
 
-apt.warn.FactoryNotFound=\
-    \u6307\u5b9a\u3057\u305f AnnotationProcessorFactory ''{0}'' \u306f\u691c\u7d22\u30d1\u30b9\u3067\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+apt.warn.FactoryNotFound=\u6307\u5b9a\u3057\u305f AnnotationProcessorFactory ''{0}'' \u306f\u691c\u7d22\u30d1\u30b9\u3067\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
 
-apt.warn.FileReopening=\
-    ''{0}'' \u3092\u8907\u6570\u56de\u4f5c\u6210\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059\u3002
+apt.warn.FileReopening=''{0}'' \u3092\u8907\u6570\u56de\u4f5c\u6210\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059\u3002
 
-apt.warn.IllegalFileName=\
-    \u7121\u52b9\u306a\u540d\u524d ''{0}'' \u306e\u30d5\u30a1\u30a4\u30eb\u306f\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002
+apt.warn.IllegalFileName=\u7121\u52b9\u306a\u540d\u524d ''{0}'' \u306e\u30d5\u30a1\u30a4\u30eb\u306f\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002
 
-apt.warn.MalformedSupportedString=\
-    \u30d5\u30a1\u30af\u30c8\u30ea\u304c\u8fd4\u3057\u305f\u6ce8\u91c8\u30b5\u30dd\u30fc\u30c8 ''{0}'' \u306e\u6587\u5b57\u5217\u304c\u4e0d\u6b63\u3067\u3059\u3002
+apt.warn.MalformedSupportedString=\u30d5\u30a1\u30af\u30c8\u30ea\u304c\u8fd4\u3057\u305f\u6ce8\u91c8\u30b5\u30dd\u30fc\u30c8 ''{0}'' \u306e\u6587\u5b57\u5217\u304c\u4e0d\u6b63\u3067\u3059\u3002
 
-apt.warn.NoNewFilesAfterRound=\
-    \u5f80\u5fa9\u306e\u7d42\u4e86\u5f8c\u306b\u30d5\u30a1\u30a4\u30eb ''{0}'' \u3092\u4f5c\u6210\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+apt.warn.NoNewFilesAfterRound=\u5f80\u5fa9\u306e\u7d42\u4e86\u5f8c\u306b\u30d5\u30a1\u30a4\u30eb ''{0}'' \u3092\u4f5c\u6210\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
 
 # Print a warning from the Messager
-apt.warn.Messager=\
-    {0}
+apt.warn.Messager={0}
 
-apt.warn.NoAnnotationProcessors=\
-    \u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u306f\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u304c\u3001\u6ce8\u91c8\u306f\u5b58\u5728\u3057\u307e\u3059\u3002
+apt.warn.NoAnnotationProcessors=\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u306f\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u304c\u3001\u6ce8\u91c8\u306f\u5b58\u5728\u3057\u307e\u3059\u3002
 
-apt.warn.NullProcessor=\
-    \u30d5\u30a1\u30af\u30c8\u30ea {0} \u304c\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u306b null \u3092\u8fd4\u3057\u307e\u3057\u305f\u3002
+apt.warn.NullProcessor=\u30d5\u30a1\u30af\u30c8\u30ea {0} \u304c\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u306b null \u3092\u8fd4\u3057\u307e\u3057\u305f\u3002
 
-apt.warn.CorrespondingClassFile=\
-    \u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb ''{0}'' \u306b\u5bfe\u5fdc\u3059\u308b\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306f\u3059\u3067\u306b\u4f5c\u6210\u3055\u308c\u3066\u3044\u307e\u3059\u3002
+apt.warn.CorrespondingClassFile=\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb ''{0}'' \u306b\u5bfe\u5fdc\u3059\u308b\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306f\u3059\u3067\u306b\u4f5c\u6210\u3055\u308c\u3066\u3044\u307e\u3059\u3002
 
-apt.warn.CorrespondingSourceFile=\
-    \u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb ''{0}'' \u306b\u5bfe\u5fdc\u3059\u308b\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u306f\u3059\u3067\u306b\u4f5c\u6210\u3055\u308c\u3066\u3044\u307e\u3059\u3002
+apt.warn.CorrespondingSourceFile=\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb ''{0}'' \u306b\u5bfe\u5fdc\u3059\u308b\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u306f\u3059\u3067\u306b\u4f5c\u6210\u3055\u308c\u3066\u3044\u307e\u3059\u3002
--- a/langtools/src/share/classes/com/sun/tools/apt/resources/apt_zh_CN.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/apt/resources/apt_zh_CN.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright 2005-2006 Sun Microsystems, Inc.  All Rights Reserved.
+# Copyright 2004-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
@@ -23,60 +23,34 @@
 # have any questions.
 #
 
-apt.msg.usage.header=\
-\u7528\u6cd5\uff1a{0} <apt \u548c javac \u9009\u9879> <\u6e90\u6587\u4ef6>\n\
-\u5176\u4e2d\uff0capt \u9009\u9879\u5305\u62ec\uff1a
+apt.msg.usage.header=\u7528\u6cd5\uff1a{0} <apt \u548c javac \u9009\u9879> <\u6e90\u6587\u4ef6>\n\u5176\u4e2d\uff0capt \u9009\u9879\u5305\u62ec\uff1a
 
-apt.msg.usage.footer=\
-\u6709\u5173 javac \u9009\u9879\u7684\u4fe1\u606f\uff0c\u8bf7\u53c2\u89c1 javac -help\u3002
+apt.msg.usage.footer=\u6709\u5173 javac \u9009\u9879\u7684\u4fe1\u606f\uff0c\u8bf7\u53c2\u89c1 javac -help\u3002
 
-apt.msg.usage.nonstandard.footer=\
-\u8fd9\u4e9b\u9009\u9879\u53ca\u5176\u8f93\u51fa\u683c\u5f0f\u90fd\u4e0d\u662f\u6807\u51c6\u7684\uff0c\n\u5982\u6709\u66f4\u6539\uff0c\u6055\u4e0d\u53e6\u884c\u901a\u77e5\u3002
+apt.msg.usage.nonstandard.footer=\u8fd9\u4e9b\u9009\u9879\u53ca\u5176\u8f93\u51fa\u683c\u5f0f\u90fd\u4e0d\u662f\u6807\u51c6\u7684\uff0c\n\u5982\u6709\u66f4\u6539\uff0c\u6055\u4e0d\u53e6\u884c\u901a\u77e5\u3002
 
-apt.msg.bug=\
-apt ({0}) \u4e2d\u51fa\u73b0\u5f02\u5e38\u3002 \
-\u5982\u679c\u5728 Bug Parade \u4e2d\u6ca1\u6709\u627e\u5230\u8be5\u9519\u8bef\uff0c\u8bf7\u5728 Java Developer Connection (http://java.sun.com/webapps/bugreport)  \
-\u5bf9\u8be5\u9519\u8bef\u8fdb\u884c\u5f52\u6863\u3002 \
-\u8bf7\u5728\u62a5\u544a\u4e2d\u9644\u4e0a\u60a8\u7684\u7a0b\u5e8f\u548c\u4ee5\u4e0b\u8bca\u65ad\u4fe1\u606f\u3002\u8c22\u8c22\u60a8\u7684\u5408\u4f5c\u3002
+apt.msg.bug=apt ({0}) \u4e2d\u51fa\u73b0\u5f02\u5e38\u3002 \u5982\u679c\u5728 Bug Parade \u4e2d\u6ca1\u6709\u627e\u5230\u8be5\u9519\u8bef\uff0c\u8bf7\u5728 Java Developer Connection (http://java.sun.com/webapps/bugreport)  \u5bf9\u8be5\u9519\u8bef\u8fdb\u884c\u5f52\u6863\u3002 \u8bf7\u5728\u62a5\u544a\u4e2d\u9644\u4e0a\u60a8\u7684\u7a0b\u5e8f\u548c\u4ee5\u4e0b\u8bca\u65ad\u4fe1\u606f\u3002\u8c22\u8c22\u60a8\u7684\u5408\u4f5c\u3002
 
 ## apt options
 
-apt.opt.A=\
-\u4f20\u9012\u7ed9\u6ce8\u91ca\u5904\u7406\u5668\u7684\u9009\u9879
-apt.opt.arg.class=\
-<\u7c7b>
-apt.opt.arg.directory=\
-\u6307\u5b9a\u5b58\u653e\u5904\u7406\u5668\u548c javac \u751f\u6210\u7684\u7c7b\u6587\u4ef6\u7684\u4f4d\u7f6e
-apt.opt.classpath=\
-\u6307\u5b9a\u67e5\u627e\u7528\u6237\u7c7b\u6587\u4ef6\u548c\u6ce8\u91ca\u5904\u7406\u5668\u5de5\u5382\u7684\u4f4d\u7f6e
-apt.opt.d=\
-\u6307\u5b9a\u5b58\u653e\u5904\u7406\u5668\u548c javac \u751f\u6210\u7684\u7c7b\u6587\u4ef6\u7684\u4f4d\u7f6e
-apt.opt.factory=\
-\u8981\u4f7f\u7528\u7684 AnnotationProcessorFactory \u7684\u540d\u79f0\uff1b\u7ed5\u8fc7\u9ed8\u8ba4\u7684\u641c\u7d22\u8fdb\u7a0b
-apt.opt.factorypath=\
-\u6307\u5b9a\u67e5\u627e\u6ce8\u91ca\u5904\u7406\u5668\u5de5\u5382\u7684\u4f4d\u7f6e
-apt.opt.s=\
-\u6307\u5b9a\u5b58\u653e\u5904\u7406\u5668\u751f\u6210\u7684\u6e90\u6587\u4ef6\u7684\u4f4d\u7f6e
-apt.opt.help=\
-\u8f93\u51fa\u6807\u51c6\u9009\u9879\u7684\u63d0\u8981\uff1b\u4f7f\u7528 javac -help \u53ef\u4ee5\u5f97\u5230\u66f4\u591a\u9009\u9879
-apt.opt.print=\
-\u8f93\u51fa\u6307\u5b9a\u7c7b\u578b\u7684\u6587\u672c\u8868\u793a
-apt.opt.nocompile=\
-\u8bf7\u52ff\u5c06\u6e90\u6587\u4ef6\u7f16\u8bd1\u4e3a\u7c7b\u6587\u4ef6
-apt.opt.proc.flag=\
-[\u5173\u952e\u5b57[=\u503c]]
-apt.opt.version=\
-\u7248\u672c\u4fe1\u606f
-apt.opt.XListAnnotationTypes=\
-\u5217\u51fa\u627e\u5230\u7684\u6ce8\u91ca\u7c7b\u578b
-apt.opt.XListDeclarations=\
-\u5217\u51fa\u6307\u5b9a\u548c\u5305\u542b\u7684\u58f0\u660e
-apt.opt.XPrintAptRounds=\
-\u8f93\u51fa\u6709\u5173\u521d\u59cb\u548c\u9012\u5f52 apt \u5faa\u73af\u7684\u4fe1\u606f
-apt.opt.XPrintFactoryInfo=\
-\u8f93\u51fa\u6709\u5173\u8bf7\u6c42\u5de5\u5382\u5904\u7406\u54ea\u4e9b\u6ce8\u91ca\u7684\u4fe1\u606f
-apt.opt.XClassesAsDecls=\
-\u5c06\u7c7b\u6587\u4ef6\u548c\u6e90\u6587\u4ef6\u90fd\u89c6\u4e3a\u8981\u5904\u7406\u7684\u58f0\u660e
+apt.opt.A=\u4f20\u9012\u7ed9\u6ce8\u91ca\u5904\u7406\u5668\u7684\u9009\u9879
+apt.opt.arg.class=<\u7c7b>
+apt.opt.arg.directory=\u6307\u5b9a\u5b58\u653e\u5904\u7406\u5668\u548c javac \u751f\u6210\u7684\u7c7b\u6587\u4ef6\u7684\u4f4d\u7f6e
+apt.opt.classpath=\u6307\u5b9a\u67e5\u627e\u7528\u6237\u7c7b\u6587\u4ef6\u548c\u6ce8\u91ca\u5904\u7406\u5668\u5de5\u5382\u7684\u4f4d\u7f6e
+apt.opt.d=\u6307\u5b9a\u5b58\u653e\u5904\u7406\u5668\u548c javac \u751f\u6210\u7684\u7c7b\u6587\u4ef6\u7684\u4f4d\u7f6e
+apt.opt.factory=\u8981\u4f7f\u7528\u7684 AnnotationProcessorFactory \u7684\u540d\u79f0\uff1b\u7ed5\u8fc7\u9ed8\u8ba4\u7684\u641c\u7d22\u8fdb\u7a0b
+apt.opt.factorypath=\u6307\u5b9a\u67e5\u627e\u6ce8\u91ca\u5904\u7406\u5668\u5de5\u5382\u7684\u4f4d\u7f6e
+apt.opt.s=\u6307\u5b9a\u5b58\u653e\u5904\u7406\u5668\u751f\u6210\u7684\u6e90\u6587\u4ef6\u7684\u4f4d\u7f6e
+apt.opt.help=\u8f93\u51fa\u6807\u51c6\u9009\u9879\u7684\u63d0\u8981\uff1b\u4f7f\u7528 javac -help \u53ef\u4ee5\u5f97\u5230\u66f4\u591a\u9009\u9879
+apt.opt.print=\u8f93\u51fa\u6307\u5b9a\u7c7b\u578b\u7684\u6587\u672c\u8868\u793a
+apt.opt.nocompile=\u8bf7\u52ff\u5c06\u6e90\u6587\u4ef6\u7f16\u8bd1\u4e3a\u7c7b\u6587\u4ef6
+apt.opt.proc.flag=[\u5173\u952e\u5b57[=\u503c]]
+apt.opt.version=\u7248\u672c\u4fe1\u606f
+apt.opt.XListAnnotationTypes=\u5217\u51fa\u627e\u5230\u7684\u6ce8\u91ca\u7c7b\u578b
+apt.opt.XListDeclarations=\u5217\u51fa\u6307\u5b9a\u548c\u5305\u542b\u7684\u58f0\u660e
+apt.opt.XPrintAptRounds=\u8f93\u51fa\u6709\u5173\u521d\u59cb\u548c\u9012\u5f52 apt \u5faa\u73af\u7684\u4fe1\u606f
+apt.opt.XPrintFactoryInfo=\u8f93\u51fa\u6709\u5173\u8bf7\u6c42\u5de5\u5382\u5904\u7406\u54ea\u4e9b\u6ce8\u91ca\u7684\u4fe1\u606f
+apt.opt.XClassesAsDecls=\u5c06\u7c7b\u6587\u4ef6\u548c\u6e90\u6587\u4ef6\u90fd\u89c6\u4e3a\u8981\u5904\u7406\u7684\u58f0\u660e
 
 ##
 ## errors
@@ -85,92 +59,68 @@
 ## All errors which do not refer to a particular line in the source code are
 ## preceded by this string.
 
-apt.err.error=\
-\u9519\u8bef\uff1a
+apt.err.error=\u9519\u8bef\uff1a 
 
-apt.err.unsupported.source.version=\
-    \u4e0d\u652f\u6301\u6e90\u7248\u672c {0}\uff1b\u8bf7\u4f7f\u7528\u7248\u672c 5 \u6216\u65e9\u671f\u7248\u672c
+apt.err.unsupported.source.version=\u4e0d\u652f\u6301\u6e90\u7248\u672c {0}\uff1b\u8bf7\u4f7f\u7528\u7248\u672c 5 \u6216\u65e9\u671f\u7248\u672c
 
-apt.err.unsupported.target.version=\
-    \u4e0d\u652f\u6301\u76ee\u6807\u7248\u672c {0}\uff1b\u8bf7\u4f7f\u7528\u7248\u672c 5 \u6216\u65e9\u671f\u7248\u672c
+apt.err.unsupported.target.version=\u4e0d\u652f\u6301\u76ee\u6807\u7248\u672c {0}\uff1b\u8bf7\u4f7f\u7528\u7248\u672c 5 \u6216\u65e9\u671f\u7248\u672c
 
-apt.err.BadDeclaration=\
-\u4e3a\u6ce8\u91ca\u7c7b\u578b {0} \u521b\u5efa\u7684\u58f0\u660e\u51fa\u73b0\u9519\u8bef
+apt.err.BadDeclaration=\u4e3a\u6ce8\u91ca\u7c7b\u578b {0} \u521b\u5efa\u7684\u58f0\u660e\u51fa\u73b0\u9519\u8bef
 
-apt.err.CantFindClass=\
-\u627e\u4e0d\u5230 {0} \u7684\u7c7b\u6587\u4ef6
+apt.err.CantFindClass=\u627e\u4e0d\u5230 {0} \u7684\u7c7b\u6587\u4ef6
 
-apt.err.DeclarationCreation=\
-\u65e0\u6cd5\u4e3a\u6ce8\u91ca\u7c7b\u578b {0} \u521b\u5efa\u58f0\u660e
+apt.err.DeclarationCreation=\u65e0\u6cd5\u4e3a\u6ce8\u91ca\u7c7b\u578b {0} \u521b\u5efa\u58f0\u660e
 
 # Print an error from the Messager
-apt.err.Messager=\
-    {0}
+apt.err.Messager={0}
 
 ##
 ## miscellaneous strings
 ##
 
-apt.misc.Problem=\
-\u6ce8\u91ca\u5904\u7406\u8fc7\u7a0b\u4e2d\u9047\u5230\u95ee\u9898\uff1b\n\u6709\u5173\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684\u5806\u6808\u8ffd\u8e2a\u3002
+apt.misc.Deprecation=\n\u8b66\u544a\uff1a\u5728\u4e0b\u4e00\u4e2a JDK \u4e3b\u8981\u7248\u672c\u4e2d\uff0c\napt \u5de5\u5177\u53ca\u5176\u5173\u8054\u7684 API \u5c06\u88ab\u5220\u9664\u3002\u5176\u4e2d\u7684\u529f\u80fd\u5df2\u88ab javac \u4ee5\u53ca\n\u6807\u51c6\u5316\u6ce8\u91ca\u5904\u7406 API \njavax.annotation.processing \u548c javax.lang.model \u53d6\u4ee3\u3002\u5efa\u8bae\u7528\u6237\n\u6539\u7528 javac \u7684\u6ce8\u91ca\u5904\u7406\u529f\u80fd\uff1b\n\u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u89c1 javac \u624b\u518c\u9875\u3002\n
 
-apt.misc.SunMiscService=\
-\u67e5\u627e\u6ce8\u91ca\u5904\u7406\u5668\u5de5\u5382\u65f6\u51fa\u9519\uff1b\n\u8bf7\u67e5\u770b META-INF/\u670d\u52a1\u4fe1\u606f\u3002
+apt.misc.Problem=\u6ce8\u91ca\u5904\u7406\u8fc7\u7a0b\u4e2d\u9047\u5230\u95ee\u9898\uff1b\n\u6709\u5173\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684\u5806\u6808\u8ffd\u8e2a\u3002
+
+apt.misc.SunMiscService=\u67e5\u627e\u6ce8\u91ca\u5904\u7406\u5668\u5de5\u5382\u65f6\u51fa\u9519\uff1b\n\u8bf7\u67e5\u770b META-INF/\u670d\u52a1\u4fe1\u606f\u3002
 
 # Print a notice from the Messager
-apt.note.Messager=\
-    {0}
+apt.note.Messager={0}
 
 ##
 ## warnings
 ##
 
 ## All warning messages are preceded by the following string.
-apt.warn.warning=\
-\u8b66\u544a\uff1a
+apt.warn.warning=\u8b66\u544a\uff1a 
 
-apt.warn.AnnotationsWithoutProcessors=\
-\u4e0d\u5e26\u5904\u7406\u5668\u7684\u6ce8\u91ca\u7c7b\u578b\uff1a {0}
+apt.warn.AnnotationsWithoutProcessors=\u4e0d\u5e26\u5904\u7406\u5668\u7684\u6ce8\u91ca\u7c7b\u578b\uff1a {0}
 
-apt.warn.BadFactory=\
-\u6ce8\u91ca\u5904\u7406\u5668\u5de5\u5382\u51fa\u73b0\u9519\u8bef\uff1a {0} 
+apt.warn.BadFactory=\u6ce8\u91ca\u5904\u7406\u5668\u5de5\u5382\u51fa\u73b0\u9519\u8bef\uff1a {0} 
 
-apt.warn.BadParentDirectory=\
-\u65e0\u6cd5\u521b\u5efa {0} \u7684\u67d0\u4e9b\u7236\u76ee\u5f55 
+apt.warn.BadParentDirectory=\u65e0\u6cd5\u521b\u5efa {0} \u7684\u67d0\u4e9b\u7236\u76ee\u5f55 
 
-apt.warn.FactoryCantInstantiate=\
-\u65e0\u6cd5\u5b9e\u4f8b\u5316\u5de5\u5382 "{0}" \u7684\u5b9e\u4f8b\u3002
+apt.warn.FactoryCantInstantiate=\u65e0\u6cd5\u5b9e\u4f8b\u5316\u5de5\u5382 "{0}" \u7684\u5b9e\u4f8b\u3002
 
-apt.warn.FactoryWrongType=\
-\u6307\u5b9a\u7684\u5de5\u5382 "{0}" \u4e0d\u662f AnnotationProcessorFactory\u3002
+apt.warn.FactoryWrongType=\u6307\u5b9a\u7684\u5de5\u5382 "{0}" \u4e0d\u662f AnnotationProcessorFactory\u3002
 
-apt.warn.FactoryNotFound=\
-\u5728\u641c\u7d22\u8def\u5f84\u4e2d\u627e\u4e0d\u5230\u6307\u5b9a\u7684 AnnotationProcessorFactory "{0}"\u3002
+apt.warn.FactoryNotFound=\u5728\u641c\u7d22\u8def\u5f84\u4e2d\u627e\u4e0d\u5230\u6307\u5b9a\u7684 AnnotationProcessorFactory "{0}"\u3002
 
-apt.warn.FileReopening=\
-\u5c1d\u8bd5\u591a\u6b21\u521b\u5efa "{0}"
+apt.warn.FileReopening=\u5c1d\u8bd5\u591a\u6b21\u521b\u5efa "{0}"
 
-apt.warn.IllegalFileName=\
-\u65e0\u6cd5\u521b\u5efa\u5e26\u6709\u975e\u6cd5\u540d\u79f0 "{0}" \u7684\u6587\u4ef6\u3002
+apt.warn.IllegalFileName=\u65e0\u6cd5\u521b\u5efa\u5e26\u6709\u975e\u6cd5\u540d\u79f0 "{0}" \u7684\u6587\u4ef6\u3002
 
-apt.warn.MalformedSupportedString=\
-\u5de5\u5382\u8fd4\u56de\u4e0d\u89c4\u5219\u7684\u6ce8\u91ca\u652f\u6301\u5b57\u7b26\u4e32 "{0}"\u3002
+apt.warn.MalformedSupportedString=\u5de5\u5382\u8fd4\u56de\u4e0d\u89c4\u5219\u7684\u6ce8\u91ca\u652f\u6301\u5b57\u7b26\u4e32 "{0}"\u3002
 
-apt.warn.NoNewFilesAfterRound=\
-\u5faa\u73af\u7ed3\u675f\u540e\u65e0\u6cd5\u521b\u5efa\u6587\u4ef6 "{0}"\u3002
+apt.warn.NoNewFilesAfterRound=\u5faa\u73af\u7ed3\u675f\u540e\u65e0\u6cd5\u521b\u5efa\u6587\u4ef6 "{0}"\u3002
 
 # Print a warning from the Messager
-apt.warn.Messager=\
-    {0}
+apt.warn.Messager={0}
 
-apt.warn.NoAnnotationProcessors=\
-\u672a\u627e\u5230\u6ce8\u91ca\u5904\u7406\u5668\uff0c\u4f46\u5b58\u5728\u6ce8\u91ca\u3002
+apt.warn.NoAnnotationProcessors=\u672a\u627e\u5230\u6ce8\u91ca\u5904\u7406\u5668\uff0c\u4f46\u5b58\u5728\u6ce8\u91ca\u3002
 
-apt.warn.NullProcessor=\
-\u5bf9\u4e8e\u67d0\u4e2a\u6ce8\u91ca\u5904\u7406\u5668\uff0c\u5de5\u5382 {0} \u8fd4\u56de\u7684\u503c\u4e3a null\u3002
+apt.warn.NullProcessor=\u5bf9\u4e8e\u67d0\u4e2a\u6ce8\u91ca\u5904\u7406\u5668\uff0c\u5de5\u5382 {0} \u8fd4\u56de\u7684\u503c\u4e3a null\u3002
 
-apt.warn.CorrespondingClassFile=\
-\u5df2\u521b\u5efa\u4e0e\u6e90\u6587\u4ef6 "{0}" \u76f8\u5bf9\u5e94\u7684\u7c7b\u6587\u4ef6\u3002
+apt.warn.CorrespondingClassFile=\u5df2\u521b\u5efa\u4e0e\u6e90\u6587\u4ef6 "{0}" \u76f8\u5bf9\u5e94\u7684\u7c7b\u6587\u4ef6\u3002
 
-apt.warn.CorrespondingSourceFile=\
-\u5df2\u521b\u5efa\u4e0e\u7c7b\u6587\u4ef6 "{0}" \u76f8\u5bf9\u5e94\u7684\u6e90\u6587\u4ef6\u3002
+apt.warn.CorrespondingSourceFile=\u5df2\u521b\u5efa\u4e0e\u7c7b\u6587\u4ef6 "{0}" \u76f8\u5bf9\u5e94\u7684\u6e90\u6587\u4ef6\u3002
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_ja.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_ja.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -83,6 +83,17 @@
 doclet.Deprecated_Methods=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u30e1\u30bd\u30c3\u30c9
 doclet.Deprecated_Enum_Constants=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u5217\u6319\u578b\u5b9a\u6570
 doclet.Deprecated_Annotation_Type_Members=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u6ce8\u91c8\u578b\u306e\u8981\u7d20
+doclet.deprecated_classes=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u30af\u30e9\u30b9
+doclet.deprecated_enums=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u5217\u6319\u578b
+doclet.deprecated_interfaces=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9
+doclet.deprecated_exceptions=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u4f8b\u5916
+doclet.deprecated_annotation_types=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u6ce8\u91c8\u578b
+doclet.deprecated_errors=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u30a8\u30e9\u30fc
+doclet.deprecated_fields=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u30d5\u30a3\u30fc\u30eb\u30c9
+doclet.deprecated_constructors=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf
+doclet.deprecated_methods=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u30e1\u30bd\u30c3\u30c9
+doclet.deprecated_enum_constants=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u5217\u6319\u578b\u5b9a\u6570
+doclet.deprecated_annotation_type_members=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u6ce8\u91c8\u578b\u306e\u8981\u7d20
 doclet.Frame_Output=\u30d5\u30ec\u30fc\u30e0\u51fa\u529b
 doclet.Docs_generated_by_Javadoc=\u3053\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306f javadoc \u3067\u751f\u6210\u3055\u308c\u3066\u3044\u307e\u3059\u3002
 doclet.Generated_Docs_Untitled=\u751f\u6210\u3055\u308c\u305f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 (\u30bf\u30a4\u30c8\u30eb\u306a\u3057)
@@ -158,7 +169,7 @@
 doclet.Help_annotation_type_line_1=\u5404\u6ce8\u91c8\u578b\u306b\u306f\u3001\u305d\u308c\u81ea\u8eab\u306e\u500b\u5225\u306e\u30da\u30fc\u30b8\u3068\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u304c\u3042\u308a\u307e\u3059:
 doclet.Help_annotation_type_line_2=\u6ce8\u91c8\u578b\u306e\u5ba3\u8a00
 doclet.Help_annotation_type_line_3=\u6ce8\u91c8\u578b\u306e\u8aac\u660e
-doclet.The=
+doclet.The=The
 doclet.Style_line_1=javadoc \u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8
 doclet.Style_line_2=\u8272\u3084\u30d5\u30a9\u30f3\u30c8\u306a\u3069\u306e\u30b9\u30bf\u30a4\u30eb\u5c5e\u6027\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u3092\u4e0a\u66f8\u304d\u3059\u308b\u306b\u306f\u3001\u3053\u3053\u3067\u5b9a\u7fa9\u3057\u307e\u3059\u3002
 doclet.Style_line_3=\u30da\u30fc\u30b8\u306e\u30d0\u30c3\u30af\u30b0\u30e9\u30a6\u30f3\u30c9\u306e\u8272
@@ -171,6 +182,7 @@
 doclet.Style_line_9=\u30d5\u30ec\u30fc\u30e0\u306b\u304a\u3051\u308b\u3001\u3088\u308a\u5c0f\u3055\u3044\u3001\u30bb\u30ea\u30d5\u306a\u3057\u30d5\u30a9\u30f3\u30c8\u306e\u4f8b
 doclet.Style_line_10=\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u30d0\u30fc\u306e\u30d5\u30a9\u30f3\u30c8\u3068\u8272
 doclet.Style_line_11=\u6fc3\u3044\u9752
+doclet.Style_line_12=\u8868\u898b\u51fa\u3057\u306e\u30b9\u30bf\u30a4\u30eb
 doclet.ClassUse_Packages.that.use.0={0} \u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u30d1\u30c3\u30b1\u30fc\u30b8
 doclet.ClassUse_Uses.of.0.in.1={1} \u3067\u306e {0} \u306e\u4f7f\u7528
 doclet.ClassUse_Classes.in.0.used.by.1={1} \u306b\u3088\u308a\u4f7f\u7528\u3055\u308c\u308b {0} \u306e\u30af\u30e9\u30b9
@@ -206,44 +218,7 @@
 doclet.Same_package_name_used=\u30d1\u30c3\u30b1\u30fc\u30b8\u540d\u5f62\u5f0f\u304c 2 \u56de\u4f7f\u7528\u3055\u308c\u3066\u3044\u307e\u3059: {0}
 doclet.Serialization.Excluded_Class=\u5e38\u99d0\u30d5\u30a3\u30fc\u30eb\u30c9 {1} \u306f\u3001\u9664\u5916\u3055\u308c\u305f\u30af\u30e9\u30b9 {0} \u3092\u4f7f\u7528\u3057\u307e\u3059\u3002
 doclet.Serialization.Nonexcluded_Class=\u5e38\u99d0\u30d5\u30a3\u30fc\u30eb\u30c9 {1} \u306f\u3001\u975e\u8868\u793a\u306e\u3001\u542b\u307e\u308c\u306a\u3044\u30af\u30e9\u30b9 {0} \u3092\u4f7f\u7528\u3057\u307e\u3059\u3002
-doclet.usage=\u6a19\u6e96\u306e doclet \u306b\u3088\u308a\u63d0\u4f9b\u3055\u308c\u308b\u3082\u306e:\n\
-  -d <directory>                    \u51fa\u529b\u30d5\u30a1\u30a4\u30eb\u306e\u8ee2\u9001\u5148\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\n\
-  -use                              \u30af\u30e9\u30b9\u3068\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u4f7f\u7528\u30da\u30fc\u30b8\u3092\u4f5c\u6210\u3059\u308b\n\
-  -version                          @version \u30d1\u30e9\u30b0\u30e9\u30d5\u3092\u542b\u3081\u308b\n\
-  -author                           @author \u30d1\u30e9\u30b0\u30e9\u30d5\u3092\u542b\u3081\u308b\n\
-  -docfilessubdirs                  doc-file \u30b5\u30d6\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u518d\u5e30\u7684\u306b\u30b3\u30d4\u30fc\u3059\u308b\n\
-  -splitindex                       1 \u5b57\u3054\u3068\u306b 1 \u30d5\u30a1\u30a4\u30eb\u306b\u7d22\u5f15\u3092\u5206\u5272\u3059\u308b\n\
-  -windowtitle <text>               \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u7528\u306e\u30d6\u30e9\u30a6\u30b6\u30a6\u30a3\u30f3\u30c9\u30a6\u30bf\u30a4\u30c8\u30eb\n\
-  -doctitle <html-code>             \u6982\u8981\u30da\u30fc\u30b8\u306b\u30bf\u30a4\u30c8\u30eb\u3092\u542b\u3081\u308b\n\
-  -header <html-code>               \u5404\u30da\u30fc\u30b8\u306b\u30d8\u30c3\u30c0\u30fc\u3092\u542b\u3081\u308b\n\
-  -footer <html-code>               \u5404\u30da\u30fc\u30b8\u306b\u30d5\u30c3\u30bf\u30fc\u3092\u542b\u3081\u308b\n\
-  -top    <html-code>               \u5404\u30da\u30fc\u30b8\u306b\u4e0a\u90e8\u30c6\u30ad\u30b9\u30c8\u3092\u542b\u3081\u308b\n\
-  -bottom <html-code>               \u5404\u30da\u30fc\u30b8\u306b\u4e0b\u90e8\u30c6\u30ad\u30b9\u30c8\u3092\u542b\u3081\u308b\n\
-  -link <url>                       <url> \u306b javadoc \u51fa\u529b\u3078\u306e\u30ea\u30f3\u30af\u3092\u4f5c\u6210\u3059\u308b\n\
-  -linkoffline <url> <url2>         <url2> \u306b\u3042\u308b\u30d1\u30c3\u30b1\u30fc\u30b8\u30ea\u30b9\u30c8\u3092\u4f7f\u7528\u3057\u3066 <url> \u306e docs \u306b\u30ea\u30f3\u30af\u3059\u308b\n\
-  -excludedocfilessubdir <name1>:.. \u6307\u5b9a\u3055\u308c\u305f\u540d\u524d\u306e doc-files \u30b5\u30d6\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u3059\u3079\u3066\u9664\u5916\u3059\u308b\n\
-  -group <name> <p1>:<p2>..         \u6307\u5b9a\u3059\u308b\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u6982\u8981\u30da\u30fc\u30b8\u306b\u304a\u3044\u3066\u30b0\u30eb\u30fc\u30d7\u5316\u3059\u308b\n\
-  -nocomment                        \u8a18\u8ff0\u304a\u3088\u3073\u30bf\u30b0\u3092\u6291\u5236\u3057\u3066\u5ba3\u8a00\u3060\u3051\u3092\u751f\u6210\u3059\u308b\n\
-  -nodeprecated                     @deprecated \u60c5\u5831\u3092\u9664\u5916\u3059\u308b\n\
-  -noqualifier <name1>:<name2>:...  \u51fa\u529b\u304b\u3089\u4fee\u98fe\u5b50\u306e\u30ea\u30b9\u30c8\u3092\u9664\u5916\u3059\u308b\n\
-  -nosince                          @since \u60c5\u5831\u3092\u9664\u5916\u3059\u308b\n\
-  -notimestamp                      \u975e\u8868\u793a\u306e\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u3092\u9664\u5916\u3059\u308b\n\
-  -nodeprecatedlist                 \u975e\u63a8\u5968 \u306e\u30ea\u30b9\u30c8\u3092\u751f\u6210\u3057\u306a\u3044\n\
-  -notree                           \u30af\u30e9\u30b9\u968e\u5c64\u3092\u751f\u6210\u3057\u306a\u3044\n\
-  -noindex                          \u7d22\u5f15\u3092\u751f\u6210\u3057\u306a\u3044\n\
-  -nohelp                           \u30d8\u30eb\u30d7\u30ea\u30f3\u30af\u3092\u751f\u6210\u3057\u306a\u3044\n\
-  -nonavbar                         \u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u30d0\u30fc\u3092\u751f\u6210\u3057\u306a\u3044\n\
-  -serialwarn                       @serial \u30bf\u30b0\u306b\u95a2\u3059\u308b\u8b66\u544a\u3092\u751f\u6210\u3059\u308b\n\
-  -tag <name>:<locations>:<header>  \u5358\u4e00\u306e\u5f15\u6570\u3092\u6301\u3064\u30ab\u30b9\u30bf\u30e0\u30bf\u30b0\u3092\u6307\u5b9a\u3059\u308b\n\
-  -taglet                           \u30bf\u30b0\u30ec\u30c3\u30c8\u306e\u5b8c\u5168\u4fee\u98fe\u540d\u3092\u767b\u9332\u3059\u308b\n\
-  -tagletpath                       \u30bf\u30b0\u30ec\u30c3\u30c8\u306e\u30d1\u30b9\n\
-  -charset <charset>                \u751f\u6210\u3055\u308c\u308b\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u30af\u30ed\u30b9\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u306e\u6587\u5b57\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\n\
-  -helpfile <file>                  \u30d8\u30eb\u30d7\u30ea\u30f3\u30af\u306e\u30ea\u30f3\u30af\u5148\u30d5\u30a1\u30a4\u30eb\u3092\u542b\u3081\u308b\n\
-  -linksource                       HTML \u5f62\u5f0f\u3067\u30bd\u30fc\u30b9\u3092\u751f\u6210\u3059\u308b\n\
-  -sourcetab <tab length>           \u30bd\u30fc\u30b9\u5185\u306e\u30bf\u30d6\u306e\u7a7a\u767d\u6587\u5b57\u306e\u6570\u3092\u6307\u5b9a\u3059\u308b\n\
-  -keywords                         HTML \u306e meta \u30bf\u30b0\u306b\u3001\u30d1\u30c3\u30b1\u30fc\u30b8\u3001\u30af\u30e9\u30b9\u3001\u304a\u3088\u3073\u30e1\u30f3\u30d0\u30fc\u306e\u60c5\u5831\u3092\u542b\u3081\u308b\n\
-  -stylesheetfile <path>            \u751f\u6210\u3055\u308c\u305f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u30b9\u30bf\u30a4\u30eb\u5909\u66f4\u7528\u30d5\u30a1\u30a4\u30eb\n\
-  -docencoding <name>               \u51fa\u529b\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u540d
+doclet.usage=\u6a19\u6e96\u306e doclet \u306b\u3088\u308a\u63d0\u4f9b\u3055\u308c\u308b\u3082\u306e:\n-d <directory>                    \u51fa\u529b\u30d5\u30a1\u30a4\u30eb\u306e\u8ee2\u9001\u5148\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\n-use                              \u30af\u30e9\u30b9\u3068\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u4f7f\u7528\u30da\u30fc\u30b8\u3092\u4f5c\u6210\u3059\u308b\n-version                          @version \u30d1\u30e9\u30b0\u30e9\u30d5\u3092\u542b\u3081\u308b\n-author                           @author \u30d1\u30e9\u30b0\u30e9\u30d5\u3092\u542b\u3081\u308b\n-docfilessubdirs                  doc-file \u30b5\u30d6\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u518d\u5e30\u7684\u306b\u30b3\u30d4\u30fc\u3059\u308b\n-splitindex                       1 \u5b57\u3054\u3068\u306b 1 \u30d5\u30a1\u30a4\u30eb\u306b\u7d22\u5f15\u3092\u5206\u5272\u3059\u308b\n-windowtitle <text>               \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u7528\u306e\u30d6\u30e9\u30a6\u30b6\u30a6\u30a3\u30f3\u30c9\u30a6\u30bf\u30a4\u30c8\u30eb\n-doctitle <html-code>             \u6982\u8981\u30da\u30fc\u30b8\u306b\u30bf\u30a4\u30c8\u30eb\u3092\u542b\u3081\u308b\n-header <html-code>               \u5404\u30da\u30fc\u30b8\u306b\u30d8\u30c3\u30c0\u30fc\u3092\u542b\u3081\u308b\n-footer <html-code>               \u5404\u30da\u30fc\u30b8\u306b\u30d5\u30c3\u30bf\u30fc\u3092\u542b\u3081\u308b\n-top    <html-code>               \u5404\u30da\u30fc\u30b8\u306b\u4e0a\u90e8\u30c6\u30ad\u30b9\u30c8\u3092\u542b\u3081\u308b\n-bottom <html-code>               \u5404\u30da\u30fc\u30b8\u306b\u4e0b\u90e8\u30c6\u30ad\u30b9\u30c8\u3092\u542b\u3081\u308b\n-link <url>                       <url> \u306b javadoc \u51fa\u529b\u3078\u306e\u30ea\u30f3\u30af\u3092\u4f5c\u6210\u3059\u308b\n-linkoffline <url> <url2>         <url2> \u306b\u3042\u308b\u30d1\u30c3\u30b1\u30fc\u30b8\u30ea\u30b9\u30c8\u3092\u4f7f\u7528\u3057\u3066 <url> \u306e docs \u306b\u30ea\u30f3\u30af\u3059\u308b\n-excludedocfilessubdir <name1>:.. \u6307\u5b9a\u3055\u308c\u305f\u540d\u524d\u306e doc-files \u30b5\u30d6\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u3059\u3079\u3066\u9664\u5916\u3059\u308b\n-group <name> <p1>:<p2>..         \u6307\u5b9a\u3059\u308b\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u6982\u8981\u30da\u30fc\u30b8\u306b\u304a\u3044\u3066\u30b0\u30eb\u30fc\u30d7\u5316\u3059\u308b\n-nocomment                        \u8a18\u8ff0\u304a\u3088\u3073\u30bf\u30b0\u3092\u6291\u5236\u3057\u3066\u5ba3\u8a00\u3060\u3051\u3092\u751f\u6210\u3059\u308b\n-nodeprecated                     @deprecated \u60c5\u5831\u3092\u9664\u5916\u3059\u308b\n-noqualifier <name1>:<name2>:...  \u51fa\u529b\u304b\u3089\u4fee\u98fe\u5b50\u306e\u30ea\u30b9\u30c8\u3092\u9664\u5916\u3059\u308b\n-nosince                          @since \u60c5\u5831\u3092\u9664\u5916\u3059\u308b\n-notimestamp                      \u975e\u8868\u793a\u306e\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u3092\u9664\u5916\u3059\u308b\n-nodeprecatedlist                 \u975e\u63a8\u5968 \u306e\u30ea\u30b9\u30c8\u3092\u751f\u6210\u3057\u306a\u3044\n-notree                           \u30af\u30e9\u30b9\u968e\u5c64\u3092\u751f\u6210\u3057\u306a\u3044\n-noindex                          \u7d22\u5f15\u3092\u751f\u6210\u3057\u306a\u3044\n-nohelp                           \u30d8\u30eb\u30d7\u30ea\u30f3\u30af\u3092\u751f\u6210\u3057\u306a\u3044\n-nonavbar                         \u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u30d0\u30fc\u3092\u751f\u6210\u3057\u306a\u3044\n-serialwarn                       @serial \u30bf\u30b0\u306b\u95a2\u3059\u308b\u8b66\u544a\u3092\u751f\u6210\u3059\u308b\n-tag <name>:<locations>:<header>  \u5358\u4e00\u306e\u5f15\u6570\u3092\u6301\u3064\u30ab\u30b9\u30bf\u30e0\u30bf\u30b0\u3092\u6307\u5b9a\u3059\u308b\n-taglet                           \u30bf\u30b0\u30ec\u30c3\u30c8\u306e\u5b8c\u5168\u4fee\u98fe\u540d\u3092\u767b\u9332\u3059\u308b\n-tagletpath                       \u30bf\u30b0\u30ec\u30c3\u30c8\u306e\u30d1\u30b9\n-charset <charset>                \u751f\u6210\u3055\u308c\u308b\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u30af\u30ed\u30b9\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u306e\u6587\u5b57\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\n-helpfile <file>                  \u30d8\u30eb\u30d7\u30ea\u30f3\u30af\u306e\u30ea\u30f3\u30af\u5148\u30d5\u30a1\u30a4\u30eb\u3092\u542b\u3081\u308b\n-linksource                       HTML \u5f62\u5f0f\u3067\u30bd\u30fc\u30b9\u3092\u751f\u6210\u3059\u308b\n-sourcetab <tab length>           \u30bd\u30fc\u30b9\u5185\u306e\u30bf\u30d6\u306e\u7a7a\u767d\u6587\u5b57\u306e\u6570\u3092\u6307\u5b9a\u3059\u308b\n-keywords                         HTML \u306e meta \u30bf\u30b0\u306b\u3001\u30d1\u30c3\u30b1\u30fc\u30b8\u3001\u30af\u30e9\u30b9\u3001\u304a\u3088\u3073\u30e1\u30f3\u30d0\u30fc\u306e\u60c5\u5831\u3092\u542b\u3081\u308b\n-stylesheetfile <path>            \u751f\u6210\u3055\u308c\u305f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u30b9\u30bf\u30a4\u30eb\u5909\u66f4\u7528\u30d5\u30a1\u30a4\u30eb\n-docencoding <name>               \u51fa\u529b\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u540d
 
 
 
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_zh_CN.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_zh_CN.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -83,6 +83,17 @@
 doclet.Deprecated_Methods=\u5df2\u8fc7\u65f6\u7684\u65b9\u6cd5
 doclet.Deprecated_Enum_Constants=\u5df2\u8fc7\u65f6\u7684\u679a\u4e3e\u5e38\u91cf
 doclet.Deprecated_Annotation_Type_Members=\u5df2\u8fc7\u65f6\u7684\u6ce8\u91ca\u7c7b\u578b\u5143\u7d20
+doclet.deprecated_classes=\u5df2\u8fc7\u65f6\u7684\u7c7b
+doclet.deprecated_enums=\u5df2\u8fc7\u65f6\u7684\u679a\u4e3e
+doclet.deprecated_interfaces=\u5df2\u8fc7\u65f6\u7684\u63a5\u53e3
+doclet.deprecated_exceptions=\u5df2\u8fc7\u65f6\u7684\u5f02\u5e38
+doclet.deprecated_annotation_types=\u5df2\u8fc7\u65f6\u7684\u6ce8\u91ca\u7c7b\u578b
+doclet.deprecated_errors=\u5df2\u8fc7\u65f6\u7684\u9519\u8bef
+doclet.deprecated_fields=\u5df2\u8fc7\u65f6\u7684\u5b57\u6bb5
+doclet.deprecated_constructors=\u5df2\u8fc7\u65f6\u7684\u6784\u9020\u51fd\u6570
+doclet.deprecated_methods=\u5df2\u8fc7\u65f6\u7684\u65b9\u6cd5
+doclet.deprecated_enum_constants=\u5df2\u8fc7\u65f6\u7684\u679a\u4e3e\u5e38\u91cf
+doclet.deprecated_annotation_type_members=\u5df2\u8fc7\u65f6\u7684\u6ce8\u91ca\u7c7b\u578b\u5143\u7d20
 doclet.Frame_Output=\u6846\u67b6\u8f93\u51fa
 doclet.Docs_generated_by_Javadoc=\u7531 Javadoc \u751f\u6210\u7684\u6587\u6863\u3002
 doclet.Generated_Docs_Untitled=\u751f\u6210\u7684\u6587\u6863\uff08\u65e0\u6807\u9898\uff09
@@ -171,6 +182,7 @@
 doclet.Style_line_9=\u6846\u67b6\u4e2d\u5c0f\u53f7 sans-serif \u5b57\u4f53\u7684\u793a\u4f8b
 doclet.Style_line_10=\u5bfc\u822a\u680f\u5b57\u4f53\u548c\u989c\u8272
 doclet.Style_line_11=\u6df1\u84dd\u8272
+doclet.Style_line_12=\u8868\u683c\u6807\u9898\u6837\u5f0f
 doclet.ClassUse_Packages.that.use.0=\u4f7f\u7528 {0} \u7684\u8f6f\u4ef6\u5305
 doclet.ClassUse_Uses.of.0.in.1={1} \u4e2d {0} \u7684\u4f7f\u7528
 doclet.ClassUse_Classes.in.0.used.by.1={1} \u4f7f\u7528\u7684 {0} \u4e2d\u7684\u7c7b
@@ -206,44 +218,7 @@
 doclet.Same_package_name_used=\u8f6f\u4ef6\u5305\u540d\u79f0\u5f62\u5f0f\u4f7f\u7528\u4e86\u4e24\u6b21\uff1a {0}
 doclet.Serialization.Excluded_Class=\u975e\u77ac\u6001\u5b57\u6bb5 {1} \u4f7f\u7528\u4e86\u6392\u9664\u7684\u7c7b {0}\u3002
 doclet.Serialization.Nonexcluded_Class=\u975e\u77ac\u6001\u5b57\u6bb5 {1} \u4f7f\u7528\u4e86\u9690\u85cf\u7684\u3001\u672a\u5305\u542b\u7684\u7c7b {0}\u3002
-doclet.usage=\u901a\u8fc7\u6807\u51c6 doclet \u63d0\u4f9b:\n\
--d <directory>                    \u8f93\u51fa\u6587\u4ef6\u7684\u76ee\u6807\u76ee\u5f55\n\
--use                              \u521b\u5efa\u7c7b\u548c\u5305\u7528\u6cd5\u9875\u9762\n\
--version                          \u5305\u542b @version \u6bb5\n\
--author                           \u5305\u542b @author \u6bb5\n\
--docfilessubdirs                  \u9012\u5f52\u590d\u5236\u6587\u6863\u6587\u4ef6\u5b50\u76ee\u5f55\n\
--splitindex                       \u5c06\u7d22\u5f15\u5206\u4e3a\u6bcf\u4e2a\u5b57\u6bcd\u5bf9\u5e94\u4e00\u4e2a\u6587\u4ef6\n\
--windowtitle <text>               \u6587\u6863\u7684\u6d4f\u89c8\u5668\u7a97\u53e3\u6807\u9898\n\
--doctitle <html-code>             \u5305\u542b\u6982\u8ff0\u9875\u9762\u7684\u6807\u9898\n\
--header <html-code>               \u5305\u542b\u6bcf\u4e2a\u9875\u9762\u7684\u9875\u7709\u6587\u672c\n\
--footer <html-code>               \u5305\u542b\u6bcf\u4e2a\u9875\u9762\u7684\u9875\u811a\u6587\u672c\n\
--top    <html-code>               \u5305\u542b\u6bcf\u4e2a\u9875\u9762\u7684\u9876\u90e8\u6587\u672c\n\
--bottom <html-code>               \u5305\u542b\u6bcf\u4e2a\u9875\u9762\u7684\u5e95\u90e8\u6587\u672c\n\
--link <url>                       \u521b\u5efa\u6307\u5411\u4f4d\u4e8e <url> \u7684 javadoc \u8f93\u51fa\u7684\u94fe\u63a5\n\
--linkoffline <url> <url2>         \u5229\u7528\u4f4d\u4e8e <url2> \u7684\u5305\u5217\u8868\u94fe\u63a5\u81f3\u4f4d\u4e8e <url> \u7684\u6587\u6863\n\
--excludedocfilessubdir <name1>:..\u6392\u9664\u5177\u6709\u7ed9\u5b9a\u540d\u79f0\u7684\u6240\u6709\u6587\u6863\u6587\u4ef6\u5b50\u76ee\u5f55\u3002\n\
--group <name> <p1>:<p2>..\u5728\u6982\u8ff0\u9875\u9762\u4e2d\uff0c\u5c06\u6307\u5b9a\u7684\u5305\u5206\u7ec4\n\
--nocomment                        \u4e0d\u751f\u6210\u63cf\u8ff0\u548c\u6807\u8bb0\uff0c\u53ea\u751f\u6210\u58f0\u660e\u3002\n\
--nodeprecated                     \u4e0d\u5305\u542b @deprecated \u4fe1\u606f\n\
--noqualifier <name1>:<name2>:...\u8f93\u51fa\u4e2d\u4e0d\u5305\u62ec\u6307\u5b9a\u9650\u5b9a\u7b26\u7684\u5217\u8868\u3002\n\
--nosince                          \u4e0d\u5305\u542b @since \u4fe1\u606f\n\
--notimestamp                      \u4e0d\u5305\u542b\u9690\u85cf\u65f6\u95f4\u6233\n\
--nodeprecatedlist                 \u4e0d\u751f\u6210\u5df2\u8fc7\u65f6\u7684\u5217\u8868\n\
--notree                           \u4e0d\u751f\u6210\u7c7b\u5206\u5c42\u7ed3\u6784\n\
--noindex                          \u4e0d\u751f\u6210\u7d22\u5f15\n\
--nohelp                           \u4e0d\u751f\u6210\u5e2e\u52a9\u94fe\u63a5\n\
--nonavbar                         \u4e0d\u751f\u6210\u5bfc\u822a\u680f\n\
--serialwarn                       \u751f\u6210\u6709\u5173 @serial \u6807\u8bb0\u7684\u8b66\u544a\n\
--tag <name>:<locations>:<header>  \u6307\u5b9a\u5355\u4e2a\u53c2\u6570\u81ea\u5b9a\u4e49\u6807\u8bb0\n\
--taglet                           \u8981\u6ce8\u518c\u7684 Taglet \u7684\u5168\u9650\u5b9a\u540d\u79f0\n\
--tagletpath                       Taglet \u7684\u8def\u5f84\n\
--charset <charset>                \u7528\u4e8e\u8de8\u5e73\u53f0\u67e5\u770b\u751f\u6210\u7684\u6587\u6863\u7684\u5b57\u7b26\u96c6\u3002\n\
--helpfile <file>                  \u5305\u542b\u5e2e\u52a9\u94fe\u63a5\u6240\u94fe\u63a5\u5230\u7684\u6587\u4ef6\n\
--linksource                       \u4ee5 HTML \u683c\u5f0f\u751f\u6210\u6e90\u6587\u4ef6\n\
--sourcetab <tab length>           \u6307\u5b9a\u6e90\u4e2d\u6bcf\u4e2a\u5236\u8868\u7b26\u5360\u636e\u7684\u7a7a\u683c\u6570\n\
--keywords                         \u4f7f\u5305\u3001\u7c7b\u548c\u6210\u5458\u4fe1\u606f\u9644\u5e26 HTML \u5143\u6807\u8bb0\n\
--stylesheetfile <path>            \u7528\u4e8e\u66f4\u6539\u751f\u6210\u6587\u6863\u7684\u6837\u5f0f\u7684\u6587\u4ef6\n\
--docencoding <name>               \u8f93\u51fa\u7f16\u7801\u540d\u79f0
+doclet.usage=\u901a\u8fc7\u6807\u51c6 doclet \u63d0\u4f9b:\n-d <directory>                    \u8f93\u51fa\u6587\u4ef6\u7684\u76ee\u6807\u76ee\u5f55\n-use                              \u521b\u5efa\u7c7b\u548c\u5305\u7528\u6cd5\u9875\u9762\n-version                          \u5305\u542b @version \u6bb5\n-author                           \u5305\u542b @author \u6bb5\n-docfilessubdirs                  \u9012\u5f52\u590d\u5236\u6587\u6863\u6587\u4ef6\u5b50\u76ee\u5f55\n-splitindex                       \u5c06\u7d22\u5f15\u5206\u4e3a\u6bcf\u4e2a\u5b57\u6bcd\u5bf9\u5e94\u4e00\u4e2a\u6587\u4ef6\n-windowtitle <text>               \u6587\u6863\u7684\u6d4f\u89c8\u5668\u7a97\u53e3\u6807\u9898\n-doctitle <html-code>             \u5305\u542b\u6982\u8ff0\u9875\u9762\u7684\u6807\u9898\n-header <html-code>               \u5305\u542b\u6bcf\u4e2a\u9875\u9762\u7684\u9875\u7709\u6587\u672c\n-footer <html-code>               \u5305\u542b\u6bcf\u4e2a\u9875\u9762\u7684\u9875\u811a\u6587\u672c\n-top    <html-code>               \u5305\u542b\u6bcf\u4e2a\u9875\u9762\u7684\u9876\u90e8\u6587\u672c\n-bottom <html-code>               \u5305\u542b\u6bcf\u4e2a\u9875\u9762\u7684\u5e95\u90e8\u6587\u672c\n-link <url>                       \u521b\u5efa\u6307\u5411\u4f4d\u4e8e <url> \u7684 javadoc \u8f93\u51fa\u7684\u94fe\u63a5\n-linkoffline <url> <url2>         \u5229\u7528\u4f4d\u4e8e <url2> \u7684\u5305\u5217\u8868\u94fe\u63a5\u81f3\u4f4d\u4e8e <url> \u7684\u6587\u6863\n-excludedocfilessubdir <name1>:..\u6392\u9664\u5177\u6709\u7ed9\u5b9a\u540d\u79f0\u7684\u6240\u6709\u6587\u6863\u6587\u4ef6\u5b50\u76ee\u5f55\u3002\n-group <name> <p1>:<p2>..\u5728\u6982\u8ff0\u9875\u9762\u4e2d\uff0c\u5c06\u6307\u5b9a\u7684\u5305\u5206\u7ec4\n-nocomment                        \u4e0d\u751f\u6210\u63cf\u8ff0\u548c\u6807\u8bb0\uff0c\u53ea\u751f\u6210\u58f0\u660e\u3002\n-nodeprecated                     \u4e0d\u5305\u542b @deprecated \u4fe1\u606f\n-noqualifier <name1>:<name2>:...\u8f93\u51fa\u4e2d\u4e0d\u5305\u62ec\u6307\u5b9a\u9650\u5b9a\u7b26\u7684\u5217\u8868\u3002\n-nosince                          \u4e0d\u5305\u542b @since \u4fe1\u606f\n-notimestamp                      \u4e0d\u5305\u542b\u9690\u85cf\u65f6\u95f4\u6233\n-nodeprecatedlist                 \u4e0d\u751f\u6210\u5df2\u8fc7\u65f6\u7684\u5217\u8868\n-notree                           \u4e0d\u751f\u6210\u7c7b\u5206\u5c42\u7ed3\u6784\n-noindex                          \u4e0d\u751f\u6210\u7d22\u5f15\n-nohelp                           \u4e0d\u751f\u6210\u5e2e\u52a9\u94fe\u63a5\n-nonavbar                         \u4e0d\u751f\u6210\u5bfc\u822a\u680f\n-serialwarn                       \u751f\u6210\u6709\u5173 @serial \u6807\u8bb0\u7684\u8b66\u544a\n-tag <name>:<locations>:<header>  \u6307\u5b9a\u5355\u4e2a\u53c2\u6570\u81ea\u5b9a\u4e49\u6807\u8bb0\n-taglet                           \u8981\u6ce8\u518c\u7684 Taglet \u7684\u5168\u9650\u5b9a\u540d\u79f0\n-tagletpath                       Taglet \u7684\u8def\u5f84\n-charset <charset>                \u7528\u4e8e\u8de8\u5e73\u53f0\u67e5\u770b\u751f\u6210\u7684\u6587\u6863\u7684\u5b57\u7b26\u96c6\u3002\n-helpfile <\u6587\u4ef6>                  \u5305\u542b\u5e2e\u52a9\u94fe\u63a5\u6240\u94fe\u63a5\u5230\u7684\u6587\u4ef6\n-linksource                       \u4ee5 HTML \u683c\u5f0f\u751f\u6210\u6e90\u6587\u4ef6\n-sourcetab <tab length>           \u6307\u5b9a\u6e90\u4e2d\u6bcf\u4e2a\u5236\u8868\u7b26\u5360\u636e\u7684\u7a7a\u683c\u6570\n-keywords                         \u4f7f\u5305\u3001\u7c7b\u548c\u6210\u5458\u4fe1\u606f\u9644\u5e26 HTML \u5143\u6807\u8bb0\n-stylesheetfile <\u8def\u5f84>            \u7528\u4e8e\u66f4\u6539\u751f\u6210\u6587\u6863\u7684\u6837\u5f0f\u7684\u6587\u4ef6\n-docencoding <\u540d\u79f0>               \u8f93\u51fa\u7f16\u7801\u540d\u79f0
 
 
 
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -11,10 +11,8 @@
 doclet.Class_0_extends_implements_serializable=Class {0} extends {1} implements Serializable
 doclet.Option_conflict=\u30aa\u30d7\u30b7\u30e7\u30f3 {0} \u304c {1} \u3068\u77db\u76fe\u3057\u307e\u3059
 doclet.Option_reuse=\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u518d\u4f7f\u7528\u3055\u308c\u3066\u3044\u307e\u3059: {0}
-doclet.exception_encountered= {0} \u3092\u691c\u51fa \n\
-\t\u30d5\u30a1\u30a4\u30eb\u306e\u4f5c\u6210\u4e2d: {1}
-doclet.perform_copy_exception_encountered= \u30b3\u30d4\u30fc\u5b9f\u884c\u4e2d\u306b {0} \u3092 \n\
-\u691c\u51fa\u3057\u307e\u3057\u305f\u3002
+doclet.exception_encountered= {0} \u3092\u691c\u51fa \n\t\u30d5\u30a1\u30a4\u30eb\u306e\u4f5c\u6210\u4e2d: {1}
+doclet.perform_copy_exception_encountered= \u30b3\u30d4\u30fc\u5b9f\u884c\u4e2d\u306b {0} \u3092 \n\u691c\u51fa\u3057\u307e\u3057\u305f\u3002
 doclet.File_not_found=\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093: {0}
 doclet.Copy_Overwrite_warning=\u30d5\u30a1\u30a4\u30eb {0} \u306f\u540c\u3058\u540d\u524d\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308b\u306e\u3067 {1} \u306b\u30b3\u30d4\u30fc\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f...
 doclet.Copying_File_0_To_Dir_1=\u30d5\u30a1\u30a4\u30eb {0} \u3092\u30c7\u30a3\u30ec\u30af\u30c8\u30ea {1} \u306b\u30b3\u30d4\u30fc\u4e2d...
@@ -81,6 +79,8 @@
 doclet.Exceptions=\u4f8b\u5916
 doclet.Errors=\u30a8\u30e9\u30fc
 doclet.Classes=\u30af\u30e9\u30b9
+doclet.Packages=\u30d1\u30c3\u30b1\u30fc\u30b8
+doclet.packages=\u30d1\u30c3\u30b1\u30fc\u30b8
 doclet.All_Classes=\u3059\u3079\u3066\u306e\u30af\u30e9\u30b9
 doclet.All_Superinterfaces=\u3059\u3079\u3066\u306e\u30b9\u30fc\u30d1\u30fc\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9:
 doclet.All_Implemented_Interfaces=\u3059\u3079\u3066\u306e\u5b9f\u88c5\u3055\u308c\u305f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9:
@@ -91,14 +91,20 @@
 doclet.Class=\u30af\u30e9\u30b9
 doclet.AnnotationType=\u6ce8\u91c8\u578b
 doclet.annotationtype=\u6ce8\u91c8\u578b
+doclet.annotationtypes=\u6ce8\u91c8\u578b
 doclet.Enum=\u5217\u6319\u578b
 doclet.enum=\u5217\u6319
+doclet.enums=\u5217\u6319\u578b
 doclet.interface=\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9
+doclet.interfaces=\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9
 doclet.class=\u30af\u30e9\u30b9
+doclet.classes=\u30af\u30e9\u30b9
 doclet.Error=\u30a8\u30e9\u30fc
 doclet.error=\u30a8\u30e9\u30fc
+doclet.errors=\u30a8\u30e9\u30fc
 doclet.Exception=\u4f8b\u5916
 doclet.exception=\u4f8b\u5916
+doclet.exceptions=\u4f8b\u5916
 doclet.extended_by=\u4e0a\u4f4d\u3092\u62e1\u5f35
 doclet.extends=extends
 doclet.Package_private=(package private)
@@ -124,24 +130,34 @@
 doclet.value_tag_invalid_constant=@value \u30bf\u30b0 ({0} \u3092\u53c2\u7167\u3057\u3066\u3044\u308b) \u306f\u5b9a\u6570\u5185\u3067\u306e\u307f\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002
 doclet.dest_dir_create=\u5b9b\u5148\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u4f5c\u6210\u4e2d: "{0}"
 doclet.in={1} \u306e {0}
+doclet.Use_Table_Summary=\u8868\u3001\u4e00\u89a7 {0}\u3001\u8aac\u660e\u3092\u4f7f\u7528
+doclet.Constants_Table_Summary={0} \u8868\u3001\u5b9a\u6570\u30d5\u30a3\u30fc\u30eb\u30c9\u4e00\u89a7\u3001\u5024
+doclet.Member_Table_Summary={0} \u8868\u3001\u4e00\u89a7 {1}\u3001\u8aac\u660e
+doclet.fields=\u30d5\u30a3\u30fc\u30eb\u30c9
+doclet.constructors=\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf
+doclet.methods=\u30e1\u30bd\u30c3\u30c9
+doclet.annotation_type_optional_members=\u4efb\u610f\u8981\u7d20
+doclet.annotation_type_required_members=\u5fc5\u9808\u8981\u7d20
+doclet.enum_constants=\u5217\u6319\u578b\u5b9a\u6570
+doclet.nested_classes=\u5165\u308c\u5b50\u306e\u30af\u30e9\u30b9
+doclet.subclasses=\u30b5\u30d6\u30af\u30e9\u30b9
+doclet.subinterfaces=\u30b5\u30d6\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9
+doclet.Modifier=\u4fee\u98fe\u5b50
+doclet.Type=\u30bf\u30a4\u30d7
+doclet.Field=\u30d5\u30a3\u30fc\u30eb\u30c9
+doclet.Constructor=\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf
+doclet.Method=\u30e1\u30bd\u30c3\u30c9
+doclet.Annotation_Type_Optional_Member=\u4efb\u610f\u8981\u7d20
+doclet.Annotation_Type_Required_Member=\u5fc5\u9808\u8981\u7d20
+doclet.Annotation_Type_Member=\u6ce8\u91c8\u578b\u8981\u7d20
+doclet.Enum_Constant=\u5217\u6319\u578b\u5b9a\u6570
+doclet.Class=\u30af\u30e9\u30b9
+doclet.Description=\u8aac\u660e
+doclet.ConstantField=\u5b9a\u6570\u30d5\u30a3\u30fc\u30eb\u30c9
+doclet.Value=\u5024
+doclet.0_and_1={0} \u304a\u3088\u3073 {1}
 
 #Documentation for Enums
-doclet.enum_values_doc=\n\
- \u3053\u306e\u5217\u6319\u578b\u306e\u5b9a\u6570\u3092\u542b\u3080\u914d\u5217\u3092\u5ba3\u8a00\u3055\u308c\u3066\u3044\u308b\u9806\u5e8f\u3067\u8fd4\u3057\u307e\u3059\u3002\n\
- \u3053\u306e\u30e1\u30bd\u30c3\u30c9\u306f\u6b21\u306e\u3088\u3046\u306b\u3057\u3066\u5b9a\u6570\u3092\u53cd\u5fa9\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3067\u304d\u307e\u3059:\n\
- <pre>\n\
- for ({0} c : {0}.values())\n\
- &nbsp;   System.out.println(c);\n\
- </pre>\n\
- @return \u3053\u306e\u5217\u6319\u578b\u306e\u5b9a\u6570\u3092\u5ba3\u8a00\u3055\u308c\u3066\u3044\u308b\u9806\u5e8f\u3067\u542b\u3080\u914d\u5217
+doclet.enum_values_doc=\n\u3053\u306e\u5217\u6319\u578b\u306e\u5b9a\u6570\u3092\u542b\u3080\u914d\u5217\u3092\u5ba3\u8a00\u3055\u308c\u3066\u3044\u308b\u9806\u5e8f\u3067\u8fd4\u3057\u307e\u3059\u3002\n\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u306f\u6b21\u306e\u3088\u3046\u306b\u3057\u3066\u5b9a\u6570\u3092\u53cd\u5fa9\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3067\u304d\u307e\u3059:\n<pre>\nfor ({0} c : {0}.values())\n&nbsp;   System.out.println(c);\n</pre>\n@return \u3053\u306e\u5217\u6319\u578b\u306e\u5b9a\u6570\u3092\u5ba3\u8a00\u3055\u308c\u3066\u3044\u308b\u9806\u5e8f\u3067\u542b\u3080\u914d\u5217
 
-doclet.enum_valueof_doc=\n\
- \u6307\u5b9a\u3057\u305f\u540d\u524d\u3092\u6301\u3064\u3053\u306e\u578b\u306e\u5217\u6319\u578b\u5b9a\u6570\u3092\u8fd4\u3057\u307e\u3059\u3002\n\
- \u6587\u5b57\u5217\u306f\u3001\u3053\u306e\u578b\u306e\u5217\u6319\u578b\u5b9a\u6570\u3092\u5ba3\u8a00\u3059\u308b\u306e\u306b\u4f7f\u7528\u3057\u305f\u8b58\u5225\u5b50\u3068\u53b3\u5bc6\u306b\n\
- \u4e00\u81f4\u3057\u3066\u3044\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059 (\u4f59\u5206\u306a\u7a7a\u767d\u6587\u5b57\u3092\u542b\u3081\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093)\u3002\n\
- \n\
- @param name \u8fd4\u3055\u308c\u308b\u5217\u6319\u578b\u5b9a\u6570\u306e\u540d\u524d\n\
- @return \u6307\u5b9a\u3055\u308c\u305f\u540d\u524d\u3092\u6301\u3064\u5217\u6319\u578b\u5b9a\u6570\n\
- @throws IllegalArgumentException \u6307\u5b9a\u3055\u308c\u305f\u540d\u524d\u3092\u6301\u3064\u5b9a\u6570\u3092\n\
-         \u3053\u306e\u5217\u6319\u578b\u304c\u6301\u3063\u3066\u3044\u306a\u3044\u5834\u5408\n\
- @throws NullPointerException \u5f15\u6570\u304c null \u306e\u5834\u5408
+doclet.enum_valueof_doc=\n\u6307\u5b9a\u3057\u305f\u540d\u524d\u3092\u6301\u3064\u3053\u306e\u578b\u306e\u5217\u6319\u578b\u5b9a\u6570\u3092\u8fd4\u3057\u307e\u3059\u3002\n\u6587\u5b57\u5217\u306f\u3001\u3053\u306e\u578b\u306e\u5217\u6319\u578b\u5b9a\u6570\u3092\u5ba3\u8a00\u3059\u308b\u306e\u306b\u4f7f\u7528\u3057\u305f\u8b58\u5225\u5b50\u3068\u53b3\u5bc6\u306b\n\u4e00\u81f4\u3057\u3066\u3044\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059 (\u4f59\u5206\u306a\u7a7a\u767d\u6587\u5b57\u3092\u542b\u3081\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093)\u3002\n\n@param name \u8fd4\u3055\u308c\u308b\u5217\u6319\u578b\u5b9a\u6570\u306e\u540d\u524d\n@return \u6307\u5b9a\u3055\u308c\u305f\u540d\u524d\u3092\u6301\u3064\u5217\u6319\u578b\u5b9a\u6570\n@throws IllegalArgumentException \u6307\u5b9a\u3055\u308c\u305f\u540d\u524d\u3092\u6301\u3064\u5b9a\u6570\u3092\n\u3053\u306e\u5217\u6319\u578b\u304c\u6301\u3063\u3066\u3044\u306a\u3044\u5834\u5408\n@throws NullPointerException \u5f15\u6570\u304c null \u306e\u5834\u5408
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_zh_CN.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_zh_CN.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -11,10 +11,8 @@
 doclet.Class_0_extends_implements_serializable=\u7c7b {0} \u7ee7\u627f {1} \u5b9e\u73b0 Serializable
 doclet.Option_conflict=\u9009\u9879 {0} \u4e0e {1} \u51b2\u7a81
 doclet.Option_reuse=\u91cd\u590d\u4f7f\u7528\u7684\u9009\u9879\uff1a {0}
-doclet.exception_encountered= \u5c1d\u8bd5\u521b\u5efa\u6587\u4ef6 {1} \u65f6 \n\
-\t\u9047\u5230 {0}
-doclet.perform_copy_exception_encountered= \u6267\u884c\u590d\u5236\u65f6 \n\
-\u9047\u5230{0} \u3002
+doclet.exception_encountered= \u5c1d\u8bd5\u521b\u5efa\u6587\u4ef6 {1} \u65f6 \n\t\u9047\u5230 {0}
+doclet.perform_copy_exception_encountered= \u6267\u884c\u590d\u5236\u65f6 \n\u9047\u5230{0} \u3002
 doclet.File_not_found=\u627e\u4e0d\u5230\u6587\u4ef6\uff1a {0}
 doclet.Copy_Overwrite_warning=\u672a\u5c06\u6587\u4ef6 {0} \u590d\u5236\u5230 {1}\uff0c\u56e0\u4e3a\u73b0\u6709\u6587\u4ef6\u5177\u6709\u76f8\u540c\u540d\u79f0...
 doclet.Copying_File_0_To_Dir_1=\u6b63\u5728\u5c06\u6587\u4ef6 {0} \u590d\u5236\u5230\u76ee\u5f55 {1}...
@@ -81,6 +79,8 @@
 doclet.Exceptions=\u5f02\u5e38
 doclet.Errors=\u9519\u8bef
 doclet.Classes=\u7c7b
+doclet.Packages=\u8f6f\u4ef6\u5305
+doclet.packages=\u8f6f\u4ef6\u5305
 doclet.All_Classes=\u6240\u6709\u7c7b
 doclet.All_Superinterfaces=\u6240\u6709\u8d85\u7ea7\u63a5\u53e3\uff1a
 doclet.All_Implemented_Interfaces=\u6240\u6709\u5df2\u5b9e\u73b0\u7684\u63a5\u53e3\uff1a
@@ -91,14 +91,20 @@
 doclet.Class=\u7c7b
 doclet.AnnotationType=\u6ce8\u91ca\u7c7b\u578b
 doclet.annotationtype=\u6ce8\u91ca\u7c7b\u578b
+doclet.annotationtypes=\u6ce8\u91ca\u7c7b\u578b
 doclet.Enum=\u679a\u4e3e
 doclet.enum=\u679a\u4e3e
+doclet.enums=\u679a\u4e3e
 doclet.interface=\u63a5\u53e3
+doclet.interfaces=\u63a5\u53e3
 doclet.class=\u7c7b
+doclet.classes=\u7c7b
 doclet.Error=\u9519\u8bef
 doclet.error=\u9519\u8bef
+doclet.errors=\u9519\u8bef
 doclet.Exception=\u5f02\u5e38
 doclet.exception=\u5f02\u5e38
+doclet.exceptions=\u5f02\u5e38
 doclet.extended_by=\u7ee7\u627f\u8005
 doclet.extends=\u7ee7\u627f
 doclet.Package_private=\uff08\u4e13\u7528\u8f6f\u4ef6\u5305\uff09
@@ -124,27 +130,34 @@
 doclet.value_tag_invalid_constant=@value \u6807\u8bb0\uff08\u5f15\u7528 {0}\uff09\u53ea\u80fd\u5728\u5e38\u91cf\u4e2d\u4f7f\u7528\u3002
 doclet.dest_dir_create=\u6b63\u5728\u521b\u5efa\u76ee\u6807\u76ee\u5f55\uff1a "{0}"
 doclet.in={1} \u4e2d\u7684 {0}
+doclet.Use_Table_Summary=\u4f7f\u7528\u8868\u683c\uff0c\u5217\u51fa {0} \u548c\u8bf4\u660e
+doclet.Constants_Table_Summary={0} \u8868\u683c\uff0c\u5217\u51fa\u5e38\u91cf\u5b57\u6bb5\u548c\u503c
+doclet.Member_Table_Summary={0} \u8868\u683c\uff0c\u5217\u51fa {1} \u548c\u8bf4\u660e
+doclet.fields=\u5b57\u6bb5
+doclet.constructors=\u6784\u9020\u51fd\u6570
+doclet.methods=\u65b9\u6cd5
+doclet.annotation_type_optional_members=\u53ef\u9009\u5143\u7d20
+doclet.annotation_type_required_members=\u5fc5\u9700\u5143\u7d20
+doclet.enum_constants=\u679a\u4e3e\u5e38\u91cf
+doclet.nested_classes=\u5d4c\u5957\u7c7b
+doclet.subclasses=\u5b50\u7c7b
+doclet.subinterfaces=\u5b50\u63a5\u53e3
+doclet.Modifier=\u4fee\u9970\u7b26
+doclet.Type=\u7c7b\u578b
+doclet.Field=\u5b57\u6bb5
+doclet.Constructor=\u6784\u9020\u51fd\u6570
+doclet.Method=\u65b9\u6cd5
+doclet.Annotation_Type_Optional_Member=\u53ef\u9009\u5143\u7d20
+doclet.Annotation_Type_Required_Member=\u5fc5\u9700\u5143\u7d20
+doclet.Annotation_Type_Member=\u6ce8\u91ca\u7c7b\u578b\u5143\u7d20
+doclet.Enum_Constant=\u679a\u4e3e\u5e38\u91cf
+doclet.Class=\u7c7b
+doclet.Description=\u63cf\u8ff0
+doclet.ConstantField=\u5e38\u91cf\u5b57\u6bb5
+doclet.Value=\u503c
+doclet.0_and_1={0} \u548c {1}
 
 #Documentation for Enums
-doclet.enum_values_doc=\n\
- \u6309\u7167\u58f0\u660e\u8be5\u679a\u4e3e\u7c7b\u578b\u7684\u5e38\u91cf\u7684\u987a\u5e8f\uff0c\u8fd4\u56de\n\
- \u5305\u542b\u8fd9\u4e9b\u5e38\u91cf\u7684\u6570\u7ec4\u3002\u8be5\u65b9\u6cd5\u53ef\u7528\u4e8e\u8fed\u4ee3\n\
- \u5e38\u91cf\uff0c\u5982\u4e0b\u6240\u793a\uff1a\n\
- <pre>\n\
- for ({0} c : {0}.values())\n\
- &nbsp;   System.out.println(c);\n\
- </pre>\n\
- @\u6309\u7167\u58f0\u660e\u8be5\u679a\u4e3e\u7c7b\u578b\u7684\u5e38\u91cf\u7684\u987a\u5e8f\uff0c\u8fd4\u56de\n\
- \u5305\u542b\u8fd9\u4e9b\u5e38\u91cf\u7684\u6570\u7ec4
+doclet.enum_values_doc=\n\u6309\u7167\u58f0\u660e\u8be5\u679a\u4e3e\u7c7b\u578b\u7684\u5e38\u91cf\u7684\u987a\u5e8f\uff0c\u8fd4\u56de\n\u5305\u542b\u8fd9\u4e9b\u5e38\u91cf\u7684\u6570\u7ec4\u3002\u8be5\u65b9\u6cd5\u53ef\u7528\u4e8e\u8fed\u4ee3\n\u5e38\u91cf\uff0c\u5982\u4e0b\u6240\u793a\uff1a\n<pre>\nfor ({0} c : {0}.values())\n&nbsp;   System.out.println(c);\n</pre>\n@\u6309\u7167\u58f0\u660e\u8be5\u679a\u4e3e\u7c7b\u578b\u7684\u5e38\u91cf\u7684\u987a\u5e8f\uff0c\u8fd4\u56de\n\u5305\u542b\u8fd9\u4e9b\u5e38\u91cf\u7684\u6570\u7ec4
 
-doclet.enum_valueof_doc=\n\
- \u8fd4\u56de\u5e26\u6709\u6307\u5b9a\u540d\u79f0\u7684\u8be5\u7c7b\u578b\u7684\u679a\u4e3e\u5e38\u91cf\u3002\n\
- \u5b57\u7b26\u4e32\u5fc5\u987b\u4e0e\u7528\u4e8e\u58f0\u660e\u8be5\u7c7b\u578b\u7684\u679a\u4e3e\u5e38\u91cf\u7684\n\
- \u6807\u8bc6\u7b26<I>\u5b8c\u5168</I>\u5339\u914d\u3002\uff08\u4e0d\u5141\u8bb8\u6709\u591a\u4f59\n\
- \u7684\u7a7a\u683c\u3002\uff09\n\
-  \n\
- @param name \u8981\u8fd4\u56de\u7684\u679a\u4e3e\u5e38\u91cf\u7684\u540d\u79f0\u3002\n\
- @return \u8fd4\u56de\u5e26\u6709\u6307\u5b9a\u540d\u79f0\u7684\u679a\u4e3e\u5e38\u91cf\n\
- @throws \u5982\u679c\u8be5\u679a\u4e3e\u7c7b\u578b\u6ca1\u6709\u5e26\u6709\u6307\u5b9a\u540d\u79f0\u7684\u5e38\u91cf\uff0c\n\
- \u5219\u629b\u51fa IllegalArgumentException
- @throws \u5982\u679c\u53c2\u6570\u4e3a\u7a7a\u5219\u629b\u51fa NullPointerException
+doclet.enum_valueof_doc=\n\u8fd4\u56de\u5e26\u6709\u6307\u5b9a\u540d\u79f0\u7684\u8be5\u7c7b\u578b\u7684\u679a\u4e3e\u5e38\u91cf\u3002\n\u5b57\u7b26\u4e32\u5fc5\u987b\u4e0e\u7528\u4e8e\u58f0\u660e\u8be5\u7c7b\u578b\u7684\u679a\u4e3e\u5e38\u91cf\u7684\n\u6807\u8bc6\u7b26<I>\u5b8c\u5168</I>\u5339\u914d\u3002\uff08\u4e0d\u5141\u8bb8\u6709\u591a\u4f59\n\u7684\u7a7a\u683c\u3002\uff09\n\n@param name \u8981\u8fd4\u56de\u7684\u679a\u4e3e\u5e38\u91cf\u7684\u540d\u79f0\u3002\n@return \u8fd4\u56de\u5e26\u6709\u6307\u5b9a\u540d\u79f0\u7684\u679a\u4e3e\u5e38\u91cf\n@throws \u5982\u679c\u8be5\u679a\u4e3e\u7c7b\u578b\u6ca1\u6709\u5e26\u6709\u6307\u5b9a\u540d\u79f0\u7684\u5e38\u91cf\uff0c\n\u5219\u629b\u51fa IllegalArgumentException
--- a/langtools/src/share/classes/com/sun/tools/javac/code/Symbol.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/Symbol.java	Wed Jul 05 17:10:46 2017 +0200
@@ -225,6 +225,13 @@
             (owner.kind == TYP && owner.isLocal());
     }
 
+    /** Has this symbol an empty name? This includes anonymous
+     *  inner classses.
+     */
+    public boolean isAnonymous() {
+        return name.isEmpty();
+    }
+
     /** Is this symbol a constructor?
      */
     public boolean isConstructor() {
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java	Wed Jul 05 17:10:46 2017 +0200
@@ -72,6 +72,7 @@
     final Log log;
     final Symtab syms;
     final Resolve rs;
+    final Infer infer;
     final Check chk;
     final MemberEnter memberEnter;
     final TreeMaker make;
@@ -100,6 +101,7 @@
         memberEnter = MemberEnter.instance(context);
         make = TreeMaker.instance(context);
         enter = Enter.instance(context);
+        infer = Infer.instance(context);
         cfolder = ConstFold.instance(context);
         target = Target.instance(context);
         types = Types.instance(context);
@@ -207,21 +209,6 @@
         return owntype;
     }
 
-    Type checkReturn(JCTree tree, Type owntype, int ownkind, int pkind, Type pt) {
-        if (owntype.tag != ERROR && pt.tag != METHOD && pt.tag != FORALL) {
-            if ((ownkind & ~pkind) == 0) {
-                owntype = chk.checkReturnType(tree.pos(), owntype, pt);
-            } else {
-                log.error(tree.pos(), "unexpected.type",
-                          kindNames(pkind),
-                          kindName(ownkind));
-                owntype = types.createErrorType(owntype);
-            }
-        }
-        tree.type = owntype;
-        return owntype;
-    }
-
     /** Is given blank final variable assignable, i.e. in a scope where it
      *  may be assigned to even though it is final?
      *  @param v      The blank final variable.
@@ -554,6 +541,7 @@
     }
 
     /** Attribute type reference in an `extends' or `implements' clause.
+     *  Supertypes of anonymous inner classes are usually already attributed.
      *
      *  @param tree              The tree making up the type reference.
      *  @param env               The environment current at the reference.
@@ -565,7 +553,9 @@
                     boolean classExpected,
                     boolean interfaceExpected,
                     boolean checkExtensible) {
-        Type t = attribType(tree, env);
+        Type t = tree.type != null ?
+            tree.type :
+            attribType(tree, env);
         return checkBase(t, tree, env, classExpected, interfaceExpected, checkExtensible);
     }
     Type checkBase(Type t,
@@ -1400,7 +1390,7 @@
 
             // Check that value of resulting type is admissible in the
             // current context.  Also, capture the return type
-            result = checkReturn(tree, capture(restype), VAL, pkind, pt);
+            result = check(tree, capture(restype), VAL, pkind, pt);
         }
         chk.validate(tree.typeargs, localEnv);
     }
@@ -1470,14 +1460,17 @@
                               ((JCTypeApply) clazz).arguments);
             else
                 clazz = clazzid1;
-//          System.out.println(clazz + " generated.");//DEBUG
         }
 
         // Attribute clazz expression and store
         // symbol + type back into the attributed tree.
         Type clazztype = attribType(clazz, env);
+        Pair<Scope,Scope> mapping = getSyntheticScopeMapping((ClassType)clazztype);
+        if (!TreeInfo.isDiamond(tree)) {
+            clazztype = chk.checkClassType(
+                tree.clazz.pos(), clazztype, true);
+        }
         chk.validate(clazz, localEnv);
-        clazztype = chk.checkNewClassType(clazz.pos(), clazztype, true, pt);
         if (tree.encl != null) {
             // We have to work in this case to store
             // symbol + type back into the attributed tree.
@@ -1501,6 +1494,11 @@
         List<Type> argtypes = attribArgs(tree.args, localEnv);
         List<Type> typeargtypes = attribTypes(tree.typeargs, localEnv);
 
+        if (TreeInfo.isDiamond(tree)) {
+            clazztype = attribDiamond(localEnv, tree, clazztype, mapping, argtypes, typeargtypes, true);
+            clazz.type = clazztype;
+        }
+
         // If we have made no mistakes in the class type...
         if (clazztype.tag == CLASS) {
             // Enums may not be instantiated except implicitly
@@ -1538,12 +1536,12 @@
                 tree.constructor = rs.resolveConstructor(
                     tree.pos(), localEnv, clazztype, argtypes, typeargtypes);
                 tree.constructorType = checkMethod(clazztype,
-                                            tree.constructor,
-                                            localEnv,
-                                            tree.args,
-                                            argtypes,
-                                            typeargtypes,
-                                            localEnv.info.varArgs);
+                                                tree.constructor,
+                                                localEnv,
+                                                tree.args,
+                                                argtypes,
+                                                typeargtypes,
+                                                localEnv.info.varArgs);
                 if (localEnv.info.varArgs)
                     assert tree.constructorType.isErroneous() || tree.varargsElement != null;
             }
@@ -1582,9 +1580,7 @@
                 //       ...
                 //     }
                 if (Resolve.isStatic(env)) cdef.mods.flags |= STATIC;
-                clazz = TreeInfo.isDiamond(tree) ?
-                    make.Type(clazztype)
-                    : clazz;
+
                 if (clazztype.tsym.isInterface()) {
                     cdef.implementing = List.of(clazz);
                 } else {
@@ -1630,6 +1626,136 @@
         chk.validate(tree.typeargs, localEnv);
     }
 
+    Type attribDiamond(Env<AttrContext> env,
+                        JCNewClass tree,
+                        Type clazztype,
+                        Pair<Scope, Scope> mapping,
+                        List<Type> argtypes,
+                        List<Type> typeargtypes,
+                        boolean reportErrors) {
+        if (clazztype.isErroneous()) {
+            //if the type of the instance creation expression is erroneous
+            //return the erroneous type itself
+            return clazztype;
+        }
+        else if (clazztype.isInterface()) {
+            //if the type of the instance creation expression is an interface
+            //skip the method resolution step (JLS 15.12.2.7). The type to be
+            //inferred is of the kind <X1,X2, ... Xn>C<X1,X2, ... Xn>
+            clazztype = new ForAll(clazztype.tsym.type.allparams(),
+                    clazztype.tsym.type);
+        } else {
+            //if the type of the instance creation expression is a class type
+            //apply method resolution inference (JLS 15.12.2.7). The return type
+            //of the resolved constructor will be a partially instantiated type
+            ((ClassSymbol) clazztype.tsym).members_field = mapping.snd;
+            Symbol constructor;
+            try {
+                constructor = rs.resolveDiamond(tree.pos(),
+                        env,
+                        clazztype.tsym.type,
+                        argtypes,
+                        typeargtypes, reportErrors);
+            } finally {
+                ((ClassSymbol) clazztype.tsym).members_field = mapping.fst;
+            }
+            if (constructor.kind == MTH) {
+                ClassType ct = new ClassType(clazztype.getEnclosingType(),
+                        clazztype.tsym.type.getTypeArguments(),
+                        clazztype.tsym);
+                clazztype = checkMethod(ct,
+                        constructor,
+                        env,
+                        tree.args,
+                        argtypes,
+                        typeargtypes,
+                        env.info.varArgs).getReturnType();
+            } else {
+                clazztype = syms.errType;
+            }
+        }
+        if (clazztype.tag == FORALL && !pt.isErroneous()) {
+            //if the resolved constructor's return type has some uninferred
+            //type-variables, infer them using the expected type and declared
+            //bounds (JLS 15.12.2.8).
+            try {
+                clazztype = infer.instantiateExpr((ForAll) clazztype,
+                        pt.tag == NONE ? syms.objectType : pt,
+                        Warner.noWarnings);
+            } catch (Infer.InferenceException ex) {
+                //an error occurred while inferring uninstantiated type-variables
+                //we need to optionally report an error
+                if (reportErrors) {
+                    log.error(tree.clazz.pos(),
+                            "cant.apply.diamond.1",
+                            diags.fragment("diamond", clazztype.tsym),
+                            ex.diagnostic);
+                }
+            }
+        }
+        if (reportErrors) {
+            clazztype = chk.checkClassType(tree.clazz.pos(),
+                    clazztype,
+                    true);
+            if (clazztype.tag == CLASS) {
+                List<Type> invalidDiamondArgs = chk.checkDiamond((ClassType)clazztype);
+                if (!clazztype.isErroneous() && invalidDiamondArgs.nonEmpty()) {
+                    //one or more types inferred in the previous steps is either a
+                    //captured type or an intersection type --- we need to report an error.
+                    String subkey = invalidDiamondArgs.size() > 1 ?
+                        "diamond.invalid.args" :
+                        "diamond.invalid.arg";
+                    //The error message is of the kind:
+                    //
+                    //cannot infer type arguments for {clazztype}<>;
+                    //reason: {subkey}
+                    //
+                    //where subkey is a fragment of the kind:
+                    //
+                    //type argument(s) {invalidDiamondArgs} inferred for {clazztype}<> is not allowed in this context
+                    log.error(tree.clazz.pos(),
+                                "cant.apply.diamond.1",
+                                diags.fragment("diamond", clazztype.tsym),
+                                diags.fragment(subkey,
+                                               invalidDiamondArgs,
+                                               diags.fragment("diamond", clazztype.tsym)));
+                }
+            }
+        }
+        return clazztype;
+    }
+
+    /** Creates a synthetic scope containing fake generic constructors.
+     *  Assuming that the original scope contains a constructor of the kind:
+     *  Foo(X x, Y y), where X,Y are class type-variables declared in Foo,
+     *  the synthetic scope is added a generic constructor of the kind:
+     *  <X,Y>Foo<X,Y>(X x, Y y). This is crucial in order to enable diamond
+     *  inference. The inferred return type of the synthetic constructor IS
+     *  the inferred type for the diamond operator.
+     */
+    private Pair<Scope, Scope> getSyntheticScopeMapping(ClassType ctype) {
+        Pair<Scope, Scope> mapping =
+                new Pair<Scope, Scope>(ctype.tsym.members(), new Scope(ctype.tsym));
+        List<Type> typevars = ctype.tsym.type.getTypeArguments();
+        for (Scope.Entry e = mapping.fst.lookup(names.init);
+                e.scope != null;
+                e = e.next()) {
+            MethodSymbol newConstr = (MethodSymbol) e.sym.clone(ctype.tsym);
+            newConstr.name = names.init;
+            List<Type> oldTypeargs = List.nil();
+            if (newConstr.type.tag == FORALL) {
+                oldTypeargs = ((ForAll) newConstr.type).tvars;
+            }
+            newConstr.type = new MethodType(newConstr.type.getParameterTypes(),
+                    new ClassType(ctype.getEnclosingType(), ctype.tsym.type.getTypeArguments(), ctype.tsym),
+                    newConstr.type.getThrownTypes(),
+                    syms.methodClass);
+            newConstr.type = new ForAll(typevars.prependList(oldTypeargs), newConstr.type);
+            mapping.snd.enter(newConstr);
+        }
+        return mapping;
+    }
+
     /** Make an attributed null check tree.
      */
     public JCExpression makeNullCheck(JCExpression arg) {
@@ -2571,7 +2697,7 @@
         if (clazztype.tag == CLASS) {
             List<Type> formals = clazztype.tsym.type.getTypeArguments();
 
-            if (actuals.length() == formals.length() || actuals.isEmpty()) {
+            if (actuals.length() == formals.length() || actuals.length() == 0) {
                 List<Type> a = actuals;
                 List<Type> f = formals;
                 while (a.nonEmpty()) {
@@ -2597,18 +2723,7 @@
                         clazzOuter = site;
                     }
                 }
-                if (actuals.nonEmpty()) {
-                    owntype = new ClassType(clazzOuter, actuals, clazztype.tsym);
-                }
-                else if (TreeInfo.isDiamond(tree)) {
-                    //a type apply with no explicit type arguments - diamond operator
-                    //the result type is a forall F where F's tvars are the type-variables
-                    //that will be inferred when F is checked against the expected type
-                    List<Type> ftvars = clazztype.tsym.type.getTypeArguments();
-                    List<Type> new_tvars = types.newInstances(ftvars);
-                    clazztype = new ClassType(clazzOuter, new_tvars, clazztype.tsym);
-                    owntype = new ForAll(new_tvars, clazztype);
-                }
+                owntype = new ClassType(clazzOuter, actuals, clazztype.tsym);
             } else {
                 if (formals.length() != 0) {
                     log.error(tree.pos(), "wrong.number.type.args",
@@ -2823,9 +2938,12 @@
 
         // Validate type parameters, supertype and interfaces.
         attribBounds(tree.typarams);
-        chk.validate(tree.typarams, env);
-        chk.validate(tree.extending, env);
-        chk.validate(tree.implementing, env);
+        if (!c.isAnonymous()) {
+            //already checked if anonymous
+            chk.validate(tree.typarams, env);
+            chk.validate(tree.extending, env);
+            chk.validate(tree.implementing, env);
+        }
 
         // If this is a non-abstract class, check that it has no abstract
         // methods or unimplemented methods of an implemented interface.
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java	Wed Jul 05 17:10:46 2017 +0200
@@ -375,6 +375,8 @@
     Type checkType(DiagnosticPosition pos, Type found, Type req) {
         if (req.tag == ERROR)
             return req;
+        if (found.tag == FORALL)
+            return instantiatePoly(pos, (ForAll)found, req, convertWarner(pos, found, req));
         if (req.tag == NONE)
             return found;
         if (types.isAssignable(found, req, convertWarner(pos, found, req)))
@@ -392,33 +394,6 @@
         return typeError(pos, diags.fragment("incompatible.types"), found, req);
     }
 
-    Type checkReturnType(DiagnosticPosition pos, Type found, Type req) {
-        if (found.tag == FORALL) {
-            try {
-                return instantiatePoly(pos, (ForAll) found, req, convertWarner(pos, found, req));
-            } catch (Infer.NoInstanceException ex) {
-                if (ex.isAmbiguous) {
-                    JCDiagnostic d = ex.getDiagnostic();
-                    log.error(pos,
-                            "undetermined.type" + (d != null ? ".1" : ""),
-                            found, d);
-                    return types.createErrorType(req);
-                } else {
-                    JCDiagnostic d = ex.getDiagnostic();
-                    return typeError(pos,
-                            diags.fragment("incompatible.types" + (d != null ? ".1" : ""), d),
-                            found, req);
-                }
-            } catch (Infer.InvalidInstanceException ex) {
-                JCDiagnostic d = ex.getDiagnostic();
-                log.error(pos, "invalid.inferred.types", ((ForAll)found).tvars, d);
-                return types.createErrorType(req);
-            }
-        } else {
-            return checkType(pos, found, req);
-        }
-    }
-
     /** Instantiate polymorphic type to some prototype, unless
      *  prototype is `anyPoly' in which case polymorphic type
      *  is returned unchanged.
@@ -432,9 +407,28 @@
         } else if (pt.tag == ERROR) {
             return pt;
         } else {
-            return infer.instantiateExpr(t, pt, warn);
+            try {
+                return infer.instantiateExpr(t, pt, warn);
+            } catch (Infer.NoInstanceException ex) {
+                if (ex.isAmbiguous) {
+                    JCDiagnostic d = ex.getDiagnostic();
+                    log.error(pos,
+                              "undetermined.type" + (d!=null ? ".1" : ""),
+                              t, d);
+                    return types.createErrorType(pt);
+                } else {
+                    JCDiagnostic d = ex.getDiagnostic();
+                    return typeError(pos,
+                                     diags.fragment("incompatible.types" + (d!=null ? ".1" : ""), d),
+                                     t, pt);
+                }
+            } catch (Infer.InvalidInstanceException ex) {
+                JCDiagnostic d = ex.getDiagnostic();
+                log.error(pos, "invalid.inferred.types", t.tvars, d);
+                return types.createErrorType(pt);
+            }
         }
-     }
+    }
 
     /** Check that a given type can be cast to a given target type.
      *  Return the result of the cast.
@@ -557,29 +551,6 @@
         return t;
     }
 
-    /** Check that type is a valid type for a new expression. If the type contains
-     * some uninferred type variables, instantiate them exploiting the expected
-     * type.
-     *
-     *  @param pos           Position to be used for error reporting.
-     *  @param t             The type to be checked.
-     *  @param noBounds    True if type bounds are illegal here.
-     *  @param pt          Expected type (used with diamond operator)
-     */
-    Type checkNewClassType(DiagnosticPosition pos, Type t, boolean noBounds, Type pt) {
-        if (t.tag == FORALL) {
-            try {
-                t = instantiatePoly(pos, (ForAll)t, pt, Warner.noWarnings);
-            }
-            catch (Infer.NoInstanceException ex) {
-                JCDiagnostic d = ex.getDiagnostic();
-                log.error(pos, "cant.apply.diamond", t.getTypeArguments(), d);
-                return types.createErrorType(pt);
-            }
-        }
-        return checkClassType(pos, t, noBounds);
-    }
-
     /** Check that type is a reifiable class, interface or array type.
      *  @param pos           Position to be used for error reporting.
      *  @param t             The type to be checked.
@@ -669,6 +640,43 @@
             return true;
     }
 
+    /** Check that the type inferred using the diamond operator does not contain
+     *  non-denotable types such as captured types or intersection types.
+     *  @param t the type inferred using the diamond operator
+     */
+    List<Type> checkDiamond(ClassType t) {
+        DiamondTypeChecker dtc = new DiamondTypeChecker();
+        ListBuffer<Type> buf = ListBuffer.lb();
+        for (Type arg : t.getTypeArguments()) {
+            if (!dtc.visit(arg, null)) {
+                buf.append(arg);
+            }
+        }
+        return buf.toList();
+    }
+
+    static class DiamondTypeChecker extends Types.SimpleVisitor<Boolean, Void> {
+        public Boolean visitType(Type t, Void s) {
+            return true;
+        }
+        @Override
+        public Boolean visitClassType(ClassType t, Void s) {
+            if (t.isCompound()) {
+                return false;
+            }
+            for (Type targ : t.getTypeArguments()) {
+                if (!visit(targ, s)) {
+                    return false;
+                }
+            }
+            return true;
+        }
+        @Override
+        public Boolean visitCapturedType(CapturedType t, Void s) {
+            return false;
+        }
+    }
+
     /** Check that given modifiers are legal for given symbol and
      *  return modifiers together with any implicit modififiers for that symbol.
      *  Warning: we can't use flags() here since this method
@@ -936,8 +944,7 @@
                 }
 
                 checkCapture(tree);
-            }
-            if (tree.type.tag == CLASS || tree.type.tag == FORALL) {
+
                 // Check that this type is either fully parameterized, or
                 // not parameterized at all.
                 if (tree.type.getEnclosingType().isRaw())
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java	Wed Jul 05 17:10:46 2017 +0200
@@ -788,6 +788,8 @@
                                            operator);
                 }
             }
+            if (name == names.init)
+                break;
             //- System.out.println(" - " + bestSoFar);
             if (abstractok) {
                 Symbol concrete = methodNotFound;
@@ -1409,6 +1411,48 @@
         return sym;
     }
 
+    /** Resolve constructor using diamond inference.
+     *  @param pos       The position to use for error reporting.
+     *  @param env       The environment current at the constructor invocation.
+     *  @param site      The type of class for which a constructor is searched.
+     *                   The scope of this class has been touched in attribution.
+     *  @param argtypes  The types of the constructor invocation's value
+     *                   arguments.
+     *  @param typeargtypes  The types of the constructor invocation's type
+     *                   arguments.
+     */
+    Symbol resolveDiamond(DiagnosticPosition pos,
+                              Env<AttrContext> env,
+                              Type site,
+                              List<Type> argtypes,
+                              List<Type> typeargtypes, boolean reportErrors) {
+        Symbol sym = methodNotFound;
+        JCDiagnostic explanation = null;
+        List<MethodResolutionPhase> steps = methodResolutionSteps;
+        while (steps.nonEmpty() &&
+               steps.head.isApplicable(boxingEnabled, varargsEnabled) &&
+               sym.kind >= ERRONEOUS) {
+            sym = resolveConstructor(pos, env, site, argtypes, typeargtypes,
+                    steps.head.isBoxingRequired(),
+                    env.info.varArgs = steps.head.isVarargsRequired());
+            methodResolutionCache.put(steps.head, sym);
+            if (sym.kind == WRONG_MTH &&
+                    ((InapplicableSymbolError)sym).explanation != null) {
+                //if the symbol is an inapplicable method symbol, then the
+                //explanation contains the reason for which inference failed
+                explanation = ((InapplicableSymbolError)sym).explanation;
+            }
+            steps = steps.tail;
+        }
+        if (sym.kind >= AMBIGUOUS && reportErrors) {
+            String key = explanation == null ?
+                "cant.apply.diamond" :
+                "cant.apply.diamond.1";
+            log.error(pos, key, diags.fragment("diamond", site.tsym), explanation);
+        }
+        return sym;
+    }
+
     /** Resolve constructor.
      *  @param pos       The position to use for error reporting.
      *  @param env       The environment current at the constructor invocation.
--- a/langtools/src/share/classes/com/sun/tools/javac/main/Main.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javac/main/Main.java	Wed Jul 05 17:10:46 2017 +0200
@@ -28,6 +28,9 @@
 import java.io.File;
 import java.io.IOException;
 import java.io.PrintWriter;
+import java.net.URL;
+import java.security.DigestInputStream;
+import java.security.MessageDigest;
 import java.util.MissingResourceException;
 
 import com.sun.tools.javac.code.Source;
@@ -281,6 +284,15 @@
         if (target.hasInvokedynamic()) {
             options.put("invokedynamic",  "invokedynamic");
         }
+
+        // handle this here so it works even if no other options given
+        String showClass = options.get("showClass");
+        if (showClass != null) {
+            if (showClass.equals("showClass")) // no value given for option
+                showClass = "com.sun.tools.javac.Main";
+            showClass(showClass);
+        }
+
         return filenames.toList();
     }
     // where
@@ -488,6 +500,37 @@
         ex.getCause().printStackTrace();
     }
 
+    /** Display the location and checksum of a class. */
+    void showClass(String className) {
+        out.println("javac: show class: " + className);
+        URL url = getClass().getResource('/' + className.replace('.', '/') + ".class");
+        if (url == null)
+            out.println("  class not found");
+        else {
+            out.println("  " + url);
+            try {
+                final String algorithm = "MD5";
+                byte[] digest;
+                MessageDigest md = MessageDigest.getInstance(algorithm);
+                DigestInputStream in = new DigestInputStream(url.openStream(), md);
+                try {
+                    byte[] buf = new byte[8192];
+                    int n;
+                    do { n = in.read(buf); } while (n > 0);
+                    digest = md.digest();
+                } finally {
+                    in.close();
+                }
+                StringBuilder sb = new StringBuilder();
+                for (byte b: digest)
+                    sb.append(String.format("%02x", b));
+                out.println("  " + algorithm + " checksum: " + sb);
+            } catch (Exception e) {
+                out.println("  cannot compute digest: " + e);
+            }
+        }
+    }
+
     private JavaFileManager fileManager;
 
     /* ************************************************************************
--- a/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java	Wed Jul 05 17:10:46 2017 +0200
@@ -195,11 +195,11 @@
      *     mode = NOPARAMS    : no parameters allowed for type
      *     mode = TYPEARG     : type argument
      */
-    static final int EXPR = 1;
-    static final int TYPE = 2;
-    static final int NOPARAMS = 4;
-    static final int TYPEARG = 8;
-    static final int DIAMOND = 16;
+    static final int EXPR = 0x1;
+    static final int TYPE = 0x2;
+    static final int NOPARAMS = 0x4;
+    static final int TYPEARG = 0x8;
+    static final int DIAMOND = 0x10;
 
     /** The current mode.
      */
@@ -3151,12 +3151,6 @@
         }
     }
 
-    void checkDiamond() {
-        if (!allowDiamond) {
-            log.error(S.pos(), "diamond.not.supported.in.source", source.name);
-            allowDiamond = true;
-        }
-    }
     void checkGenerics() {
         if (!allowGenerics) {
             log.error(S.pos(), "generics.not.supported.in.source", source.name);
@@ -3193,4 +3187,10 @@
             allowTypeAnnotations = true;
         }
     }
+    void checkDiamond() {
+        if (!allowDiamond) {
+            log.error(S.pos(), "diamond.not.supported.in.source", source.name);
+            allowDiamond = true;
+        }
+    }
 }
--- a/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -479,6 +479,11 @@
     type parameters of {0} cannot be determined; {1}
 compiler.err.invalid.inferred.types=\
     invalid inferred types for {0}; {1}
+compiler.err.cant.apply.diamond=\
+    cannot infer type arguments for {0}
+compiler.err.cant.apply.diamond.1=\
+    cannot infer type arguments for {0};\n\
+    reason: {1}
 compiler.err.unreachable.stmt=\
     unreachable statement
 compiler.err.initializer.must.be.able.to.complete.normally=\
@@ -1030,7 +1035,12 @@
     actual arguments do not conform to inferred formal arguments\n\
     required: {0}\n\
     found: {1}
-
+compiler.misc.diamond=\
+    {0}<>
+compiler.misc.diamond.invalid.arg=\
+    type argument {0} inferred for {1} is not allowed in this context
+compiler.misc.diamond.invalid.args=\
+    type arguments {0} inferred for {1} are not allowed in this context
 #####
 
 ## The first argument ({0}) is a "kindname".
@@ -1082,10 +1092,6 @@
     symbol:   {0} <{2}>{1}({3})\n\
     location: {4} {5}
 
-compiler.err.cant.apply.diamond=\
-    diamond operator cannot infer types for {0};\n\
-    reason: {1}
-
 ## The following are all possible string for "kindname".
 ## They should be called whatever the JLS calls them after it been translated
 ## to the appropriate language.
@@ -1167,6 +1173,8 @@
     {0} in {1} implements {2} in {3}
 compiler.misc.varargs.clash.with=\
     {0} in {1} overrides {2} in {3}
+compiler.misc.non.denotable.type=\
+    Non-denotable type {0} not allowed here
 
 ########################################
 # Diagnostics for language feature changes
@@ -1227,10 +1235,6 @@
     enums are not supported in -source {0}\n\
 (use -source 5 or higher to enable enums)
 
-compiler.err.diamond.not.supported.in.source=\
-    diamond operator is not supported in -source {0}\n\
-(use -source 7 or higher to enable diamond operator)
-
 compiler.err.string.switch.not.supported.in.source=\
     strings in switch are not supported in -source {0}\n\
 (use -source 7 or higher to enable strings in switch)
--- a/langtools/src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright 1999-2006 Sun Microsystems, Inc.  All Rights Reserved.
+# Copyright 1999-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
@@ -27,475 +27,284 @@
 ## errors
 ##
 
-compiler.err.abstract.cant.be.instantiated=\
-    {0} \u306f abstract \u3067\u3059\u3002\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u751f\u6210\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.abstract.meth.cant.have.body=\
-    abstract \u30e1\u30bd\u30c3\u30c9\u304c\u672c\u4f53\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.already.annotated=\
-    {0} {1} \u306f\u6ce8\u91c8\u304c\u4ed8\u3044\u3066\u3044\u307e\u3059\u3002
-compiler.err.already.defined=\
-    {0} \u306f {1} \u3067\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-compiler.err.already.defined.single.import=\
-    {0} \u306f\u5358\u4e00\u306e\u578b\u30a4\u30f3\u30dd\u30fc\u30c8\u5ba3\u8a00\u3067\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-compiler.err.already.defined.static.single.import=\
-    {0} \u306f static \u306e\u5358\u4e00\u306e\u578b\u30a4\u30f3\u30dd\u30fc\u30c8\u5ba3\u8a00\u3067\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-compiler.err.already.defined.this.unit=\
-    {0} \u306f\u30b3\u30f3\u30d1\u30a4\u30eb\u5358\u4f4d\u3067\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-compiler.err.annotation.missing.default.value=\
-    \u6ce8\u91c8 {0} \u306b {1} \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.annotation.not.valid.for.type=\
-    \u6ce8\u91c8\u306f\u30bf\u30a4\u30d7 {0} \u306e\u5024\u306b\u6709\u52b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.annotation.type.not.applicable=\
-    \u6ce8\u91c8\u578b\u306f\u3053\u306e\u7a2e\u985e\u306e\u5ba3\u8a00\u306b\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.annotation.value.must.be.annotation=\
-    \u6ce8\u91c8\u306e\u5024\u306f\u6ce8\u91c8\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-compiler.err.annotation.value.must.be.class.literal=\
-    \u6ce8\u91c8\u306e\u5024\u306f\u30af\u30e9\u30b9\u30ea\u30c6\u30e9\u30eb\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-compiler.err.annotation.value.must.be.name.value=\
-    \u6ce8\u91c8\u306e\u5024\u306f ''name=value'' \u3068\u3044\u3046\u5f62\u5f0f\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093
-compiler.err.annotation.value.not.allowable.type=\
-    \u4f7f\u7528\u3067\u304d\u306a\u3044\u30bf\u30a4\u30d7\u306e\u6ce8\u91c8\u306e\u5024\u3067\u3059\u3002
-compiler.err.anon.class.impl.intf.no.args=\
-    \u540d\u524d\u306e\u306a\u3044\u30af\u30e9\u30b9\u304c\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3092\u5b9f\u88c5\u3057\u3066\u3044\u307e\u3059\u3002\u5f15\u6570\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.anon.class.impl.intf.no.typeargs=\
-    \u540d\u524d\u306e\u306a\u3044\u30af\u30e9\u30b9\u304c\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3092\u5b9f\u88c5\u3057\u3066\u3044\u307e\u3059\u3002\u578b\u5f15\u6570\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
-compiler.err.anon.class.impl.intf.no.qual.for.new=\
-    \u540d\u524d\u306e\u306a\u3044\u30af\u30e9\u30b9\u304c\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3092\u5b9f\u88c5\u3057\u3066\u3044\u307e\u3059\u3002new \u306b\u4fee\u98fe\u5b50\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.array.and.varargs=\
-    {2} \u3067 {0} \u3068 {1} \u306e\u4e21\u65b9\u3092\u5ba3\u8a00\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
-compiler.err.array.dimension.missing=\
-    \u914d\u5217\u306e\u5927\u304d\u3055\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-compiler.err.array.req.but.found=\
-    \u914d\u5217\u304c\u8981\u6c42\u3055\u308c\u307e\u3057\u305f\u304c\u3001{0} \u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f\u3002
+compiler.err.abstract.cant.be.instantiated={0} \u306f abstract \u3067\u3059\u3002\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u751f\u6210\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.abstract.meth.cant.have.body=abstract \u30e1\u30bd\u30c3\u30c9\u304c\u672c\u4f53\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.already.annotated={0} {1} \u306f\u6ce8\u91c8\u304c\u4ed8\u3044\u3066\u3044\u307e\u3059\u3002
+compiler.err.already.defined={0} \u306f {1} \u3067\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002
+compiler.err.already.defined.single.import={0} \u306f\u5358\u4e00\u306e\u578b\u30a4\u30f3\u30dd\u30fc\u30c8\u5ba3\u8a00\u3067\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002
+compiler.err.already.defined.static.single.import={0} \u306f static \u306e\u5358\u4e00\u306e\u578b\u30a4\u30f3\u30dd\u30fc\u30c8\u5ba3\u8a00\u3067\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002
+compiler.err.already.defined.this.unit={0} \u306f\u30b3\u30f3\u30d1\u30a4\u30eb\u5358\u4f4d\u3067\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002
+compiler.err.annotation.missing.default.value=\u6ce8\u91c8 {0} \u306b {1} \u304c\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.err.annotation.not.valid.for.type=\u6ce8\u91c8\u306f\u30bf\u30a4\u30d7 {0} \u306e\u5024\u306b\u6709\u52b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.err.annotation.type.not.applicable=\u6ce8\u91c8\u578b\u306f\u3053\u306e\u7a2e\u985e\u306e\u5ba3\u8a00\u306b\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.annotation.value.must.be.annotation=\u6ce8\u91c8\u306e\u5024\u306f\u6ce8\u91c8\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+compiler.err.annotation.value.must.be.class.literal=\u6ce8\u91c8\u306e\u5024\u306f\u30af\u30e9\u30b9\u30ea\u30c6\u30e9\u30eb\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+compiler.err.annotation.value.must.be.name.value=\u6ce8\u91c8\u306e\u5024\u306f ''name=value'' \u3068\u3044\u3046\u5f62\u5f0f\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093
+compiler.err.annotation.value.not.allowable.type=\u4f7f\u7528\u3067\u304d\u306a\u3044\u30bf\u30a4\u30d7\u306e\u6ce8\u91c8\u306e\u5024\u3067\u3059\u3002
+compiler.err.anon.class.impl.intf.no.args=\u540d\u524d\u306e\u306a\u3044\u30af\u30e9\u30b9\u304c\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3092\u5b9f\u88c5\u3057\u3066\u3044\u307e\u3059\u3002\u5f15\u6570\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.anon.class.impl.intf.no.typeargs=\u540d\u524d\u306e\u306a\u3044\u30af\u30e9\u30b9\u304c\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3092\u5b9f\u88c5\u3057\u3066\u3044\u307e\u3059\u3002\u578b\u5f15\u6570\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
+compiler.err.anon.class.impl.intf.no.qual.for.new=\u540d\u524d\u306e\u306a\u3044\u30af\u30e9\u30b9\u304c\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3092\u5b9f\u88c5\u3057\u3066\u3044\u307e\u3059\u3002new \u306b\u4fee\u98fe\u5b50\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.array.and.varargs={2} \u3067 {0} \u3068 {1} \u306e\u4e21\u65b9\u3092\u5ba3\u8a00\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
+compiler.err.array.dimension.missing=\u914d\u5217\u306e\u5927\u304d\u3055\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+compiler.err.array.req.but.found=\u914d\u5217\u304c\u8981\u6c42\u3055\u308c\u307e\u3057\u305f\u304c\u3001{0} \u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f\u3002
 
-compiler.err.assignment.from.super-bound=\
-    \u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9 {0} \u304b\u3089\u4ee3\u5165\u3057\u3066\u3044\u307e\u3059\u3002
-compiler.err.assignment.to.extends-bound=\
-    \u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9 {0} \u3078\u4ee3\u5165\u3057\u3066\u3044\u307e\u3059\u3002
-compiler.err.attribute.value.must.be.constant=\
-    \u5c5e\u6027\u306e\u5024\u306f\u5b9a\u6570\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+compiler.err.assignment.from.super-bound=\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9 {0} \u304b\u3089\u4ee3\u5165\u3057\u3066\u3044\u307e\u3059\u3002
+compiler.err.assignment.to.extends-bound=\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9 {0} \u3078\u4ee3\u5165\u3057\u3066\u3044\u307e\u3059\u3002
+compiler.err.attribute.value.must.be.constant=\u5c5e\u6027\u306e\u5024\u306f\u5b9a\u6570\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
 
-compiler.err.break.outside.switch.loop=\
-    break \u304c switch \u6587\u307e\u305f\u306f\u30eb\u30fc\u30d7\u306e\u5916\u306b\u3042\u308a\u307e\u3059\u3002
+compiler.err.break.outside.switch.loop=break \u304c switch \u6587\u307e\u305f\u306f\u30eb\u30fc\u30d7\u306e\u5916\u306b\u3042\u308a\u307e\u3059\u3002
 
-compiler.err.call.must.be.first.stmt.in.ctor=\
-    {0} \u306e\u547c\u3073\u51fa\u3057\u306f\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306e\u5148\u982d\u6587\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-compiler.err.cant.apply.symbol=\
-    {0} ({1} \u5185) \u3092 {2}({3}) \u306b\u9069\u7528\u3067\u304d\u307e\u305b\u3093
-compiler.err.cant.apply.symbol.1=\
-    {0} ({1} \u5185) \u3092 {2}({3}) \u306b\u9069\u7528\u3067\u304d\u307e\u305b\u3093; {4}
-compiler.err.cant.assign.val.to.final.var=\
-    final \u5909\u6570 {0} \u306b\u5024\u3092\u4ee3\u5165\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.cant.deref=\
-    {0} \u306f\u9593\u63a5\u53c2\u7167\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.cant.extend.intf.annotation=\
-    @interfaces \u3067\u306f ''extends'' \u306f\u8a31\u53ef\u3055\u308c\u307e\u305b\u3093
-compiler.err.cant.inherit.from.final=\
-    final {0} \u304b\u3089\u306f\u7d99\u627f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.cant.ref.before.ctor.called=\
-    \u30b9\u30fc\u30d1\u30fc\u30bf\u30a4\u30d7\u306e\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306e\u547c\u3073\u51fa\u3057\u524d\u306f {0} \u3092\u53c2\u7167\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.cant.ret.val.from.meth.decl.void=\
-    \u623b\u308a\u5024\u306e\u578b\u304c void \u306e\u30e1\u30bd\u30c3\u30c9\u304b\u3089\u306f\u5024\u3092\u8fd4\u305b\u307e\u305b\u3093\u3002
-compiler.err.cant.select.static.class.from.param.type=\
-    \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u3055\u308c\u305f\u578b\u304b\u3089 static \u30af\u30e9\u30b9\u3092\u9078\u629e\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.cant.inherit.diff.arg=\
-    {0} \u3092\u7570\u306a\u308b\u5f15\u6570 <{1}> \u3068 <{2}> \u3067\u7d99\u627f\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.catch.without.try=\
-    ''catch'' \u3078\u306e ''try'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.clash.with.pkg.of.same.name=\
-    {0} \u306f\u540c\u540d\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3068\u7af6\u5408\u3057\u307e\u3059\u3002
-compiler.err.const.expr.req=\
-    \u5b9a\u6570\u5f0f\u304c\u5fc5\u8981\u3067\u3059\u3002
-compiler.err.enum.const.req=\
-    \u4fee\u98fe\u3055\u308c\u3066\u3044\u306a\u3044\u5217\u6319\u578b\u5b9a\u6570\u306e\u540d\u524d\u304c\u5fc5\u8981\u3067\u3059\u3002
-compiler.err.cont.outside.loop=\
-    continue \u304c\u30eb\u30fc\u30d7\u306e\u5916\u306b\u3042\u308a\u307e\u3059\u3002
-compiler.err.cyclic.inheritance=\
-    {0} \u3092\u542b\u3080\u7d99\u627f\u304c\u30eb\u30fc\u30d7\u3057\u3066\u3044\u307e\u3059\u3002
-compiler.err.cyclic.annotation.element=\
-    \u6ce8\u91c8\u306e\u8981\u7d20\u30bf\u30a4\u30d7\u304c\u30eb\u30fc\u30d7\u3057\u3066\u3044\u307e\u3059\u3002
-compiler.err.call.to.super.not.allowed.in.enum.ctor=\
-    \u5217\u6319\u578b\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3067\u306f\u3001\u30b9\u30fc\u30d1\u30fc\u30af\u30e9\u30b9\u306e\u547c\u3073\u51fa\u3057\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.no.superclass=\
-    {0} \u306b\u306f\u30b9\u30fc\u30d1\u30fc\u30af\u30e9\u30b9\u304c\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.err.call.must.be.first.stmt.in.ctor={0} \u306e\u547c\u3073\u51fa\u3057\u306f\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306e\u5148\u982d\u6587\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+compiler.err.cant.apply.symbol={0} ({1} \u5185) \u3092 {2}({3}) \u306b\u9069\u7528\u3067\u304d\u307e\u305b\u3093
+compiler.err.cant.apply.symbol.1={0} {1} ({4} {5} \u5185) \u306f\u4e0e\u3048\u3089\u308c\u305f\u578b\u306b\u9069\u7528\u3067\u304d\u307e\u305b\u3093\n\u671f\u5f85\u5024: {2}\n\u691c\u51fa\u5024: {3}\n\u7406\u7531: {6}
+compiler.err.cant.assign.val.to.final.var=final \u5909\u6570 {0} \u306b\u5024\u3092\u4ee3\u5165\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.cant.deref={0} \u306f\u9593\u63a5\u53c2\u7167\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.cant.extend.intf.annotation=@interfaces \u3067\u306f ''extends'' \u306f\u8a31\u53ef\u3055\u308c\u307e\u305b\u3093
+compiler.err.cant.inherit.from.final=final {0} \u304b\u3089\u306f\u7d99\u627f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.cant.ref.before.ctor.called=\u30b9\u30fc\u30d1\u30fc\u30bf\u30a4\u30d7\u306e\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306e\u547c\u3073\u51fa\u3057\u524d\u306f {0} \u3092\u53c2\u7167\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.cant.ret.val.from.meth.decl.void=\u623b\u308a\u5024\u306e\u578b\u304c void \u306e\u30e1\u30bd\u30c3\u30c9\u304b\u3089\u306f\u5024\u3092\u8fd4\u305b\u307e\u305b\u3093\u3002
+compiler.err.cant.select.static.class.from.param.type=\u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u3055\u308c\u305f\u578b\u304b\u3089 static \u30af\u30e9\u30b9\u3092\u9078\u629e\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.cant.inherit.diff.arg={0} \u3092\u7570\u306a\u308b\u5f15\u6570 <{1}> \u3068 <{2}> \u3067\u7d99\u627f\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.catch.without.try=''catch'' \u3078\u306e ''try'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.err.clash.with.pkg.of.same.name={0} \u306f\u540c\u540d\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3068\u7af6\u5408\u3057\u307e\u3059\u3002
+compiler.err.const.expr.req=\u5b9a\u6570\u5f0f\u304c\u5fc5\u8981\u3067\u3059\u3002
+compiler.err.enum.const.req=\u4fee\u98fe\u3055\u308c\u3066\u3044\u306a\u3044\u5217\u6319\u578b\u5b9a\u6570\u306e\u540d\u524d\u304c\u5fc5\u8981\u3067\u3059\u3002
+compiler.err.cont.outside.loop=continue \u304c\u30eb\u30fc\u30d7\u306e\u5916\u306b\u3042\u308a\u307e\u3059\u3002
+compiler.err.cyclic.inheritance={0} \u3092\u542b\u3080\u7d99\u627f\u304c\u30eb\u30fc\u30d7\u3057\u3066\u3044\u307e\u3059\u3002
+compiler.err.cyclic.annotation.element=\u6ce8\u91c8\u306e\u8981\u7d20\u30bf\u30a4\u30d7\u304c\u30eb\u30fc\u30d7\u3057\u3066\u3044\u307e\u3059\u3002
+compiler.err.call.to.super.not.allowed.in.enum.ctor=\u5217\u6319\u578b\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3067\u306f\u3001\u30b9\u30fc\u30d1\u30fc\u30af\u30e9\u30b9\u306e\u547c\u3073\u51fa\u3057\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.no.superclass={0} \u306b\u306f\u30b9\u30fc\u30d1\u30fc\u30af\u30e9\u30b9\u304c\u3042\u308a\u307e\u305b\u3093\u3002
 
-compiler.err.concrete.inheritance.conflict=\
-    {1} \u306e\u30e1\u30bd\u30c3\u30c9 {0} \u3068 {3} \u306e {2} \u306f\u540c\u3058\u30b7\u30b0\u30cb\u30c1\u30e3\u30fc\u304b\u3089\u7d99\u627f\u3055\u308c\u3066\u3044\u307e\u3059\u3002
+compiler.err.concrete.inheritance.conflict={1} \u306e\u30e1\u30bd\u30c3\u30c9 {0} \u3068 {3} \u306e {2} \u306f\u540c\u3058\u30b7\u30b0\u30cb\u30c1\u30e3\u30fc\u304b\u3089\u7d99\u627f\u3055\u308c\u3066\u3044\u307e\u3059\u3002
 
-compiler.err.default.allowed.in.intf.annotation.member=\
-    \u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306f @interface \u30e1\u30f3\u30d0\u5185\u3067\u306e\u307f\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002
-compiler.err.doesnt.exist=\
-    \u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
-compiler.err.duplicate.annotation=\
-    \u6ce8\u91c8\u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3059\u3002
-compiler.err.duplicate.annotation.member.value=\
-    {1} \u306e\u6ce8\u91c8\u30e1\u30f3\u30d0\u306e\u5024 {0} \u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3059\u3002
-compiler.err.duplicate.class=\
-    \u30af\u30e9\u30b9 {0} \u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3059\u3002
-compiler.err.duplicate.case.label=\
-    case \u30e9\u30d9\u30eb\u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3059\u3002
-compiler.err.duplicate.default.label=\
-    default \u30e9\u30d9\u30eb\u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3059\u3002
+compiler.err.default.allowed.in.intf.annotation.member=\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306f @interface \u30e1\u30f3\u30d0\u5185\u3067\u306e\u307f\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002
+compiler.err.doesnt.exist=\u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
+compiler.err.duplicate.annotation=\u6ce8\u91c8\u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3059\u3002
+compiler.err.duplicate.annotation.member.value={1} \u306e\u6ce8\u91c8\u30e1\u30f3\u30d0\u306e\u5024 {0} \u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3059\u3002
+compiler.err.duplicate.class=\u30af\u30e9\u30b9 {0} \u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3059\u3002
+compiler.err.duplicate.case.label=case \u30e9\u30d9\u30eb\u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3059\u3002
+compiler.err.duplicate.default.label=default \u30e9\u30d9\u30eb\u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3059\u3002
 
-compiler.err.else.without.if=\
-    ''else'' \u3078\u306e ''if'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.empty.char.lit=\
-    \u7a7a\u306e\u6587\u5b57\u30ea\u30c6\u30e9\u30eb\u3067\u3059\u3002
-compiler.err.encl.class.required=\
-    {0} \u3092\u542b\u3080\u56f2\u3046\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u5fc5\u8981\u3067\u3059\u3002
-compiler.err.enum.annotation.must.be.enum.constant=\
-    \u5217\u6319\u578b\u6ce8\u91c8\u5024\u306f\u3001\u5217\u6319\u578b\u5b9a\u6570\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+compiler.err.else.without.if=''else'' \u3078\u306e ''if'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.err.empty.bytecode.ident=\u7a7a\u306e\u30d0\u30a4\u30c8\u30b3\u30fc\u30c9\u8b58\u5225\u5b50\u3067\u3059\u3002
+compiler.err.empty.char.lit=\u7a7a\u306e\u6587\u5b57\u30ea\u30c6\u30e9\u30eb\u3067\u3059\u3002
+compiler.err.encl.class.required={0} \u3092\u542b\u3080\u56f2\u3046\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u5fc5\u8981\u3067\u3059\u3002
+compiler.err.enum.annotation.must.be.enum.constant=\u5217\u6319\u578b\u6ce8\u91c8\u5024\u306f\u3001\u5217\u6319\u578b\u5b9a\u6570\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
 
-compiler.err.enum.cant.be.instantiated=\
-    \u5217\u6319\u578b\u30bf\u30a4\u30d7\u306f\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.enum.label.must.be.unqualified.enum=\
-    \u5217\u6319\u578b\u306e switch case \u30e9\u30d9\u30eb\u306f\u5217\u6319\u578b\u5b9a\u6570\u306e\u975e\u4fee\u98fe\u540d\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-compiler.err.enum.no.subclassing=\
-    \u30af\u30e9\u30b9\u306f\u76f4\u63a5 java.lang.Enum \u3092\u62e1\u5f35\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.enum.types.not.extensible=\
-    \u5217\u6319\u578b\u30bf\u30a4\u30d7\u306f\u62e1\u5f35\u53ef\u80fd\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.enum.no.finalize=\
-    \u5217\u6319\u578b\u30bf\u30a4\u30d7\u306f finalize \u30e1\u30bd\u30c3\u30c9\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
-compiler.err.error.reading.file=\
-    {0} \u306e\u8aad\u307f\u8fbc\u307f\u30a8\u30e9\u30fc\u3067\u3059\u3002{1}
-compiler.err.except.already.caught=\
-    \u4f8b\u5916 {0} \u306f\u3059\u3067\u306b\u30ad\u30e3\u30c3\u30c1\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-compiler.err.except.never.thrown.in.try=\
-    \u4f8b\u5916 {0} \u306f\u5bfe\u5fdc\u3059\u308b try \u6587\u306e\u672c\u4f53\u3067\u306f\u30b9\u30ed\u30fc\u3055\u308c\u307e\u305b\u3093\u3002
+compiler.err.enum.cant.be.instantiated=\u5217\u6319\u578b\u30bf\u30a4\u30d7\u306f\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.enum.label.must.be.unqualified.enum=\u5217\u6319\u578b\u306e switch case \u30e9\u30d9\u30eb\u306f\u5217\u6319\u578b\u5b9a\u6570\u306e\u975e\u4fee\u98fe\u540d\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+compiler.err.enum.no.subclassing=\u30af\u30e9\u30b9\u306f\u76f4\u63a5 java.lang.Enum \u3092\u62e1\u5f35\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.enum.types.not.extensible=\u5217\u6319\u578b\u30bf\u30a4\u30d7\u306f\u62e1\u5f35\u53ef\u80fd\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.err.enum.no.finalize=\u5217\u6319\u578b\u30bf\u30a4\u30d7\u306f finalize \u30e1\u30bd\u30c3\u30c9\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
+compiler.err.error.reading.file={0} \u306e\u8aad\u307f\u8fbc\u307f\u30a8\u30e9\u30fc\u3067\u3059\u3002{1}
+compiler.err.except.already.caught=\u4f8b\u5916 {0} \u306f\u3059\u3067\u306b\u30ad\u30e3\u30c3\u30c1\u3055\u308c\u3066\u3044\u307e\u3059\u3002
+compiler.err.except.never.thrown.in.try=\u4f8b\u5916 {0} \u306f\u5bfe\u5fdc\u3059\u308b try \u6587\u306e\u672c\u4f53\u3067\u306f\u30b9\u30ed\u30fc\u3055\u308c\u307e\u305b\u3093\u3002
 
-compiler.err.final.parameter.may.not.be.assigned=\
-    final \u30d1\u30e9\u30e1\u30fc\u30bf {0} \u306b\u5024\u3092\u4ee3\u5165\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.finally.without.try=\
-    ''finally'' \u3078\u306e ''try'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.foreach.not.applicable.to.type=\
-    foreach \u306f\u5f0f\u306e\u30bf\u30a4\u30d7\u306b\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.fp.number.too.large=\
-    \u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u304c\u5927\u304d\u904e\u304e\u307e\u3059\u3002
-compiler.err.fp.number.too.small=\
-    \u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u304c\u5c0f\u3055\u904e\u304e\u307e\u3059\u3002
+compiler.err.final.parameter.may.not.be.assigned=final \u30d1\u30e9\u30e1\u30fc\u30bf {0} \u306b\u5024\u3092\u4ee3\u5165\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.finally.without.try=''finally'' \u3078\u306e ''try'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.err.foreach.not.applicable.to.type=foreach \u306f\u5f0f\u306e\u30bf\u30a4\u30d7\u306b\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.fp.number.too.large=\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u304c\u5927\u304d\u904e\u304e\u307e\u3059\u3002
+compiler.err.fp.number.too.small=\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u304c\u5c0f\u3055\u904e\u304e\u307e\u3059\u3002
 
-compiler.err.generic.array.creation=\
-    \u6c4e\u7528\u914d\u5217\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002
-compiler.err.generic.throwable=\
-    \u6c4e\u7528\u30af\u30e9\u30b9\u306f java.lang.Throwable \u3092\u62e1\u5f35\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.generic.array.creation=\u6c4e\u7528\u914d\u5217\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002
+compiler.err.generic.throwable=\u6c4e\u7528\u30af\u30e9\u30b9\u306f java.lang.Throwable \u3092\u62e1\u5f35\u3067\u304d\u307e\u305b\u3093\u3002
 
-compiler.err.icls.cant.have.static.decl=\
-    \u5185\u90e8\u30af\u30e9\u30b9\u304c static \u5ba3\u8a00\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.illegal.char=\
-     \\{0} \u306f\u4e0d\u6b63\u306a\u6587\u5b57\u3067\u3059\u3002
-compiler.err.illegal.char.for.encoding=\
-    \u3053\u306e\u6587\u5b57\u306f\u3001\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0 {0} \u306b\u30de\u30c3\u30d7\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.illegal.combination.of.modifiers=\
-    \u4fee\u98fe\u5b50 {0} \u3068 {1} \u306e\u7d44\u307f\u5408\u308f\u305b\u306f\u4e0d\u6b63\u3067\u3059\u3002
-compiler.err.illegal.enum.static.ref=\
-    \u521d\u671f\u5316\u5b50\u304b\u3089 static \u30d5\u30a3\u30fc\u30eb\u30c9\u3078\u306e\u53c2\u7167\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.err.illegal.esc.char=\
-    \u30a8\u30b9\u30b1\u30fc\u30d7\u6587\u5b57\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.err.illegal.forward.ref=\
-    \u9806\u65b9\u5411\u53c2\u7167\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.warn.forward.ref=\
-    \u521d\u671f\u5316\u3055\u308c\u308b\u524d\u306e\u5909\u6570 ''{0}'' \u3092\u53c2\u7167\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f
-compiler.err.illegal.generic.type.for.instof=\
-    instanceof \u306e\u7dcf\u79f0\u578b\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.err.illegal.initializer.for.type=\
-    {0} \u306e\u521d\u671f\u5316\u5b50\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.err.illegal.line.end.in.char.lit=\
-    \u6587\u5b57\u30ea\u30c6\u30e9\u30eb\u306e\u884c\u672b\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.err.illegal.nonascii.digit=\
-    \u4e0d\u6b63\u306a\u975e ASCII \u6570\u5b57\u3067\u3059\u3002
-compiler.err.illegal.qual.not.icls=\
-    \u4fee\u98fe\u5b50\u304c\u4e0d\u6b63\u3067\u3059\u3002{0} \u306f\u5185\u90e8\u30af\u30e9\u30b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.illegal.start.of.expr=\
-    \u5f0f\u306e\u958b\u59cb\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.err.illegal.start.of.type=\
-    \u578b\u306e\u958b\u59cb\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.err.illegal.unicode.esc=\
-    Unicode \u30a8\u30b9\u30b1\u30fc\u30d7\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.err.import.requires.canonical=\
-    \u30a4\u30f3\u30dd\u30fc\u30c8\u306b\u306f {0} \u306e\u6a19\u6e96\u540d\u304c\u5fc5\u8981\u3067\u3059\u3002
-compiler.err.improperly.formed.type.param.missing=\
-    \u578b\u306e\u5f62\u5f0f\u304c\u4e0d\u9069\u5207\u3067\u3059\u3002\u30d1\u30e9\u30e1\u30fc\u30bf\u304c\u4e0d\u8db3\u3057\u3066\u3044\u307e\u3059\u3002
-compiler.err.improperly.formed.type.inner.raw.param=\
-    \u578b\u306e\u5f62\u5f0f\u304c\u4e0d\u9069\u5207\u3067\u3059\u3002raw \u578b\u306b\u6307\u5b9a\u3055\u308c\u305f\u578b\u30d1\u30e9\u30e1\u30fc\u30bf\u3067\u3059\u3002
-compiler.err.incomparable.types=\
-    \u578b {0} \u3068 {1} \u306f\u6bd4\u8f03\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.int.number.too.large=\
-    \u6574\u6570 {0} \u304c\u5927\u304d\u904e\u304e\u307e\u3059\u3002
-compiler.err.internal.error.cant.instantiate=\
-    \u5185\u90e8\u30a8\u30e9\u30fc\u3067\u3059\u3002{0} \u3092 {1} \u3067 ({2}) \u306b\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u751f\u6210\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.intf.annotation.members.cant.have.params=\
-    @interface \u30e1\u30f3\u30d0\u304c\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.intf.annotation.cant.have.type.params=\
-    @interface \u304c\u578b\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.intf.annotation.members.cant.have.type.params=\
-    @interface \u30e1\u30f3\u30d0\u304c\u578b\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.intf.annotation.member.clash=\
-    @interface \u30e1\u30f3\u30d0\u30fc\u306f {1} \u306e\u30e1\u30bd\u30c3\u30c9 ''{0}'' \u3068\u7af6\u5408\u3057\u307e\u3059
-compiler.err.intf.expected.here=\
-    \u3053\u3053\u306b\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u304c\u5fc5\u8981\u3067\u3059\u3002
-compiler.err.intf.meth.cant.have.body=\
-    \u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u30e1\u30bd\u30c3\u30c9\u304c\u672c\u4f53\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.invalid.annotation.member.type=\
-    \u6ce8\u91c8\u30e1\u30f3\u30d0\u306e\u578b\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.err.invalid.hex.number=\
-    16 \u9032\u6570\u306b\u306f 16 \u9032\u6570\u5b57\u304c\u6700\u4f4e 1 \u3064\u306f\u542b\u307e\u308c\u3066\u3044\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-compiler.err.invalid.meth.decl.ret.type.req=\
-    \u30e1\u30bd\u30c3\u30c9\u306e\u5ba3\u8a00\u304c\u4e0d\u6b63\u3067\u3059\u3002\u623b\u308a\u5024\u306e\u578b\u304c\u5fc5\u8981\u3067\u3059\u3002
+compiler.err.icls.cant.have.static.decl=\u5185\u90e8\u30af\u30e9\u30b9\u304c static \u5ba3\u8a00\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.illegal.bytecode.ident.char=\u4e0d\u6b63\u306a\u30d0\u30a4\u30c8\u30b3\u30fc\u30c9\u8b58\u5225\u5b50\u3067\u3059: \\{0}
+compiler.err.illegal.char=\\{0} \u306f\u4e0d\u6b63\u306a\u6587\u5b57\u3067\u3059\u3002
+compiler.err.illegal.char.for.encoding=\u3053\u306e\u6587\u5b57\u306f\u3001\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0 {0} \u306b\u30de\u30c3\u30d7\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.illegal.combination.of.modifiers=\u4fee\u98fe\u5b50 {0} \u3068 {1} \u306e\u7d44\u307f\u5408\u308f\u305b\u306f\u4e0d\u6b63\u3067\u3059\u3002
+compiler.err.illegal.enum.static.ref=\u521d\u671f\u5316\u5b50\u304b\u3089 static \u30d5\u30a3\u30fc\u30eb\u30c9\u3078\u306e\u53c2\u7167\u304c\u4e0d\u6b63\u3067\u3059\u3002
+compiler.err.illegal.esc.char=\u30a8\u30b9\u30b1\u30fc\u30d7\u6587\u5b57\u304c\u4e0d\u6b63\u3067\u3059\u3002
+compiler.err.illegal.forward.ref=\u9806\u65b9\u5411\u53c2\u7167\u304c\u4e0d\u6b63\u3067\u3059\u3002
+compiler.warn.forward.ref=\u521d\u671f\u5316\u3055\u308c\u308b\u524d\u306e\u5909\u6570 ''{0}'' \u3092\u53c2\u7167\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u3002
+compiler.err.illegal.self.ref=\u521d\u671f\u5316\u5b50\u5185\u306b\u81ea\u5df1\u53c2\u7167\u304c\u3042\u308a\u307e\u3059\u3002
+compiler.warn.self.ref=\u521d\u671f\u5316\u5b50\u5185\u306b\u5909\u6570 ''{0}'' \u306e\u81ea\u5df1\u53c2\u7167\u304c\u3042\u308a\u307e\u3059\u3002
+compiler.err.illegal.generic.type.for.instof=instanceof \u306e\u7dcf\u79f0\u578b\u304c\u4e0d\u6b63\u3067\u3059\u3002
+compiler.err.illegal.initializer.for.type={0} \u306e\u521d\u671f\u5316\u5b50\u304c\u4e0d\u6b63\u3067\u3059\u3002
+compiler.err.illegal.line.end.in.char.lit=\u6587\u5b57\u30ea\u30c6\u30e9\u30eb\u306e\u884c\u672b\u304c\u4e0d\u6b63\u3067\u3059\u3002
+compiler.err.illegal.nonascii.digit=\u4e0d\u6b63\u306a\u975e ASCII \u6570\u5b57\u3067\u3059\u3002
+compiler.err.illegal.underscore=\u4e0b\u7dda\u304c\u4e0d\u6b63\u3067\u3059\u3002
+compiler.err.illegal.qual.not.icls=\u4fee\u98fe\u5b50\u304c\u4e0d\u6b63\u3067\u3059\u3002{0} \u306f\u5185\u90e8\u30af\u30e9\u30b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.err.illegal.start.of.expr=\u5f0f\u306e\u958b\u59cb\u304c\u4e0d\u6b63\u3067\u3059\u3002
+compiler.err.illegal.start.of.type=\u578b\u306e\u958b\u59cb\u304c\u4e0d\u6b63\u3067\u3059\u3002
+compiler.err.illegal.unicode.esc=Unicode \u30a8\u30b9\u30b1\u30fc\u30d7\u304c\u4e0d\u6b63\u3067\u3059\u3002
+compiler.err.import.requires.canonical=\u30a4\u30f3\u30dd\u30fc\u30c8\u306b\u306f {0} \u306e\u6a19\u6e96\u540d\u304c\u5fc5\u8981\u3067\u3059\u3002
+compiler.err.improperly.formed.type.param.missing=\u578b\u306e\u5f62\u5f0f\u304c\u4e0d\u9069\u5207\u3067\u3059\u3002\u30d1\u30e9\u30e1\u30fc\u30bf\u304c\u4e0d\u8db3\u3057\u3066\u3044\u307e\u3059\u3002
+compiler.err.improperly.formed.type.inner.raw.param=\u578b\u306e\u5f62\u5f0f\u304c\u4e0d\u9069\u5207\u3067\u3059\u3002raw \u578b\u306b\u6307\u5b9a\u3055\u308c\u305f\u578b\u30d1\u30e9\u30e1\u30fc\u30bf\u3067\u3059\u3002
+compiler.err.incomparable.types=\u578b {0} \u3068 {1} \u306f\u6bd4\u8f03\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.int.number.too.large=\u6574\u6570 {0} \u304c\u5927\u304d\u904e\u304e\u307e\u3059\u3002
+compiler.err.internal.error.cant.instantiate=\u5185\u90e8\u30a8\u30e9\u30fc\u3067\u3059\u3002{0} \u3092 {1} \u3067 ({2}) \u306b\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u751f\u6210\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.intf.annotation.members.cant.have.params=@interface \u30e1\u30f3\u30d0\u304c\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.intf.annotation.cant.have.type.params=@interface \u304c\u578b\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.intf.annotation.members.cant.have.type.params=@interface \u30e1\u30f3\u30d0\u304c\u578b\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.intf.annotation.member.clash=@interface \u30e1\u30f3\u30d0\u30fc\u306f {1} \u306e\u30e1\u30bd\u30c3\u30c9 ''{0}'' \u3068\u7af6\u5408\u3057\u307e\u3059
+compiler.err.intf.expected.here=\u3053\u3053\u306b\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u304c\u5fc5\u8981\u3067\u3059\u3002
+compiler.err.intf.meth.cant.have.body=\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u30e1\u30bd\u30c3\u30c9\u304c\u672c\u4f53\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.invalid.annotation.member.type=\u6ce8\u91c8\u30e1\u30f3\u30d0\u306e\u578b\u304c\u4e0d\u6b63\u3067\u3059\u3002
+compiler.err.invalid.binary.number=2 \u9032\u6570\u306b\u306f 2 \u9032\u6570\u5b57\u304c\u6700\u4f4e 1 \u3064\u306f\u542b\u307e\u308c\u3066\u3044\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+compiler.err.invalid.hex.number=16 \u9032\u6570\u306b\u306f 16 \u9032\u6570\u5b57\u304c\u6700\u4f4e 1 \u3064\u306f\u542b\u307e\u308c\u3066\u3044\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+compiler.err.invalid.meth.decl.ret.type.req=\u30e1\u30bd\u30c3\u30c9\u306e\u5ba3\u8a00\u304c\u4e0d\u6b63\u3067\u3059\u3002\u623b\u308a\u5024\u306e\u578b\u304c\u5fc5\u8981\u3067\u3059\u3002
 
-compiler.err.label.already.in.use=\
-    \u30e9\u30d9\u30eb {0} \u306f\u3059\u3067\u306b\u4f7f\u308f\u308c\u3066\u3044\u307e\u3059\u3002
-compiler.err.local.var.accessed.from.icls.needs.final=\
-    \u30ed\u30fc\u30ab\u30eb\u5909\u6570 {0} \u306f\u5185\u90e8\u30af\u30e9\u30b9\u304b\u3089\u30a2\u30af\u30bb\u30b9\u3055\u308c\u307e\u3059\u3002final \u3067\u5ba3\u8a00\u3055\u308c\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
-compiler.err.local.enum=\
-    \u5217\u6319\u578b\u306f\u30ed\u30fc\u30ab\u30eb\u3067\u306f\u3044\u3051\u307e\u305b\u3093\u3002
+compiler.err.label.already.in.use=\u30e9\u30d9\u30eb {0} \u306f\u3059\u3067\u306b\u4f7f\u308f\u308c\u3066\u3044\u307e\u3059\u3002
+compiler.err.local.var.accessed.from.icls.needs.final=\u30ed\u30fc\u30ab\u30eb\u5909\u6570 {0} \u306f\u5185\u90e8\u30af\u30e9\u30b9\u304b\u3089\u30a2\u30af\u30bb\u30b9\u3055\u308c\u307e\u3059\u3002final \u3067\u5ba3\u8a00\u3055\u308c\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
+compiler.err.local.enum=\u5217\u6319\u578b\u306f\u30ed\u30fc\u30ab\u30eb\u3067\u306f\u3044\u3051\u307e\u305b\u3093\u3002
+compiler.err.cannot.create.array.with.type.arguments=\u578b\u5f15\u6570\u3092\u4f7f\u3063\u3066\u914d\u5217\u3092\u751f\u6210\u3067\u304d\u307e\u305b\u3093\u3002
 
 #
 # limits.  We don't give the limits in the diagnostic because we expect
 # them to change, yet we want to use the same diagnostic.  These are all
 # detected during code generation.
 #
-compiler.err.limit.code=\
-    \u30b3\u30fc\u30c9\u304c\u5927\u304d\u3059\u304e\u307e\u3059\u3002
-compiler.err.limit.code.too.large.for.try.stmt=\
-    try \u6587\u306e\u30b3\u30fc\u30c9\u304c\u5927\u304d\u3059\u304e\u307e\u3059\u3002
-compiler.err.limit.dimensions=\
-    \u914d\u5217\u578b\u306e\u6b21\u5143\u304c\u591a\u3059\u304e\u307e\u3059\u3002
-compiler.err.limit.locals=\
-    \u30ed\u30fc\u30ab\u30eb\u5909\u6570\u304c\u591a\u3059\u304e\u307e\u3059\u3002
-compiler.err.limit.parameters=\
-    \u30d1\u30e9\u30e1\u30fc\u30bf\u304c\u591a\u3059\u304e\u307e\u3059\u3002
-compiler.err.limit.pool=\
-    \u5b9a\u6570\u304c\u591a\u3059\u304e\u307e\u3059\u3002
-compiler.err.limit.pool.in.class=\
-    \u30af\u30e9\u30b9 {0} \u5185\u306e\u5b9a\u6570\u304c\u591a\u3059\u304e\u307e\u3059\u3002
-compiler.err.limit.stack=\
-    \u30b3\u30fc\u30c9\u304c\u8981\u6c42\u3059\u308b\u30b9\u30bf\u30c3\u30af\u304c\u591a\u3059\u304e\u307e\u3059\u3002
-compiler.err.limit.string=\
-    \u5b9a\u6570\u6587\u5b57\u5217\u304c\u9577\u3059\u304e\u307e\u3059\u3002
-compiler.err.limit.string.overflow=\
-    \u6587\u5b57\u5217 \"{0}...\" \u306e UTF8 \u8868\u73fe\u304c\u3001\u5b9a\u6570\u30d7\u30fc\u30eb\u306b\u5bfe\u3057\u3066\u9577\u3059\u304e\u307e\u3059\u3002
+compiler.err.limit.code=\u30b3\u30fc\u30c9\u304c\u5927\u304d\u3059\u304e\u307e\u3059\u3002
+compiler.err.limit.code.too.large.for.try.stmt=try \u6587\u306e\u30b3\u30fc\u30c9\u304c\u5927\u304d\u3059\u304e\u307e\u3059\u3002
+compiler.err.limit.dimensions=\u914d\u5217\u578b\u306e\u6b21\u5143\u304c\u591a\u3059\u304e\u307e\u3059\u3002
+compiler.err.limit.locals=\u30ed\u30fc\u30ab\u30eb\u5909\u6570\u304c\u591a\u3059\u304e\u307e\u3059\u3002
+compiler.err.limit.parameters=\u30d1\u30e9\u30e1\u30fc\u30bf\u304c\u591a\u3059\u304e\u307e\u3059\u3002
+compiler.err.limit.pool=\u5b9a\u6570\u304c\u591a\u3059\u304e\u307e\u3059\u3002
+compiler.err.limit.pool.in.class=\u30af\u30e9\u30b9 {0} \u5185\u306e\u5b9a\u6570\u304c\u591a\u3059\u304e\u307e\u3059\u3002
+compiler.err.limit.stack=\u30b3\u30fc\u30c9\u304c\u8981\u6c42\u3059\u308b\u30b9\u30bf\u30c3\u30af\u304c\u591a\u3059\u304e\u307e\u3059\u3002
+compiler.err.limit.string=\u5b9a\u6570\u6587\u5b57\u5217\u304c\u9577\u3059\u304e\u307e\u3059\u3002
+compiler.err.limit.string.overflow=\u6587\u5b57\u5217 \"{0}...\" \u306e UTF8 \u8868\u73fe\u304c\u3001\u5b9a\u6570\u30d7\u30fc\u30eb\u306b\u5bfe\u3057\u3066\u9577\u3059\u304e\u307e\u3059\u3002
 
-compiler.err.malformed.fp.lit=\
-    \u6d6e\u52d5\u5c0f\u6570\u70b9\u30ea\u30c6\u30e9\u30eb\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.err.method.does.not.override.superclass=\
-    \u30e1\u30bd\u30c3\u30c9\u306f\u30b9\u30fc\u30d1\u30fc\u30bf\u30a4\u30d7\u306e\u30e1\u30bd\u30c3\u30c9\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u307e\u305f\u306f\u5b9f\u88c5\u3057\u307e\u305b\u3093
-compiler.err.missing.meth.body.or.decl.abstract=\
-    \u30e1\u30bd\u30c3\u30c9\u672c\u4f53\u304c\u306a\u3044\u304b\u3001abstract \u3068\u3057\u3066\u5ba3\u8a00\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-compiler.err.missing.ret.stmt=\
-    return \u6587\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-compiler.err.missing.ret.val=\
-    \u623b\u308a\u5024\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.mod.not.allowed.here=\
-    \u4fee\u98fe\u5b50 {0} \u3092\u3053\u3053\u3067\u4f7f\u3046\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.intf.not.allowed.here=\
-    \u3053\u3053\u3067\u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306f\u8a31\u53ef\u3055\u308c\u307e\u305b\u3093
-compiler.err.enums.must.be.static=\
-    \u5217\u6319\u578b\u306e\u5ba3\u8a00\u306f static \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u3067\u3057\u304b\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093
+compiler.err.malformed.fp.lit=\u6d6e\u52d5\u5c0f\u6570\u70b9\u30ea\u30c6\u30e9\u30eb\u304c\u4e0d\u6b63\u3067\u3059\u3002
+compiler.err.method.does.not.override.superclass=\u30e1\u30bd\u30c3\u30c9\u306f\u30b9\u30fc\u30d1\u30fc\u30bf\u30a4\u30d7\u306e\u30e1\u30bd\u30c3\u30c9\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u307e\u305f\u306f\u5b9f\u88c5\u3057\u307e\u305b\u3093
+compiler.err.missing.meth.body.or.decl.abstract=\u30e1\u30bd\u30c3\u30c9\u672c\u4f53\u304c\u306a\u3044\u304b\u3001abstract \u3068\u3057\u3066\u5ba3\u8a00\u3055\u308c\u3066\u3044\u307e\u3059\u3002
+compiler.err.missing.ret.stmt=return \u6587\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+compiler.err.missing.ret.val=\u623b\u308a\u5024\u304c\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.err.mod.not.allowed.here=\u4fee\u98fe\u5b50 {0} \u3092\u3053\u3053\u3067\u4f7f\u3046\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.intf.not.allowed.here=\u3053\u3053\u3067\u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306f\u8a31\u53ef\u3055\u308c\u307e\u305b\u3093
+compiler.err.enums.must.be.static=\u5217\u6319\u578b\u306e\u5ba3\u8a00\u306f static \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u3067\u3057\u304b\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093
 
-compiler.err.name.clash.same.erasure=\
-    \u540d\u524d\u304c\u7af6\u5408\u3057\u3066\u3044\u307e\u3059\u3002{0} \u3068 {1} \u306f\u524a\u9664\u5f8c\u306e\u540d\u524d\u304c\u540c\u3058\u3067\u3059\u3002
-compiler.err.name.clash.same.erasure.no.override=\
-    \u540d\u524d\u304c\u7af6\u5408\u3057\u3066\u3044\u307e\u3059\u3002{1} \u306e {0} \u3068 {3} \u306e {2} \u306f\u307e\u3060\u4ed6\u65b9\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u3066\u3044\u307e\u305b\u3093\u304c\u3001\u524a\u9664\u5f8c\u306e\u540d\u524d\u304c\u540c\u3058\u3067\u3059\u3002
-compiler.err.name.reserved.for.internal.use=\
-    {0} \u306f\u5185\u90e8\u3067\u306e\u4f7f\u7528\u306e\u305f\u3081\u4e88\u7d04\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-compiler.err.native.meth.cant.have.body=\
-    native \u30e1\u30bd\u30c3\u30c9\u304c\u672c\u4f53\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.neither.conditional.subtype=\
- ? \u306b\u5bfe\u3059\u308b\u4e92\u63db\u6027\u306e\u306a\u3044\u578b : \u3069\u3061\u3089\u3082\u4ed6\u65b9\u306e\u30b5\u30d6\u30bf\u30a4\u30d7\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\n\
- 2 \u756a\u76ee\u306e\u30aa\u30da\u30e9\u30f3\u30c9 : {0}\n\
- 3 \u756a\u76ee\u306e\u30aa\u30da\u30e9\u30f3\u30c9 : {1}
-compiler.err.new.not.allowed.in.annotation=\
-    ''new'' \u306f\u6ce8\u91c8\u306b\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093
-compiler.err.no.annotation.member=\
-    {1} \u306e\u6ce8\u91c8\u30e1\u30f3\u30d0 {0} \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.no.encl.instance.of.type.in.scope=\
-    \u578b {0} \u306e\u5185\u90e8\u30af\u30e9\u30b9\u3092\u56f2\u3080\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u30b9\u30b3\u30fc\u30d7\u5185\u306b\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.no.intf.expected.here=\
-    \u3053\u3053\u306b\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306f\u5fc5\u8981\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.no.match.entry=\
-    {0} \u306f {1} \u306e\u30a8\u30f3\u30c8\u30ea\u306b\u9069\u5408\u3057\u307e\u305b\u3093\u3002{2} \u304c\u5fc5\u8981\u3067\u3059\u3002
-compiler.err.not.annotation.type=\
-    {0} \u306f\u6ce8\u91c8\u578b\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.not.def.access.class.intf.cant.access=\
-    {1} \u306e {0} \u304c\u30a2\u30af\u30bb\u30b9\u3067\u304d\u306a\u3044\u30af\u30e9\u30b9\u307e\u305f\u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059
-compiler.err.not.def.public.cant.access=\
-    {1} \u306e {0} \u306f public \u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u30d1\u30c3\u30b1\u30fc\u30b8\u5916\u304b\u3089\u306f\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.not.loop.label=\
-    {0} \u306f\u30eb\u30fc\u30d7\u30e9\u30d9\u30eb\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.not.stmt=\
-    \u6587\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.not.encl.class=\
-    {0} \u306f\u5185\u90e8\u30af\u30e9\u30b9\u3092\u56f2\u307f\u307e\u305b\u3093\u3002
+compiler.err.name.clash.same.erasure=\u540d\u524d\u304c\u7af6\u5408\u3057\u3066\u3044\u307e\u3059\u3002{0} \u3068 {1} \u306f\u524a\u9664\u5f8c\u306e\u540d\u524d\u304c\u540c\u3058\u3067\u3059\u3002
+compiler.err.name.clash.same.erasure.no.override=\u540d\u524d\u304c\u7af6\u5408\u3057\u3066\u3044\u307e\u3059\u3002{1} \u306e {0} \u3068 {3} \u306e {2} \u306f\u307e\u3060\u4ed6\u65b9\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u3066\u3044\u307e\u305b\u3093\u304c\u3001\u524a\u9664\u5f8c\u306e\u540d\u524d\u304c\u540c\u3058\u3067\u3059\u3002
+compiler.err.name.reserved.for.internal.use={0} \u306f\u5185\u90e8\u3067\u306e\u4f7f\u7528\u306e\u305f\u3081\u4e88\u7d04\u3055\u308c\u3066\u3044\u307e\u3059\u3002
+compiler.err.native.meth.cant.have.body=native \u30e1\u30bd\u30c3\u30c9\u304c\u672c\u4f53\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.neither.conditional.subtype=? \u306b\u5bfe\u3059\u308b\u4e92\u63db\u6027\u306e\u306a\u3044\u578b : \u3069\u3061\u3089\u3082\u4ed6\u65b9\u306e\u30b5\u30d6\u30bf\u30a4\u30d7\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\n2 \u756a\u76ee\u306e\u30aa\u30da\u30e9\u30f3\u30c9 : {0}\n3 \u756a\u76ee\u306e\u30aa\u30da\u30e9\u30f3\u30c9 : {1}
+compiler.err.new.not.allowed.in.annotation=''new'' \u306f\u6ce8\u91c8\u306b\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093
+compiler.err.no.annotation.member={1} \u306e\u6ce8\u91c8\u30e1\u30f3\u30d0 {0} \u304c\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.err.no.encl.instance.of.type.in.scope=\u578b {0} \u306e\u5185\u90e8\u30af\u30e9\u30b9\u3092\u56f2\u3080\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u30b9\u30b3\u30fc\u30d7\u5185\u306b\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.err.no.intf.expected.here=\u3053\u3053\u306b\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306f\u5fc5\u8981\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.err.no.match.entry={0} \u306f {1} \u306e\u30a8\u30f3\u30c8\u30ea\u306b\u9069\u5408\u3057\u307e\u305b\u3093\u3002{2} \u304c\u5fc5\u8981\u3067\u3059\u3002
+compiler.err.not.annotation.type={0} \u306f\u6ce8\u91c8\u578b\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.err.not.def.access.class.intf.cant.access={1} \u306e {0} \u304c\u30a2\u30af\u30bb\u30b9\u3067\u304d\u306a\u3044\u30af\u30e9\u30b9\u307e\u305f\u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059
+compiler.err.not.def.public.cant.access={1} \u306e {0} \u306f public \u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u30d1\u30c3\u30b1\u30fc\u30b8\u5916\u304b\u3089\u306f\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.not.loop.label={0} \u306f\u30eb\u30fc\u30d7\u30e9\u30d9\u30eb\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.err.not.stmt=\u6587\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.err.not.encl.class={0} \u306f\u5185\u90e8\u30af\u30e9\u30b9\u3092\u56f2\u307f\u307e\u305b\u3093\u3002
 
-compiler.err.operator.cant.be.applied=\
-    \u6f14\u7b97\u5b50 {0} \u306f {1} \u306b\u9069\u7528\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.operator.cant.be.applied=\u6f14\u7b97\u5b50 {0} \u306f {1} \u306b\u9069\u7528\u3067\u304d\u307e\u305b\u3093\u3002
 
-compiler.err.pkg.annotations.sb.in.package-info.java=\
-    \u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u6ce8\u91c8\u306f\u30d5\u30a1\u30a4\u30eb package-info.java \u5185\u306b\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-compiler.err.pkg.clashes.with.class.of.same.name=\
-    \u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u306f\u540c\u540d\u306e\u30af\u30e9\u30b9\u3068\u7af6\u5408\u3057\u3066\u3044\u307e\u3059\u3002
+compiler.err.pkg.annotations.sb.in.package-info.java=\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u6ce8\u91c8\u306f\u30d5\u30a1\u30a4\u30eb package-info.java \u5185\u306b\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+compiler.err.pkg.clashes.with.class.of.same.name=\u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u306f\u540c\u540d\u306e\u30af\u30e9\u30b9\u3068\u7af6\u5408\u3057\u3066\u3044\u307e\u3059\u3002
+
+compiler.err.warnings.and.werror=\u8b66\u544a\u3092\u691c\u51fa\u3057 -Werror \u304c\u6307\u5b9a\u3055\u308c\u307e\u3057\u305f\u3002
 
 # Errors related to annotation processing
 
-compiler.err.proc.cant.access=\
-{0} \u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\n\
-{1}\n\
-\u8a73\u7d30\u306f\u6b21\u306e\u30b9\u30bf\u30c3\u30af\u30c8\u30ec\u30fc\u30b9\u3067\u8abf\u67fb\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n\
-{2}
+compiler.err.proc.cant.access={0} \u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\n{1}\n\u8a73\u7d30\u306f\u6b21\u306e\u30b9\u30bf\u30c3\u30af\u30c8\u30ec\u30fc\u30b9\u3067\u8abf\u67fb\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n{2}
 
-compiler.err.proc.cant.find.class=\
-    ''{0}'' \u306e\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+compiler.err.proc.cant.find.class=''{0}'' \u306e\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
 
 # Print a client-generated error message; assumed to be localized, no translation required
-compiler.err.proc.messager=\
-    {0}
+compiler.err.proc.messager={0}
+
+compiler.err.proc.no.explicit.annotation.processing.requested=\u30af\u30e9\u30b9\u540d ''{0}'' \u304c\u53d7\u3051\u5165\u308c\u3089\u308c\u308b\u306e\u306f\u3001\u6ce8\u91c8\u51e6\u7406\u304c\u660e\u793a\u7684\u306b\u8981\u6c42\u3055\u308c\u305f\u5834\u5408\u3060\u3051\u3067\u3059
 
-compiler.err.proc.no.explicit.annotation.processing.requested=\
-    \u30af\u30e9\u30b9\u540d ''{0}'' \u304c\u53d7\u3051\u5165\u308c\u3089\u308c\u308b\u306e\u306f\u3001\u6ce8\u91c8\u51e6\u7406\u304c\u660e\u793a\u7684\u306b\u8981\u6c42\u3055\u308c\u305f\u5834\u5408\u3060\u3051\u3067\u3059
+compiler.err.proc.no.service=\u30b5\u30fc\u30d3\u30b9\u30ed\u30fc\u30c0\u30fc\u30af\u30e9\u30b9\u304c\u307f\u3064\u304b\u308a\u307e\u305b\u3093\u3002\njava.util.ServiceLoader \u3082\u3057\u304f\u306f sun.misc.Service \u304c\u5229\u7528\u53ef\u80fd\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
 
-compiler.err.proc.processor.bad.option.name=\
-    \u30d7\u30ed\u30bb\u30c3\u30b5 ''{1}'' \u306b\u3088\u3063\u3066\u6307\u5b9a\u3055\u308c\u305f\u30aa\u30d7\u30b7\u30e7\u30f3\u540d ''{0}'' \u304c\u4e0d\u6b63\u3067\u3059
+compiler.err.proc.processor.bad.option.name=\u30d7\u30ed\u30bb\u30c3\u30b5 ''{1}'' \u306b\u3088\u3063\u3066\u6307\u5b9a\u3055\u308c\u305f\u30aa\u30d7\u30b7\u30e7\u30f3\u540d ''{0}'' \u304c\u4e0d\u6b63\u3067\u3059
 
-compiler.err.proc.processor.cant.instantiate=\
-    \u30d7\u30ed\u30bb\u30c3\u30b5 ''{0}'' \u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
+compiler.err.proc.processor.cant.instantiate=\u30d7\u30ed\u30bb\u30c3\u30b5 ''{0}'' \u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
 
-compiler.err.proc.processor.constructor.error=\
-    \u30d7\u30ed\u30bb\u30c3\u30b5\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u69cb\u7bc9\u4e2d\u306b\u4f8b\u5916\u304c\u30b9\u30ed\u30fc\u3055\u308c\u307e\u3057\u305f: {0}
+compiler.err.proc.processor.constructor.error=\u30d7\u30ed\u30bb\u30c3\u30b5\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u69cb\u7bc9\u4e2d\u306b\u4f8b\u5916\u304c\u30b9\u30ed\u30fc\u3055\u308c\u307e\u3057\u305f: {0}
 
-compiler.err.proc.processor.not.found=\
-    \u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5 ''{0}'' \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
+compiler.err.proc.processor.not.found=\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5 ''{0}'' \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
 
-compiler.err.proc.processor.wrong.type=\
-    \u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5 ''{0}'' \u304c javax.annotation.processing.Processor \u3092\u5b9f\u88c5\u3057\u3066\u3044\u307e\u305b\u3093
+compiler.err.proc.processor.wrong.type=\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5 ''{0}'' \u304c javax.annotation.processing.Processor \u3092\u5b9f\u88c5\u3057\u3066\u3044\u307e\u305b\u3093
 
-compiler.err.proc.bad.config.file=\
-    \u30b5\u30fc\u30d3\u30b9\u69cb\u6210\u30d5\u30a1\u30a4\u30eb\u304c\u4e0d\u6b63\u3067\u3042\u308b\u304b\u3001\u30d7\u30ed\u30bb\u30c3\u30b5\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u69cb\u7bc9\u4e2d\u306b\u4f8b\u5916\u304c\u30b9\u30ed\u30fc\u3055\u308c\u307e\u3057\u305f: {0}
+compiler.err.proc.service.problem=Processor \u3092\u30ed\u30fc\u30c9\u3059\u308b\u30b5\u30fc\u30d3\u30b9\u30ed\u30fc\u30c0\u30fc\u306e\u751f\u6210\u6642\u306e\u30a8\u30e9\u30fc\u3067\u3059\u3002
+
+compiler.err.proc.bad.config.file=\u30b5\u30fc\u30d3\u30b9\u69cb\u6210\u30d5\u30a1\u30a4\u30eb\u304c\u4e0d\u6b63\u3067\u3042\u308b\u304b\u3001\u30d7\u30ed\u30bb\u30c3\u30b5\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u69cb\u7bc9\u4e2d\u306b\u4f8b\u5916\u304c\u30b9\u30ed\u30fc\u3055\u308c\u307e\u3057\u305f: {0}
 
-compiler.err.proc.cant.create.loader=\
-    \u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u306e\u30af\u30e9\u30b9\u30ed\u30fc\u30c0\u30fc\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: {0}
+compiler.err.proc.cant.create.loader=\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u306e\u30af\u30e9\u30b9\u30ed\u30fc\u30c0\u30fc\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: {0}
 
-compiler.err.qualified.new.of.static.class=\
-    static \u30af\u30e9\u30b9\u306e new \u304c\u4fee\u98fe\u3055\u308c\u3066\u3044\u307e\u3059\u3002
+compiler.err.qualified.new.of.static.class=static \u30af\u30e9\u30b9\u306e new \u304c\u4fee\u98fe\u3055\u308c\u3066\u3044\u307e\u3059\u3002
 
-compiler.err.recursive.ctor.invocation=\
-    \u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306e\u547c\u3073\u51fa\u3057\u304c\u518d\u5e30\u7684\u3067\u3059\u3002
-compiler.err.ref.ambiguous=\
-    {0} \u306e\u53c2\u7167\u306f\u3042\u3044\u307e\u3044\u3067\u3059\u3002{3} \u306e {1} {2} \u3068 {6} \u306e {4} {5} \u304c\u4e21\u65b9\u9069\u5408\u3057\u307e\u3059\u3002
-compiler.err.repeated.annotation.target=\
-    \u6ce8\u91c8\u30bf\u30fc\u30b2\u30c3\u30c8\u304c\u7e70\u308a\u8fd4\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-compiler.err.repeated.interface=\
-    \u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u304c\u7e70\u308a\u8fd4\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-compiler.err.repeated.modifier=\
-    \u4fee\u98fe\u5b50\u304c\u7e70\u308a\u8fd4\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-compiler.err.report.access=\
-    {0} \u306f {2} \u3067 {1} \u30a2\u30af\u30bb\u30b9\u3055\u308c\u307e\u3059\u3002
-compiler.err.ret.outside.meth=\
-    \u30e1\u30bd\u30c3\u30c9\u306e\u5916\u306e return \u6587\u3067\u3059\u3002
+compiler.err.recursive.ctor.invocation=\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306e\u547c\u3073\u51fa\u3057\u304c\u518d\u5e30\u7684\u3067\u3059\u3002
+compiler.err.ref.ambiguous={0} \u306e\u53c2\u7167\u306f\u3042\u3044\u307e\u3044\u3067\u3059\u3002{3} \u306e {1} {2} \u3068 {6} \u306e {4} {5} \u304c\u4e21\u65b9\u9069\u5408\u3057\u307e\u3059\u3002
+compiler.err.repeated.annotation.target=\u6ce8\u91c8\u30bf\u30fc\u30b2\u30c3\u30c8\u304c\u7e70\u308a\u8fd4\u3055\u308c\u3066\u3044\u307e\u3059\u3002
+compiler.err.repeated.interface=\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u304c\u7e70\u308a\u8fd4\u3055\u308c\u3066\u3044\u307e\u3059\u3002
+compiler.err.repeated.modifier=\u4fee\u98fe\u5b50\u304c\u7e70\u308a\u8fd4\u3055\u308c\u3066\u3044\u307e\u3059\u3002
+compiler.err.report.access={0} \u306f {2} \u3067 {1} \u30a2\u30af\u30bb\u30b9\u3055\u308c\u307e\u3059\u3002
+compiler.err.ret.outside.meth=\u30e1\u30bd\u30c3\u30c9\u306e\u5916\u306e return \u6587\u3067\u3059\u3002
 
-compiler.err.signature.doesnt.match.supertype=\
-    \u30b7\u30b0\u30cb\u30c1\u30e3\u30fc\u304c {0} \u306b\u9069\u5408\u3057\u307e\u305b\u3093\u3002\u4e92\u63db\u6027\u306e\u306a\u3044\u30b9\u30fc\u30d1\u30fc\u30bf\u30a4\u30d7\u3067\u3059\u3002
-compiler.err.signature.doesnt.match.intf=\
-    \u30b7\u30b0\u30cb\u30c1\u30e3\u30fc\u304c {0} \u306b\u9069\u5408\u3057\u307e\u305b\u3093\u3002\u4e92\u63db\u6027\u306e\u306a\u3044\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3067\u3059\u3002
-compiler.err.does.not.override.abstract=\
-    {0} \u306f abstract \u3067\u306a\u304f\u3001{2} \u5185\u306e abstract \u30e1\u30bd\u30c3\u30c9 {1} \u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u307e\u305b\u3093\u3002
-compiler.err.source.cant.overwrite.input.file=\
-    \u30bd\u30fc\u30b9\u306e\u66f8\u304d\u8fbc\u307f\u30a8\u30e9\u30fc\u3067\u3059\u3002\u5165\u529b\u30d5\u30a1\u30a4\u30eb {0} \u3092\u4e0a\u66f8\u304d\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.stack.sim.error=\
-    \u5185\u90e8\u30a8\u30e9\u30fc: {0} \u3067\u306e\u30b9\u30bf\u30c3\u30af\u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
-compiler.err.static.imp.only.classes.and.interfaces=\
-    static import \u306f\u30af\u30e9\u30b9\u3068\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u304b\u3089\u306e\u307f\u3068\u306a\u308a\u307e\u3059\u3002
-compiler.err.synthetic.name.conflict=\
-    \u30b7\u30f3\u30dc\u30eb {0} \u304c\u3001{1} \u3067\u30b3\u30f3\u30d1\u30a4\u30e9\u304c\u5408\u6210\u3057\u305f\u30b7\u30f3\u30dc\u30eb\u3068\u7af6\u5408\u3057\u307e\u3059\u3002
+compiler.err.signature.doesnt.match.supertype=\u30b7\u30b0\u30cb\u30c1\u30e3\u30fc\u304c {0} \u306b\u9069\u5408\u3057\u307e\u305b\u3093\u3002\u4e92\u63db\u6027\u306e\u306a\u3044\u30b9\u30fc\u30d1\u30fc\u30bf\u30a4\u30d7\u3067\u3059\u3002
+compiler.err.signature.doesnt.match.intf=\u30b7\u30b0\u30cb\u30c1\u30e3\u30fc\u304c {0} \u306b\u9069\u5408\u3057\u307e\u305b\u3093\u3002\u4e92\u63db\u6027\u306e\u306a\u3044\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3067\u3059\u3002
+compiler.err.does.not.override.abstract={0} \u306f abstract \u3067\u306a\u304f\u3001{2} \u5185\u306e abstract \u30e1\u30bd\u30c3\u30c9 {1} \u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u307e\u305b\u3093\u3002
+compiler.err.source.cant.overwrite.input.file=\u30bd\u30fc\u30b9\u306e\u66f8\u304d\u8fbc\u307f\u30a8\u30e9\u30fc\u3067\u3059\u3002\u5165\u529b\u30d5\u30a1\u30a4\u30eb {0} \u3092\u4e0a\u66f8\u304d\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.stack.sim.error=\u5185\u90e8\u30a8\u30e9\u30fc: {0} \u3067\u306e\u30b9\u30bf\u30c3\u30af\u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
+compiler.err.static.imp.only.classes.and.interfaces=static import \u306f\u30af\u30e9\u30b9\u3068\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u304b\u3089\u306e\u307f\u3068\u306a\u308a\u307e\u3059\u3002
+compiler.err.string.const.req=\u5b9a\u6570\u6587\u5b57\u5217\u5f0f\u304c\u5fc5\u8981\u3067\u3059\u3002
+compiler.err.synthetic.name.conflict=\u30b7\u30f3\u30dc\u30eb {0} \u304c\u3001{1} \u3067\u30b3\u30f3\u30d1\u30a4\u30e9\u304c\u5408\u6210\u3057\u305f\u30b7\u30f3\u30dc\u30eb\u3068\u7af6\u5408\u3057\u307e\u3059\u3002
+compiler.warn.synthetic.name.conflict=\u30b7\u30f3\u30dc\u30eb {0} \u304c\u3001{1} \u3067\u30b3\u30f3\u30d1\u30a4\u30e9\u304c\u5408\u6210\u3057\u305f\u30b7\u30f3\u30dc\u30eb\u3068\u7af6\u5408\u3057\u307e\u3059\u3002
 
-compiler.err.throws.not.allowed.in.intf.annotation=\
-    throws \u7bc0\u3092 @interface \u30e1\u30f3\u30d0\u3067\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.try.without.catch.or.finally=\
-    ''try'' \u3078\u306e ''catch'' \u307e\u305f\u306f ''finally'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.type.doesnt.take.params=\
-    \u578b {0} \u306f\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u3068\u308a\u307e\u305b\u3093\u3002
-compiler.err.type.var.cant.be.deref=\
-    \u578b\u5909\u6570\u304b\u3089\u9078\u629e\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.type.var.may.not.be.followed.by.other.bounds=\
-    \u3053\u306e\u578b\u5909\u6570\u306e\u5f8c\u308d\u306b\u4ed6\u306e\u5883\u754c\u3092\u914d\u7f6e\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.type.var.more.than.once=\
-    \u578b\u5909\u6570 {0} \u306f {1} \u306e\u623b\u308a\u5024\u306e\u578b\u3067 2 \u56de\u4ee5\u4e0a\u51fa\u73fe\u3057\u307e\u3059\u3002\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u751f\u6210\u3055\u308c\u306a\u3044\u307e\u307e\u306b\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.type.var.more.than.once.in.result=\
-    \u578b\u5909\u6570 {0} \u306f {1} \u306e\u578b\u3067 2 \u56de\u4ee5\u4e0a\u51fa\u73fe\u3057\u307e\u3059\u3002\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u751f\u6210\u3055\u308c\u306a\u3044\u307e\u307e\u306b\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.types.incompatible.diff.ret=\
-    \u578b {0} \u3068\u578b {1} \u306e\u4e92\u63db\u6027\u304c\u3042\u308a\u307e\u305b\u3093\u3002\u4e21\u65b9\u3068\u3082 {2} \u3092\u5b9a\u7fa9\u3057\u3066\u3044\u307e\u3059\u304c\u3001\u623b\u308a\u5024\u306e\u578b\u304c\u7121\u95a2\u4fc2\u3067\u3059\u3002
+compiler.err.throws.not.allowed.in.intf.annotation=throws \u7bc0\u3092 @interface \u30e1\u30f3\u30d0\u3067\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.try.without.catch.or.finally=''try'' \u3078\u306e ''catch'' \u307e\u305f\u306f ''finally'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.err.type.doesnt.take.params=\u578b {0} \u306f\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u3068\u308a\u307e\u305b\u3093\u3002
+compiler.err.type.var.cant.be.deref=\u578b\u5909\u6570\u304b\u3089\u9078\u629e\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.type.var.may.not.be.followed.by.other.bounds=\u3053\u306e\u578b\u5909\u6570\u306e\u5f8c\u308d\u306b\u4ed6\u306e\u5883\u754c\u3092\u914d\u7f6e\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.type.var.more.than.once=\u578b\u5909\u6570 {0} \u306f {1} \u306e\u623b\u308a\u5024\u306e\u578b\u3067 2 \u56de\u4ee5\u4e0a\u51fa\u73fe\u3057\u307e\u3059\u3002\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u751f\u6210\u3055\u308c\u306a\u3044\u307e\u307e\u306b\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.type.var.more.than.once.in.result=\u578b\u5909\u6570 {0} \u306f {1} \u306e\u578b\u3067 2 \u56de\u4ee5\u4e0a\u51fa\u73fe\u3057\u307e\u3059\u3002\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u751f\u6210\u3055\u308c\u306a\u3044\u307e\u307e\u306b\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.types.incompatible.diff.ret=\u578b {0} \u3068\u578b {1} \u306e\u4e92\u63db\u6027\u304c\u3042\u308a\u307e\u305b\u3093\u3002\u4e21\u65b9\u3068\u3082 {2} \u3092\u5b9a\u7fa9\u3057\u3066\u3044\u307e\u3059\u304c\u3001\u623b\u308a\u5024\u306e\u578b\u304c\u7121\u95a2\u4fc2\u3067\u3059\u3002
 
-compiler.err.unclosed.char.lit=\
-    \u6587\u5b57\u30ea\u30c6\u30e9\u30eb\u304c\u9589\u3058\u3089\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-compiler.err.unclosed.comment=\
-    \u30b3\u30e1\u30f3\u30c8\u304c\u9589\u3058\u3089\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-compiler.err.unclosed.str.lit=\
-    \u6587\u5b57\u5217\u30ea\u30c6\u30e9\u30eb\u304c\u9589\u3058\u3089\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-compiler.err.unknown.enum.constant=\
-    \u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb {0} \u5185: \u4e0d\u660e\u306a\u5217\u6319\u578b\u5b9a\u6570\u3067\u3059 {1}.{2}
-compiler.err.unsupported.encoding=\
-     \u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3067\u3059: {0}
-compiler.err.io.exception=\
-     \u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u53d6\u308a\u30a8\u30e9\u30fc\u3067\u3059: {0}
-compiler.err.undef.label=\
-    \u30e9\u30d9\u30eb {0} \u306f\u672a\u5b9a\u7fa9\u3067\u3059\u3002
-compiler.err.undetermined.type=\
-    {0} \u306e\u578b\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u5224\u5225\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.undetermined.type.1=\
-    \u578b\u30d1\u30e9\u30e1\u30fc\u30bf {0} \u3092\u5224\u5225\u3067\u304d\u307e\u305b\u3093; {1}
-compiler.err.unreachable.stmt=\
-    \u3053\u306e\u6587\u306b\u5236\u5fa1\u304c\u79fb\u308b\u3053\u3068\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.initializer.must.be.able.to.complete.normally=\
-    \u521d\u671f\u5316\u5b50\u306f\u6b63\u5e38\u306b\u5b8c\u4e86\u3067\u304d\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-compiler.err.unreported.exception.need.to.catch.or.throw=\
-    \u4f8b\u5916 {0} \u306f\u5831\u544a\u3055\u308c\u307e\u305b\u3093\u3002\u30b9\u30ed\u30fc\u3059\u308b\u306b\u306f\u30ad\u30e3\u30c3\u30c1\u307e\u305f\u306f\u3001\u30b9\u30ed\u30fc\u5ba3\u8a00\u3092\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-compiler.err.unreported.exception.default.constructor=\
-    \u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u5185\u306b\u5831\u544a\u3055\u308c\u306a\u3044\u4f8b\u5916 {0} \u304c\u5b58\u5728\u3057\u307e\u3059\u3002
-compiler.err.unsupported.cross.fp.lit=\
-    16 \u9032\u6d6e\u52d5\u5c0f\u6570\u70b9\u30ea\u30c6\u30e9\u30eb\u306f\u3053\u306e VM \u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-compiler.err.void.not.allowed.here=\
-    \u3053\u3053\u3067 ''void'' \u578b\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.unclosed.bytecode.ident=\u30d0\u30a4\u30c8\u30b3\u30fc\u30c9\u8b58\u5225\u5b50\u304c\u9589\u3058\u3089\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+compiler.err.unclosed.char.lit=\u6587\u5b57\u30ea\u30c6\u30e9\u30eb\u304c\u9589\u3058\u3089\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+compiler.err.unclosed.comment=\u30b3\u30e1\u30f3\u30c8\u304c\u9589\u3058\u3089\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+compiler.err.unclosed.str.lit=\u6587\u5b57\u5217\u30ea\u30c6\u30e9\u30eb\u304c\u9589\u3058\u3089\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+compiler.err.unknown.enum.constant=\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb {0} \u5185: \u4e0d\u660e\u306a\u5217\u6319\u578b\u5b9a\u6570\u3067\u3059 {1}.{2}
+compiler.err.unsupported.encoding=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3067\u3059: {0}
+compiler.err.io.exception=\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u53d6\u308a\u30a8\u30e9\u30fc\u3067\u3059: {0}
+compiler.err.undef.label=\u30e9\u30d9\u30eb {0} \u306f\u672a\u5b9a\u7fa9\u3067\u3059\u3002
+compiler.err.undetermined.type={0} \u306e\u578b\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u5224\u5225\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.undetermined.type.1=\u578b\u30d1\u30e9\u30e1\u30fc\u30bf {0} \u3092\u5224\u5225\u3067\u304d\u307e\u305b\u3093; {1}
+compiler.err.invalid.inferred.types={0} \u306e\u63a8\u5b9a\u3055\u308c\u305f\u578b\u304c\u4e0d\u6b63\u3067\u3059; {1}
+compiler.err.unreachable.stmt=\u3053\u306e\u6587\u306b\u5236\u5fa1\u304c\u79fb\u308b\u3053\u3068\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.err.initializer.must.be.able.to.complete.normally=\u521d\u671f\u5316\u5b50\u306f\u6b63\u5e38\u306b\u5b8c\u4e86\u3067\u304d\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+compiler.err.unreported.exception.need.to.catch.or.throw=\u4f8b\u5916 {0} \u306f\u5831\u544a\u3055\u308c\u307e\u305b\u3093\u3002\u30b9\u30ed\u30fc\u3059\u308b\u306b\u306f\u30ad\u30e3\u30c3\u30c1\u307e\u305f\u306f\u3001\u30b9\u30ed\u30fc\u5ba3\u8a00\u3092\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+compiler.err.unreported.exception.default.constructor=\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u5185\u306b\u5831\u544a\u3055\u308c\u306a\u3044\u4f8b\u5916 {0} \u304c\u5b58\u5728\u3057\u307e\u3059\u3002
+compiler.err.unsupported.cross.fp.lit=16 \u9032\u6d6e\u52d5\u5c0f\u6570\u70b9\u30ea\u30c6\u30e9\u30eb\u306f\u3053\u306e VM \u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+compiler.err.void.not.allowed.here=\u3053\u3053\u3067 ''void'' \u578b\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
 
-compiler.err.wrong.number.type.args=\
-    \u578b\u5f15\u6570\u306e\u6570\u304c\u4e0d\u6b63\u3067\u3059\u3002{0} \u500b\u5fc5\u8981\u3067\u3059\u3002
+compiler.err.wrong.number.type.args=\u578b\u5f15\u6570\u306e\u6570\u304c\u4e0d\u6b63\u3067\u3059\u3002{0} \u500b\u5fc5\u8981\u3067\u3059\u3002
 
-compiler.err.var.might.already.be.assigned=\
-    \u5909\u6570 {0} \u306f\u3059\u3067\u306b\u4ee3\u5165\u3055\u308c\u3066\u3044\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
-compiler.err.var.might.not.have.been.initialized=\
-    \u5909\u6570 {0} \u306f\u521d\u671f\u5316\u3055\u308c\u3066\u3044\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
-compiler.err.var.might.be.assigned.in.loop=\
-    \u5909\u6570 {0} \u306f\u30eb\u30fc\u30d7\u5185\u3067\u4ee3\u5165\u3055\u308c\u3066\u3044\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+compiler.err.var.might.already.be.assigned=\u5909\u6570 {0} \u306f\u3059\u3067\u306b\u4ee3\u5165\u3055\u308c\u3066\u3044\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+compiler.err.var.might.not.have.been.initialized=\u5909\u6570 {0} \u306f\u521d\u671f\u5316\u3055\u308c\u3066\u3044\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+compiler.err.var.might.be.assigned.in.loop=\u5909\u6570 {0} \u306f\u30eb\u30fc\u30d7\u5185\u3067\u4ee3\u5165\u3055\u308c\u3066\u3044\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
 
 # In the following string, {1} will always be the detail message from
 # java.io.IOException.
-compiler.err.class.cant.write=\
-    {0} \u306e\u66f8\u304d\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002{1}
+compiler.err.class.cant.write={0} \u306e\u66f8\u304d\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002{1}
 
 # In the following string, {0} is the name of the class in the Java source.
 # It really should be used two times..
-compiler.err.class.public.should.be.in.file=\
-    \u30af\u30e9\u30b9 {0} \u306f public \u3067\u3042\u308a\u3001\u30d5\u30a1\u30a4\u30eb {0}.java \u3067\u5ba3\u8a00\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+compiler.err.class.public.should.be.in.file=\u30af\u30e9\u30b9 {0} \u306f public \u3067\u3042\u308a\u3001\u30d5\u30a1\u30a4\u30eb {0}.java \u3067\u5ba3\u8a00\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
 
 ## All errors which do not refer to a particular line in the source code are
 ## preceded by this string.
-compiler.err.error=\
-    \u30a8\u30e9\u30fc:
+compiler.err.error=\u30a8\u30e9\u30fc: 
 
 # The following error messages do not refer to a line in the source code.
-compiler.err.cant.read.file=\
-    {0} \u3092\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3002
+compiler.err.cant.read.file={0} \u3092\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3002
 
 #####
 
 # Fatal Errors
 
-compiler.misc.fatal.err.no.java.lang=\
-    \u81f4\u547d\u7684\u30a8\u30e9\u30fc: \u30af\u30e9\u30b9\u30d1\u30b9\u307e\u305f\u306f\u30d6\u30fc\u30c8\u30af\u30e9\u30b9\u30d1\u30b9\u3067\u30d1\u30c3\u30b1\u30fc\u30b8 java.lang \u3092\u691c\u51fa\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.misc.fatal.err.cant.locate.meth=\
-    \u81f4\u547d\u7684\u30a8\u30e9\u30fc: \u30e1\u30bd\u30c3\u30c9 {0} \u3092\u691c\u51fa\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.misc.fatal.err.cant.locate.field=\
-    \u81f4\u547d\u7684\u30a8\u30e9\u30fc: \u30d5\u30a3\u30fc\u30eb\u30c9 {0} \u3092\u691c\u51fa\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.misc.fatal.err.cant.locate.ctor=\
-    \u81f4\u547d\u7684\u30a8\u30e9\u30fc: {0} \u306e\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3092\u691c\u51fa\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.misc.fatal.err.no.java.lang=\u81f4\u547d\u7684\u30a8\u30e9\u30fc: \u30af\u30e9\u30b9\u30d1\u30b9\u307e\u305f\u306f\u30d6\u30fc\u30c8\u30af\u30e9\u30b9\u30d1\u30b9\u3067\u30d1\u30c3\u30b1\u30fc\u30b8 java.lang \u3092\u691c\u51fa\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.misc.fatal.err.cant.locate.meth=\u81f4\u547d\u7684\u30a8\u30e9\u30fc: \u30e1\u30bd\u30c3\u30c9 {0} \u3092\u691c\u51fa\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.misc.fatal.err.cant.locate.field=\u81f4\u547d\u7684\u30a8\u30e9\u30fc: \u30d5\u30a3\u30fc\u30eb\u30c9 {0} \u3092\u691c\u51fa\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.misc.fatal.err.cant.locate.ctor=\u81f4\u547d\u7684\u30a8\u30e9\u30fc: {0} \u306e\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3092\u691c\u51fa\u3067\u304d\u307e\u305b\u3093\u3002
 
 #####
 
@@ -503,107 +312,81 @@
 ## miscellaneous strings
 ##
 
-compiler.misc.source.unavailable=\
-    (\u30bd\u30fc\u30b9\u304c\u5229\u7528\u4e0d\u53ef)
-compiler.misc.base.membership=\
-    \u3059\u3079\u3066\u306e\u57fa\u5e95\u30af\u30e9\u30b9\u304c\u3001\u30e1\u30f3\u30d0\u3067\u3059\u3002
-compiler.misc.x.print.processor.info=\
-    \u30d7\u30ed\u30bb\u30c3\u30b5 {0} \u306f {1} \u306b\u4e00\u81f4\u3057\u3001{2} \u3092\u8fd4\u3057\u307e\u3059\u3002
-compiler.misc.x.print.rounds=\
-    \u5f80\u5fa9 {0}:\n\t\u5165\u529b\u30d5\u30a1\u30a4\u30eb: {1}\n\t\u6ce8\u91c8: {2}\n\t\u6700\u5f8c\u306e\u5f80\u5fa9: {3}
+compiler.misc.source.unavailable=(\u30bd\u30fc\u30b9\u304c\u5229\u7528\u4e0d\u53ef)
+compiler.misc.base.membership=\u3059\u3079\u3066\u306e\u57fa\u5e95\u30af\u30e9\u30b9\u304c\u3001\u30e1\u30f3\u30d0\u3067\u3059\u3002
+compiler.misc.x.print.processor.info=\u30d7\u30ed\u30bb\u30c3\u30b5 {0} \u306f {1} \u306b\u4e00\u81f4\u3057\u3001{2} \u3092\u8fd4\u3057\u307e\u3059\u3002
+compiler.misc.x.print.rounds=\u5f80\u5fa9 {0}:\n\t\u5165\u529b\u30d5\u30a1\u30a4\u30eb: {1}\n\t\u6ce8\u91c8: {2}\n\t\u6700\u5f8c\u306e\u5f80\u5fa9: {3}
 
 #####
 
 ## The following string will appear before all messages keyed as:
 ## "compiler.note".
-compiler.note.note=\
-    \u6ce8:
+compiler.note.note=\u6ce8: 
 
-compiler.note.deprecated.filename=\
-    {0} \u306f\u63a8\u5968\u3055\u308c\u306a\u3044 API \u3092\u4f7f\u7528\u307e\u305f\u306f\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u3066\u3044\u307e\u3059\u3002
-compiler.note.deprecated.plural=\
-    \u4e00\u90e8\u306e\u5165\u529b\u30d5\u30a1\u30a4\u30eb\u306f\u63a8\u5968\u3055\u308c\u306a\u3044 API \u3092\u4f7f\u7528\u307e\u305f\u306f\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u3066\u3044\u307e\u3059\u3002
+compiler.note.deprecated.filename={0} \u306f\u63a8\u5968\u3055\u308c\u306a\u3044 API \u3092\u4f7f\u7528\u307e\u305f\u306f\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u3066\u3044\u307e\u3059\u3002
+compiler.note.deprecated.plural=\u4e00\u90e8\u306e\u5165\u529b\u30d5\u30a1\u30a4\u30eb\u306f\u63a8\u5968\u3055\u308c\u306a\u3044 API \u3092\u4f7f\u7528\u307e\u305f\u306f\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u3066\u3044\u307e\u3059\u3002
 # The following string may appear after one of the above deprecation
 # messages.
-compiler.note.deprecated.recompile=\
-    \u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001-Xlint:deprecation \u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u6307\u5b9a\u3057\u3066\u518d\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+compiler.note.deprecated.recompile=\u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001-Xlint:deprecation \u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u6307\u5b9a\u3057\u3066\u518d\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+
+compiler.note.deprecated.filename.additional={0} \u306b\u63a8\u5968\u3055\u308c\u306a\u3044 API \u306e\u8ffd\u52a0\u4f7f\u7528\u307e\u305f\u306f\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u304c\u3042\u308a\u307e\u3059\u3002
+compiler.note.deprecated.plural.additional=\u4e00\u90e8\u306e\u5165\u529b\u30d5\u30a1\u30a4\u30eb\u306f\u63a8\u5968\u3055\u308c\u306a\u3044 API \u3092\u8ffd\u52a0\u4f7f\u7528\u307e\u305f\u306f\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u3066\u3044\u307e\u3059\u3002
+
+compiler.note.unchecked.filename={0} \u306e\u64cd\u4f5c\u306f\u3001\u672a\u30c1\u30a7\u30c3\u30af\u307e\u305f\u306f\u5b89\u5168\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.note.unchecked.plural=\u5165\u529b\u30d5\u30a1\u30a4\u30eb\u306e\u64cd\u4f5c\u306e\u3046\u3061\u3001\u672a\u30c1\u30a7\u30c3\u30af\u307e\u305f\u306f\u5b89\u5168\u3067\u306f\u306a\u3044\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002
+# The following string may appear after one of the above deprecation
+# messages.
+compiler.note.unchecked.recompile=\u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001-Xlint:unchecked \u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u6307\u5b9a\u3057\u3066\u518d\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u3066\u304f\u3060\u3055\u3044\u3002
 
-compiler.note.deprecated.filename.additional=\
-    {0} \u306b\u63a8\u5968\u3055\u308c\u306a\u3044 API \u306e\u8ffd\u52a0\u4f7f\u7528\u307e\u305f\u306f\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u304c\u3042\u308a\u307e\u3059\u3002
-compiler.note.deprecated.plural.additional=\
-    \u4e00\u90e8\u306e\u5165\u529b\u30d5\u30a1\u30a4\u30eb\u306f\u63a8\u5968\u3055\u308c\u306a\u3044 API \u3092\u8ffd\u52a0\u4f7f\u7528\u307e\u305f\u306f\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u3066\u3044\u307e\u3059\u3002
+compiler.note.unchecked.filename.additional={0} \u306b\u672a\u30c1\u30a7\u30c3\u30af\u307e\u305f\u306f\u5b89\u5168\u3067\u306f\u306a\u3044\u64cd\u4f5c\u304c\u3055\u3089\u306b\u3042\u308a\u307e\u3059\u3002
+compiler.note.unchecked.plural.additional=\u5165\u529b\u30d5\u30a1\u30a4\u30eb\u306e\u64cd\u4f5c\u306e\u3046\u3061\u3001\u672a\u30c1\u30a7\u30c3\u30af\u307e\u305f\u306f\u5b89\u5168\u3067\u306f\u306a\u3044\u3082\u306e\u304c\u3055\u3089\u306b\u3042\u308a\u307e\u3059\u3002
+
+compiler.note.sunapi.filename={0} \u306f\u4eca\u5f8c\u306e\u30ea\u30ea\u30fc\u30b9\u3067\u524a\u9664\u3055\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\u3001Sun \u304c\u6240\u6709\u3059\u308b API \u3092\u4f7f\u7528\u3057\u307e\u3059\u3002
+compiler.note.sunapi.plural=\u4e00\u90e8\u306e\u5165\u529b\u30d5\u30a1\u30a4\u30eb\u306f\u4eca\u5f8c\u306e\u30ea\u30ea\u30fc\u30b9\u3067\u524a\u9664\u3055\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\u3001Sun \u304c\u6240\u6709\u3059\u308b API \u3092\u4f7f\u7528\u3057\u307e\u3059\u3002
+# The following string may appear after one of the above sunapi messages.
+compiler.note.sunapi.recompile=\u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001-Xlint:sunapi \u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u6307\u5b9a\u3057\u3066\u518d\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+
+compiler.note.sunapi.filename.additional={0} \u306f\u4eca\u5f8c\u306e\u30ea\u30ea\u30fc\u30b9\u3067\u524a\u9664\u3055\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\u3001Sun \u304c\u6240\u6709\u3059\u308b API \u3092\u4f7f\u7528\u3057\u307e\u3059\u3002
+compiler.note.sunapi.plural.additional=\u4e00\u90e8\u306e\u5165\u529b\u30d5\u30a1\u30a4\u30eb\u306f\u4eca\u5f8c\u306e\u30ea\u30ea\u30fc\u30b9\u3067\u524a\u9664\u3055\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\u3001Sun \u304c\u6240\u6709\u3059\u308b API \u3092\u8ffd\u52a0\u3067\u4f7f\u7528\u3057\u307e\u3059\u3002
 
 # Notes related to annotation processing
 
 # Print a client-generated note; assumed to be localized, no translation required
-compiler.note.proc.messager=\
-    {0}
-
-compiler.note.unchecked.filename=\
-    {0} \u306e\u64cd\u4f5c\u306f\u3001\u672a\u30c1\u30a7\u30c3\u30af\u307e\u305f\u306f\u5b89\u5168\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.note.unchecked.plural=\
-    \u5165\u529b\u30d5\u30a1\u30a4\u30eb\u306e\u64cd\u4f5c\u306e\u3046\u3061\u3001\u672a\u30c1\u30a7\u30c3\u30af\u307e\u305f\u306f\u5b89\u5168\u3067\u306f\u306a\u3044\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002
-# The following string may appear after one of the above deprecation
-# messages.
-compiler.note.unchecked.recompile=\
-    \u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001-Xlint:unchecked \u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u6307\u5b9a\u3057\u3066\u518d\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-
-compiler.note.unchecked.filename.additional=\
-    {0} \u306b\u672a\u30c1\u30a7\u30c3\u30af\u307e\u305f\u306f\u5b89\u5168\u3067\u306f\u306a\u3044\u64cd\u4f5c\u304c\u3055\u3089\u306b\u3042\u308a\u307e\u3059\u3002
-compiler.note.unchecked.plural.additional=\
-    \u5165\u529b\u30d5\u30a1\u30a4\u30eb\u306e\u64cd\u4f5c\u306e\u3046\u3061\u3001\u672a\u30c1\u30a7\u30c3\u30af\u307e\u305f\u306f\u5b89\u5168\u3067\u306f\u306a\u3044\u3082\u306e\u304c\u3055\u3089\u306b\u3042\u308a\u307e\u3059\u3002
+compiler.note.proc.messager={0}
 
 #####
 
-compiler.misc.count.error=\
-    \u30a8\u30e9\u30fc {0} \u500b
-compiler.misc.count.error.plural=\
-    \u30a8\u30e9\u30fc {0} \u500b
-compiler.misc.count.warn=\
-    \u8b66\u544a {0} \u500b
-compiler.misc.count.warn.plural=\
-    \u8b66\u544a {0} \u500b
+compiler.misc.count.error=\u30a8\u30e9\u30fc {0} \u500b
+compiler.misc.count.error.plural=\u30a8\u30e9\u30fc {0} \u500b
+compiler.misc.count.warn=\u8b66\u544a {0} \u500b
+compiler.misc.count.warn.plural=\u8b66\u544a {0} \u500b
 
 ## extra output when using -verbose (JavaCompiler)
 
-compiler.misc.verbose.checking.attribution=\
-    [{0} \u3092\u78ba\u8a8d\u4e2d]
-compiler.misc.verbose.parsing.done=\
-    [{0}ms \u3067\u69cb\u6587\u89e3\u6790\u5b8c\u4e86]
-compiler.misc.verbose.parsing.started=\
-    [{0} \u3092\u69cb\u6587\u89e3\u6790\u958b\u59cb]
-compiler.misc.verbose.total=\
-    [\u5408\u8a08 {0}ms]
-compiler.misc.verbose.wrote.file=\
-    [{0} \u3092\u66f8\u304d\u8fbc\u307f\u5b8c\u4e86]
+compiler.misc.verbose.checking.attribution=[{0} \u3092\u78ba\u8a8d\u4e2d]
+compiler.misc.verbose.parsing.done=[{0}ms \u3067\u69cb\u6587\u89e3\u6790\u5b8c\u4e86]
+compiler.misc.verbose.parsing.started=[{0} \u3092\u69cb\u6587\u89e3\u6790\u958b\u59cb]
+compiler.misc.verbose.total=[\u5408\u8a08 {0}ms]
+compiler.misc.verbose.wrote.file=[{0} \u3092\u66f8\u304d\u8fbc\u307f\u5b8c\u4e86]
 
 ## extra output when using -verbose (Retro)
-compiler.misc.verbose.retro=\
-    [{0} \u3092\u7d44\u307f\u66ff\u3048\u4e2d]
-compiler.misc.verbose.retro.with=\
-    \{0} \u3092 {1} \u3067\u7d44\u307f\u66ff\u3048\u4e2d\u3067\u3059\u3002
-compiler.misc.verbose.retro.with.list=\
-    \{0} \u3092\u578b\u30d1\u30e9\u30e1\u30fc\u30bf {1}\u3001\u30b9\u30fc\u30d1\u30fc\u30bf\u30a4\u30d7 {2}\u3001\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9 {3} \u3067\u7d44\u307f\u66ff\u3048\u4e2d\u3067\u3059\u3002
+compiler.misc.verbose.retro=[{0} \u3092\u7d44\u307f\u66ff\u3048\u4e2d]
+compiler.misc.verbose.retro.with=\{0} \u3092 {1} \u3067\u7d44\u307f\u66ff\u3048\u4e2d\u3067\u3059\u3002
+compiler.misc.verbose.retro.with.list=\{0} \u3092\u578b\u30d1\u30e9\u30e1\u30fc\u30bf {1}\u3001\u30b9\u30fc\u30d1\u30fc\u30bf\u30a4\u30d7 {2}\u3001\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9 {3} \u3067\u7d44\u307f\u66ff\u3048\u4e2d\u3067\u3059\u3002
 
 ## extra output when using -verbose (code/ClassReader)
-compiler.misc.verbose.loading=\
-    [{0} \u3092\u8aad\u307f\u8fbc\u307f\u4e2d]
+compiler.misc.verbose.loading=[{0} \u3092\u8aad\u307f\u8fbc\u307f\u4e2d]
 
-compiler.misc.verbose.sourcepath=\
-    [\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u691c\u7d22\u30d1\u30b9: {0}]
+compiler.misc.verbose.sourcepath=[\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u691c\u7d22\u30d1\u30b9: {0}]
 
-compiler.misc.verbose.classpath=\
-    [\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u691c\u7d22\u30d1\u30b9: {0}]
+compiler.misc.verbose.classpath=[\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u691c\u7d22\u30d1\u30b9: {0}]
 
 ## extra output when using -checkclassfile (code/ClassReader)
-compiler.misc.ccf.found.later.version=\
-   \u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb {0} \u306b\u4e88\u60f3\u5916\u306e\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u3042\u308a\u307e\u3059\u3002
-compiler.misc.ccf.unrecognized.attribute=\
-   {0} \u306f\u8a8d\u8b58\u3055\u308c\u306a\u3044\u5c5e\u6027\u3067\u3059\u3002
+compiler.misc.ccf.found.later.version=\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb {0} \u306b\u4e88\u60f3\u5916\u306e\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u3042\u308a\u307e\u3059\u3002
+compiler.misc.ccf.unrecognized.attribute={0} \u306f\u8a8d\u8b58\u3055\u308c\u306a\u3044\u5c5e\u6027\u3067\u3059\u3002
 
 ## extra output when using -prompt (util/Log)
-compiler.misc.resume.abort=\
-    R)\u518d\u958b, A)\u4e2d\u6b62>
+compiler.misc.resume.abort=R)\u518d\u958b, A)\u4e2d\u6b62>
 
 #####
 
@@ -612,165 +395,109 @@
 ##
 
 ## All warning messages are preceded by the following string.
-compiler.warn.warning=\
-    \u8b66\u544a:
+compiler.warn.warning=\u8b66\u544a: 
 
-compiler.warn.constant.SVUID=\
-    [serial] serialVersionUID \u306f\u30af\u30e9\u30b9 {0} \u306e\u5b9a\u6570\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+compiler.warn.constant.SVUID=[serial] serialVersionUID \u306f\u30af\u30e9\u30b9 {0} \u306e\u5b9a\u6570\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
 
-compiler.warn.dir.path.element.not.found=\
-    [path] \u4e0d\u6b63\u306a\u30d1\u30b9\u8981\u7d20 "{0}": \u305d\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
+compiler.warn.dir.path.element.not.found=[path] \u4e0d\u6b63\u306a\u30d1\u30b9\u8981\u7d20 "{0}": \u305d\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
 
-compiler.warn.finally.cannot.complete=\
-    [finally] finally \u7bc0\u304c\u6b63\u5e38\u306b\u5b8c\u4e86\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.warn.finally.cannot.complete=[finally] finally \u7bc0\u304c\u6b63\u5e38\u306b\u5b8c\u4e86\u3067\u304d\u307e\u305b\u3093\u3002
 
-compiler.warn.has.been.deprecated=\
-    [deprecation] {1} \u306e {0} \u306f\u63a8\u5968\u3055\u308c\u307e\u305b\u3093\u3002
+compiler.warn.has.been.deprecated=[deprecation] {1} \u306e {0} \u306f\u63a8\u5968\u3055\u308c\u307e\u305b\u3093\u3002
+
+compiler.warn.sun.proprietary={0} \u306f Sun \u304c\u6240\u6709\u3059\u308b API \u3067\u3042\u308a\u3001\u4eca\u5f8c\u306e\u30ea\u30ea\u30fc\u30b9\u3067\u524a\u9664\u3055\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059
 
-compiler.warn.illegal.char.for.encoding=\
-    \u3053\u306e\u6587\u5b57\u306f\u3001\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0 {0} \u306b\u30de\u30c3\u30d7\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.warn.improper.SVUID=\
-    [serial] serialVersionUID \u306f\u3001\u30af\u30e9\u30b9 {0} \u306b static \u30d5\u30a1\u30a4\u30ca\u30eb\u3092\u5ba3\u8a00\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
+compiler.warn.illegal.char.for.encoding=\u3053\u306e\u6587\u5b57\u306f\u3001\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0 {0} \u306b\u30de\u30c3\u30d7\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.warn.improper.SVUID=[serial] serialVersionUID \u306f\u3001\u30af\u30e9\u30b9 {0} \u306b static \u30d5\u30a1\u30a4\u30ca\u30eb\u3092\u5ba3\u8a00\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
 
-compiler.warn.inexact.non-varargs.call=\
-\u6700\u7d42\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u4e0d\u6b63\u78ba\u306a\u5f15\u6570\u578b\u3092\u6301\u3063\u305f\u53ef\u5909\u5f15\u6570\u30e1\u30bd\u30c3\u30c9\u306e\u975e\u53ef\u5909\u5f15\u6570\u547c\u3073\u51fa\u3057;\n\
-\u53ef\u5909\u5f15\u6570\u547c\u3073\u51fa\u3057\u306b\u95a2\u3057\u3066\u306f {0} \u306b\u30ad\u30e3\u30b9\u30c8\u3057\u307e\u3059\u3002\n\
-\u975e\u53ef\u5909\u5f15\u6570\u547c\u3073\u51fa\u3057\u306b\u95a2\u3057\u3066\u306f {1} \u306b\u30ad\u30e3\u30b9\u30c8\u3057\u3066\u3053\u306e\u8b66\u544a\u3092\u51fa\u3055\u306a\u3044\u3088\u3046\u306b\u3057\u307e\u3059\u3002
+compiler.warn.inexact.non-varargs.call=\u6700\u7d42\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u4e0d\u6b63\u78ba\u306a\u5f15\u6570\u578b\u3092\u6301\u3063\u305f\u53ef\u5909\u5f15\u6570\u30e1\u30bd\u30c3\u30c9\u306e\u975e\u53ef\u5909\u5f15\u6570\u547c\u3073\u51fa\u3057;\n\u53ef\u5909\u5f15\u6570\u547c\u3073\u51fa\u3057\u306b\u95a2\u3057\u3066\u306f {0} \u306b\u30ad\u30e3\u30b9\u30c8\u3057\u307e\u3059\u3002\n\u975e\u53ef\u5909\u5f15\u6570\u547c\u3073\u51fa\u3057\u306b\u95a2\u3057\u3066\u306f {1} \u306b\u30ad\u30e3\u30b9\u30c8\u3057\u3066\u3053\u306e\u8b66\u544a\u3092\u51fa\u3055\u306a\u3044\u3088\u3046\u306b\u3057\u307e\u3059\u3002
 
-compiler.warn.long.SVUID=\
-    [serial] serialVersionUID \u306f\u3001\u30af\u30e9\u30b9 {0} \u306e long \u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+compiler.warn.long.SVUID=[serial] serialVersionUID \u306f\u3001\u30af\u30e9\u30b9 {0} \u306e long \u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
 
-compiler.warn.missing.SVUID=\
-    [serial] \u76f4\u5217\u5316\u53ef\u80fd\u306a\u30af\u30e9\u30b9 {0} \u306b\u306f\u3001serialVersionUID \u304c\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+compiler.warn.missing.SVUID=[serial] \u76f4\u5217\u5316\u53ef\u80fd\u306a\u30af\u30e9\u30b9 {0} \u306b\u306f\u3001serialVersionUID \u304c\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
 
-compiler.warn.override.varargs.missing=\
-    {0}; \u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3055\u308c\u305f\u30e1\u30bd\u30c3\u30c9\u306b\u306f ''...'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.warn.override.varargs.extra=\
-    {0}; \u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u3066\u3044\u308b\u30e1\u30bd\u30c3\u30c9\u306b\u306f ''...'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.warn.override.bridge=\
-    {0}; \u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3055\u308c\u305f\u30e1\u30bd\u30c3\u30c9\u306f\u30d6\u30ea\u30c3\u30b8\u30e1\u30bd\u30c3\u30c9\u3067\u3059\u3002
+compiler.warn.override.varargs.missing={0}; \u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3055\u308c\u305f\u30e1\u30bd\u30c3\u30c9\u306b\u306f ''...'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.warn.override.varargs.extra={0}; \u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u3066\u3044\u308b\u30e1\u30bd\u30c3\u30c9\u306b\u306f ''...'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.warn.override.bridge={0}; \u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3055\u308c\u305f\u30e1\u30bd\u30c3\u30c9\u306f\u30d6\u30ea\u30c3\u30b8\u30e1\u30bd\u30c3\u30c9\u3067\u3059\u3002
 
-compiler.warn.pkg-info.already.seen=\
-    [package-info] package-info.java \u30d5\u30a1\u30a4\u30eb\u304c\u3059\u3067\u306b\u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u7528\u306b\u8868\u793a\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-compiler.warn.path.element.not.found=\
-    [path] \u4e0d\u6b63\u306a\u30d1\u30b9\u8981\u7d20 "{0}": \u305d\u306e\u30d5\u30a1\u30a4\u30eb\u307e\u305f\u306f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.warn.possible.fall-through.into.case=\
-    [fallthrough] case \u306b fall-through \u3059\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+compiler.warn.pkg-info.already.seen=[package-info] package-info.java \u30d5\u30a1\u30a4\u30eb\u304c\u3059\u3067\u306b\u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u7528\u306b\u8868\u793a\u3055\u308c\u3066\u3044\u307e\u3059\u3002
+compiler.warn.path.element.not.found=[path] \u4e0d\u6b63\u306a\u30d1\u30b9\u8981\u7d20 "{0}": \u305d\u306e\u30d5\u30a1\u30a4\u30eb\u307e\u305f\u306f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.warn.possible.fall-through.into.case=[fallthrough] case \u306b fall-through \u3059\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
 
-compiler.warn.redundant.cast=\
-    [cast] {0} \u3078\u306e\u5197\u9577\u306a\u30ad\u30e3\u30b9\u30c8\u3067\u3059
+compiler.warn.redundant.cast=[cast] {0} \u3078\u306e\u5197\u9577\u306a\u30ad\u30e3\u30b9\u30c8\u3067\u3059
 
-compiler.warn.position.overflow=\
-    \u4f4d\u7f6e\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u304c\u884c {0} \u3067\u30aa\u30fc\u30d0\u30fc\u30d5\u30ed\u30fc\u3057\u307e\u3059
+compiler.warn.position.overflow=\u4f4d\u7f6e\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u304c\u884c {0} \u3067\u30aa\u30fc\u30d0\u30fc\u30d5\u30ed\u30fc\u3057\u307e\u3059
 
-compiler.warn.big.major.version=\
-    {0}: \u30e1\u30b8\u30e3\u30fc\u30d0\u30fc\u30b8\u30e7\u30f3 {1} \u306f\u3001\u3053\u306e\u30b3\u30f3\u30d1\u30a4\u30e9\u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u308b\u6700\u65b0\u306e\u30e1\u30b8\u30e3\u30fc\u30d0\u30fc\u30b8\u30e7\u30f3 {2} \u3088\u308a\u65b0\u3057\u3044\u3067\u3059\u3002\n\
-    \u30b3\u30f3\u30d1\u30a4\u30e9\u306e\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3092\u304a\u52e7\u3081\u3057\u307e\u3059\u3002
+compiler.warn.big.major.version={0}: \u30e1\u30b8\u30e3\u30fc\u30d0\u30fc\u30b8\u30e7\u30f3 {1} \u306f\u3001\u3053\u306e\u30b3\u30f3\u30d1\u30a4\u30e9\u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u308b\u6700\u65b0\u306e\u30e1\u30b8\u30e3\u30fc\u30d0\u30fc\u30b8\u30e7\u30f3 {2} \u3088\u308a\u65b0\u3057\u3044\u3067\u3059\u3002\n\u30b3\u30f3\u30d1\u30a4\u30e9\u306e\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3092\u304a\u52e7\u3081\u3057\u307e\u3059\u3002
 
 # Warnings related to annotation processing
-compiler.warn.proc.package.does.not.exist=\
-    \u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u306f\u5b58\u5728\u3057\u307e\u305b\u3093
-compiler.warn.proc.file.reopening=\
-    ''{0}'' \u7528\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8907\u6570\u56de\u4f5c\u6210\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059
+compiler.warn.proc.package.does.not.exist=\u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u306f\u5b58\u5728\u3057\u307e\u305b\u3093
+compiler.warn.proc.file.reopening=''{0}'' \u7528\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8907\u6570\u56de\u4f5c\u6210\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059
 
-compiler.warn.proc.type.already.exists=\
-    \u30bf\u30a4\u30d7 ''{0}'' \u306e\u30d5\u30a1\u30a4\u30eb\u306f\u65e2\u306b\u30bd\u30fc\u30b9\u30d1\u30b9\u3082\u3057\u304f\u306f\u30af\u30e9\u30b9\u30d1\u30b9\u306b\u5b58\u5728\u3057\u307e\u3059
+compiler.warn.proc.type.already.exists=\u30bf\u30a4\u30d7 ''{0}'' \u306e\u30d5\u30a1\u30a4\u30eb\u306f\u65e2\u306b\u30bd\u30fc\u30b9\u30d1\u30b9\u3082\u3057\u304f\u306f\u30af\u30e9\u30b9\u30d1\u30b9\u306b\u5b58\u5728\u3057\u307e\u3059
 
-compiler.warn.proc.type.recreate=\
-    \u30bf\u30a4\u30d7 ''{0}'' \u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8907\u6570\u56de\u4f5c\u6210\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059
+compiler.warn.proc.type.recreate=\u30bf\u30a4\u30d7 ''{0}'' \u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8907\u6570\u56de\u4f5c\u6210\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059
 
-compiler.warn.proc.illegal.file.name=\
-    \u7121\u52b9\u306a\u540d\u524d ''{0}'' \u306e\u30d5\u30a1\u30a4\u30eb\u306f\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.warn.proc.illegal.file.name=\u7121\u52b9\u306a\u540d\u524d ''{0}'' \u306e\u30d5\u30a1\u30a4\u30eb\u306f\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002
 
-compiler.warn.proc.file.create.last.round=\
-    \u6700\u5f8c\u306b\u4f5c\u6210\u3055\u308c\u305f\u30bf\u30a4\u30d7 ''{0}'' \u306e\u30d5\u30a1\u30a4\u30eb\u306f\u6ce8\u91c8\u51e6\u7406\u306b\u6e21\u3055\u308c\u307e\u305b\u3093\u3002
+compiler.warn.proc.file.create.last.round=\u6700\u5f8c\u306b\u4f5c\u6210\u3055\u308c\u305f\u30bf\u30a4\u30d7 ''{0}'' \u306e\u30d5\u30a1\u30a4\u30eb\u306f\u6ce8\u91c8\u51e6\u7406\u306b\u6e21\u3055\u308c\u307e\u305b\u3093\u3002
 
-compiler.warn.proc.malformed.supported.string=\
-    \u30d7\u30ed\u30bb\u30c3\u30b5 ''{1}'' \u304c\u8fd4\u3057\u305f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u308b\u6ce8\u91c8\u578b\u306e\u6587\u5b57\u5217 ''{0}'' \u304c\u4e0d\u6b63\u3067\u3059
+compiler.warn.proc.malformed.supported.string=\u30d7\u30ed\u30bb\u30c3\u30b5 ''{1}'' \u304c\u8fd4\u3057\u305f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u308b\u6ce8\u91c8\u578b\u306e\u6587\u5b57\u5217 ''{0}'' \u304c\u4e0d\u6b63\u3067\u3059
 
-compiler.warn.proc.annotations.without.processors=\
-    \u3053\u308c\u3089\u306e\u6ce8\u91c8\u3092\u8981\u6c42\u3059\u308b\u30d7\u30ed\u30bb\u30c3\u30b5\u306f\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f: {0}
+compiler.warn.proc.annotations.without.processors=\u3053\u308c\u3089\u306e\u6ce8\u91c8\u3092\u8981\u6c42\u3059\u308b\u30d7\u30ed\u30bb\u30c3\u30b5\u306f\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f: {0}
 
-compiler.warn.proc.processor.incompatible.source.version=\
-    \u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5 ''{1}'' \u304b\u3089 -source ''{2}'' \u3088\u308a\u5c0f\u3055\u3044\u30bd\u30fc\u30b9\u30d0\u30fc\u30b8\u30e7\u30f3 ''{0}'' \u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u3059
+compiler.warn.proc.processor.incompatible.source.version=\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5 ''{1}'' \u304b\u3089 -source ''{2}'' \u3088\u308a\u5c0f\u3055\u3044\u30bd\u30fc\u30b9\u30d0\u30fc\u30b8\u30e7\u30f3 ''{0}'' \u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u3059
 
-compiler.warn.proc.proc-only.requested.no.procs=\
-    \u30b3\u30f3\u30d1\u30a4\u30eb\u306a\u3057\u306e\u6ce8\u91c8\u51e6\u7406\u304c\u8981\u6c42\u3055\u308c\u307e\u3057\u305f\u304c\u3001\u30d7\u30ed\u30bb\u30c3\u30b5\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+compiler.warn.proc.proc-only.requested.no.procs=\u30b3\u30f3\u30d1\u30a4\u30eb\u306a\u3057\u306e\u6ce8\u91c8\u51e6\u7406\u304c\u8981\u6c42\u3055\u308c\u307e\u3057\u305f\u304c\u3001\u30d7\u30ed\u30bb\u30c3\u30b5\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
 
-compiler.warn.proc.use.implicit=\
-\u6697\u9ed9\u7684\u306b\u30b3\u30f3\u30d1\u30a4\u30eb\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u306f\u6ce8\u91c8\u51e6\u7406\u306b\u6e21\u3055\u308c\u307e\u305b\u3093\u3002\n\
--implicit \u3092\u4f7f\u7528\u3057\u6697\u9ed9\u7684\u30b3\u30f3\u30d1\u30a4\u30eb\u306e\u30dd\u30ea\u30b7\u30fc\u3092\u6307\u5b9a\u3057\u3066\u4e0b\u3055\u3044\u3002
+compiler.warn.proc.use.implicit=\u6697\u9ed9\u7684\u306b\u30b3\u30f3\u30d1\u30a4\u30eb\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u306f\u6ce8\u91c8\u51e6\u7406\u306b\u6e21\u3055\u308c\u307e\u305b\u3093\u3002\n-implicit \u3092\u4f7f\u7528\u3057\u6697\u9ed9\u7684\u30b3\u30f3\u30d1\u30a4\u30eb\u306e\u30dd\u30ea\u30b7\u30fc\u3092\u6307\u5b9a\u3057\u3066\u4e0b\u3055\u3044\u3002
 
-compiler.warn.proc.use.proc.or.implicit=\
-\u6697\u9ed9\u7684\u306b\u30b3\u30f3\u30d1\u30a4\u30eb\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u306f\u6ce8\u91c8\u51e6\u7406\u306b\u6e21\u3055\u308c\u307e\u305b\u3093\u3002\n\
--proc:none \u3092\u4f7f\u7528\u3057\u6ce8\u91c8\u51e6\u7406\u3092\u7121\u52b9\u306b\u3059\u308b\u304b -implicit \u3092\u4f7f\u7528\u3057\u6697\u9ed9\u7684\u30b3\u30f3\u30d1\u30a4\u30eb\u306e\u30dd\u30ea\u30b7\u30fc\u3092\u6307\u5b9a\u3057\u3066\u4e0b\u3055\u3044\u3002
+compiler.warn.proc.use.proc.or.implicit=\u6697\u9ed9\u7684\u306b\u30b3\u30f3\u30d1\u30a4\u30eb\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u306f\u6ce8\u91c8\u51e6\u7406\u306b\u6e21\u3055\u308c\u307e\u305b\u3093\u3002\n-proc:none \u3092\u4f7f\u7528\u3057\u6ce8\u91c8\u51e6\u7406\u3092\u7121\u52b9\u306b\u3059\u308b\u304b -implicit \u3092\u4f7f\u7528\u3057\u6697\u9ed9\u7684\u30b3\u30f3\u30d1\u30a4\u30eb\u306e\u30dd\u30ea\u30b7\u30fc\u3092\u6307\u5b9a\u3057\u3066\u4e0b\u3055\u3044\u3002
 
 # Print a client-generated warning; assumed to be localized, no translation required
-compiler.warn.proc.messager=\
-    {0}
+compiler.warn.proc.messager={0}
+
+compiler.warn.proc.unclosed.type.files=\u30bf\u30a4\u30d7 ''{0}'' \u306e\u30d5\u30a1\u30a4\u30eb\u304c\u9589\u3058\u3089\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u3053\u308c\u3089\u306e\u30bf\u30a4\u30d7\u306f\u6ce8\u91c8\u51e6\u7406\u3055\u308c\u307e\u305b\u3093
+
+compiler.warn.proc.unmatched.processor.options=\u6b21\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u3069\u306e\u30d7\u30ed\u30bb\u30c3\u30b5\u3067\u3082\u8a8d\u8b58\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f: ''{0}''
 
-compiler.warn.proc.unclosed.type.files=\
-    \u30bf\u30a4\u30d7 ''{0}'' \u306e\u30d5\u30a1\u30a4\u30eb\u304c\u9589\u3058\u3089\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u3053\u308c\u3089\u306e\u30bf\u30a4\u30d7\u306f\u6ce8\u91c8\u51e6\u7406\u3055\u308c\u307e\u305b\u3093
+compiler.warn.unchecked.assign=[unchecked] {0} \u304b\u3089 {1} \u3078\u306e\u7121\u691c\u67fb\u4ee3\u5165\u3067\u3059\u3002
+compiler.warn.unchecked.assign.to.var=[unchecked] raw \u578b {1} \u306e\u30e1\u30f3\u30d0\u30fc\u3068\u3057\u3066\u5909\u6570 {0} \u3078\u306e\u7121\u691c\u67fb\u4ee3\u5165\u3067\u3059\u3002
+compiler.warn.unchecked.call.mbr.of.raw.type=[unchecked] raw \u578b {1} \u306e\u30e1\u30f3\u30d0\u3068\u3057\u3066\u306e {0} \u3078\u306e\u7121\u691c\u67fb\u547c\u3073\u51fa\u3057\u3067\u3059\u3002
+compiler.warn.unchecked.cast.to.type=[unchecked] \u578b {0} \u3078\u306e\u7121\u691c\u67fb\u30ad\u30e3\u30b9\u30c8\u3067\u3059\u3002
+compiler.warn.unchecked.meth.invocation.applied=[unchecked] \u7121\u691c\u67fb\u30e1\u30bd\u30c3\u30c9\u547c\u3073\u51fa\u3057: {0} {1} ({4} {5} \u5185) \u304c\u4e0e\u3048\u3089\u308c\u305f\u578b\u306b\u9069\u7528\u3055\u308c\u307e\u3057\u305f\n\u671f\u5f85\u5024: {2}\n\u691c\u51fa\u5024: {3}
 
-compiler.warn.proc.unmatched.processor.options=\
-    \u6b21\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u3069\u306e\u30d7\u30ed\u30bb\u30c3\u30b5\u3067\u3082\u8a8d\u8b58\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f: ''{0}''
+compiler.warn.unchecked.generic.array.creation=[unchecked] \u30bf\u30a4\u30d7 {0} \u306e varargs \u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u305f\u3081\u306e\u3001\u7121\u691c\u67fb\u6c4e\u7528\u914d\u5217\u306e\u4f5c\u6210
 
-compiler.warn.unchecked.assign=\
-    [unchecked] {0} \u304b\u3089 {1} \u3078\u306e\u7121\u691c\u67fb\u4ee3\u5165\u3067\u3059\u3002
-compiler.warn.unchecked.assign.to.var=\
-    [unchecked] raw \u578b {1} \u306e\u30e1\u30f3\u30d0\u30fc\u3068\u3057\u3066\u5909\u6570 {0} \u3078\u306e\u7121\u691c\u67fb\u4ee3\u5165\u3067\u3059\u3002
-compiler.warn.unchecked.call.mbr.of.raw.type=\
-    [unchecked] raw \u578b {1} \u306e\u30e1\u30f3\u30d0\u3068\u3057\u3066\u306e {0} \u3078\u306e\u7121\u691c\u67fb\u547c\u3073\u51fa\u3057\u3067\u3059\u3002
-compiler.warn.unchecked.cast.to.type=\
-    [unchecked] \u578b {0} \u3078\u306e\u7121\u691c\u67fb\u30ad\u30e3\u30b9\u30c8\u3067\u3059\u3002
-compiler.warn.unchecked.meth.invocation.applied=\
-    [unchecked] \u7121\u691c\u67fb\u30e1\u30bd\u30c3\u30c9\u547c\u3073\u51fa\u3057: {1} \u306e {0} \u306f {2}({3}) \u306b\u9069\u7528\u3055\u308c\u307e\u3059\u3002
-compiler.warn.unchecked.generic.array.creation=\
-    [unchecked] \u53ef\u5909\u5f15\u6570\u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u5bfe\u3059\u308b\u578b {0} \u306e\u7dcf\u79f0\u578b\u914d\u5217\u306e\u7121\u691c\u67fb\u4f5c\u6210\u3067\u3059\u3002
+compiler.warn.missing.deprecated.annotation=[dep-ann] \u63a8\u5968\u3055\u308c\u306a\u3044\u9805\u76ee\u306f @Deprecated \u3067\u6ce8\u91c8\u304c\u4ed8\u3051\u3089\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+
+compiler.warn.invalid.archive.file=[path] \u30d1\u30b9\u4e0a\u306e\u4e88\u671f\u3057\u306a\u3044\u30d5\u30a1\u30a4\u30eb: {0}
 
-compiler.warn.missing.deprecated.annotation=\
-    [dep-ann] \u63a8\u5968\u3055\u308c\u306a\u3044\u9805\u76ee\u306f @Deprecated \u3067\u6ce8\u91c8\u304c\u4ed8\u3051\u3089\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+compiler.warn.unexpected.archive.file=[path] \u30a2\u30fc\u30ab\u30a4\u30d6\u30d5\u30a1\u30a4\u30eb\u306e\u4e88\u671f\u3057\u306a\u3044\u62e1\u5f35\u5b50: {0}
+
+compiler.warn.div.zero=[divzero] \u30bc\u30ed\u3067\u9664\u7b97
 
-compiler.warn.invalid.archive.file=\
-    [path] \u30d1\u30b9\u4e0a\u306e\u4e88\u671f\u3057\u306a\u3044\u30d5\u30a1\u30a4\u30eb: {0}
+compiler.warn.empty.if=[empty] if \u4ee5\u964d\u304c\u7a7a\u306e\u6587\u3067\u3059
 
-compiler.warn.unexpected.archive.file=\
-    [path] \u30a2\u30fc\u30ab\u30a4\u30d6\u30d5\u30a1\u30a4\u30eb\u306e\u4e88\u671f\u3057\u306a\u3044\u62e1\u5f35\u5b50: {0}
-
-compiler.warn.div.zero=\
-    [divzero] \u30bc\u30ed\u3067\u9664\u7b97
+compiler.warn.annotation.method.not.found=\u30bf\u30a4\u30d7 ''{0}'' \u5185\u306b\u6ce8\u91c8\u30e1\u30bd\u30c3\u30c9 ''{1}()'' \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
 
-compiler.warn.empty.if=\
-    [empty] if \u4ee5\u964d\u304c\u7a7a\u306e\u6587\u3067\u3059
+compiler.warn.annotation.method.not.found.reason=\u30bf\u30a4\u30d7 ''{0}'' \u5185\u306b\u6ce8\u91c8\u30e1\u30bd\u30c3\u30c9 ''{1}()'' \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093: {2}
 
-compiler.warn.annotation.method.not.found=\
-    \u30bf\u30a4\u30d7 ''{0}'' \u5185\u306b\u6ce8\u91c8\u30e1\u30bd\u30c3\u30c9 ''{1}()'' \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
-
-compiler.warn.annotation.method.not.found.reason=\
-    \u30bf\u30a4\u30d7 ''{0}'' \u5185\u306b\u6ce8\u91c8\u30e1\u30bd\u30c3\u30c9 ''{1}()'' \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093: {2}
+compiler.warn.raw.class.use=[rawtypes] raw \u578b\u3092\u691c\u51fa: {0}\n\u7dcf\u79f0\u30af\u30e9\u30b9 {1} \u306e\u578b\u30d1\u30e9\u30e1\u30fc\u30bf\u304c\u3042\u308a\u307e\u305b\u3093
 
 #####
 
 ## The following are tokens which are non-terminals in the language. They should
 ## be named as JLS3 calls them when translated to the appropriate language.
-compiler.misc.token.identifier=\
-    <identifier>
-compiler.misc.token.character=\
-    <character>
-compiler.misc.token.string=\
-    <string>
-compiler.misc.token.integer=\
-    <integer>
-compiler.misc.token.long-integer=\
-    <long integer>
-compiler.misc.token.float=\
-    <float>
-compiler.misc.token.double=\
-    <double>
-compiler.misc.token.bad-symbol=\
-    <bad symbol>
-compiler.misc.token.end-of-input=\
-    <end of input>
+compiler.misc.token.identifier=<identifier>
+compiler.misc.token.character=<character>
+compiler.misc.token.string=<string>
+compiler.misc.token.integer=<integer>
+compiler.misc.token.long-integer=<long integer>
+compiler.misc.token.float=<float>
+compiler.misc.token.double=<double>
+compiler.misc.token.bad-symbol=<bad symbol>
+compiler.misc.token.end-of-input=<end of input>
 
 ## The argument to the following string will always be one of the following:
 ## 1. one of the above non-terminals
@@ -781,78 +508,59 @@
 ## 6. an operator (JLS3.12)
 ##
 ## This is the only place these tokens will be used.
-compiler.err.expected=\
-    {0} \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.expected2=\
-    {0} \u307e\u305f\u306f {1} \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.expected3=\
-    {0}\u3001{1}\u3001\u307e\u305f\u306f {2} \u304c\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.err.expected={0} \u304c\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.err.expected2={0} \u307e\u305f\u306f {1} \u304c\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.err.expected3={0}\u3001{1}\u3001\u307e\u305f\u306f {2} \u304c\u3042\u308a\u307e\u305b\u3093\u3002
 
-compiler.err.premature.eof=\
-    \u69cb\u6587\u89e3\u6790\u4e2d\u306b\u30d5\u30a1\u30a4\u30eb\u306e\u7d42\u308f\u308a\u306b\u79fb\u308a\u307e\u3057\u305f
+compiler.err.premature.eof=\u69cb\u6587\u89e3\u6790\u4e2d\u306b\u30d5\u30a1\u30a4\u30eb\u306e\u7d42\u308f\u308a\u306b\u79fb\u308a\u307e\u3057\u305f
 
 ## The following are related in form, but do not easily fit the above paradigm.
-compiler.err.dot.class.expected=\
-    ''.class'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.err.dot.class.expected=''.class'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
 
 ## The argument to this string will always be either 'case' or 'default'.
-compiler.err.orphaned=\
-    {0} \u306b\u306f\u89aa\u304c\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.err.orphaned={0} \u306b\u306f\u89aa\u304c\u3042\u308a\u307e\u305b\u3093\u3002
+
+compiler.misc.anonymous.class=<anonymous {0}>
+
+compiler.misc.type.captureof={1} \u306e capture#{0}
 
-compiler.misc.anonymous.class=\
-    <anonymous {0}>
+compiler.misc.type.captureof.1=capture#{0}
+
+compiler.misc.type.none=<none>
+
+compiler.misc.unnamed.package=\u7121\u540d\u30d1\u30c3\u30b1\u30fc\u30b8
 
 #####
 
-compiler.err.cant.access=\
-{0} \u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\u3002\n\
-{1}
+compiler.err.cant.access={0} \u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\u3002\n{1}
 
-compiler.misc.bad.class.file.header=\
-\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb {0} \u306f\u4e0d\u6b63\u3067\u3059\u3002\n\
-{1}\n\
-\u524a\u9664\u3059\u308b\u304b\u3001\u30af\u30e9\u30b9\u30d1\u30b9\u306e\u6b63\u3057\u3044\u30b5\u30d6\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u3042\u308b\u304b\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+compiler.misc.bad.class.file.header=\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb {0} \u306f\u4e0d\u6b63\u3067\u3059\u3002\n{1}\n\u524a\u9664\u3059\u308b\u304b\u3001\u30af\u30e9\u30b9\u30d1\u30b9\u306e\u6b63\u3057\u3044\u30b5\u30d6\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u3042\u308b\u304b\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+compiler.misc.bad.source.file.header=\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb {0} \u306f\u4e0d\u6b63\u3067\u3059\u3002\n{1}\n\u524a\u9664\u3059\u308b\u304b\u3001\u30bd\u30fc\u30b9\u30d1\u30b9\u306e\u6b63\u3057\u3044\u30b5\u30d6\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u3042\u308b\u304b\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
 
 ## The following are all possible strings for the second argument ({1}) of the
 ## above strings.
-compiler.misc.bad.class.signature=\
-    \u30af\u30e9\u30b9 {0} \u306e\u30b7\u30b0\u30cb\u30c1\u30e3\u30fc\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.misc.bad.enclosing.method=\
-    \u56f2\u3093\u3067\u3044\u308b\u30e1\u30bd\u30c3\u30c9\u5c5e\u6027\u304c\u4e0d\u6b63\u3067\u3059: {0}
-compiler.misc.bad.runtime.invisible.param.annotations=\
-    RuntimeInvisibleParameterAnnotations \u5c5e\u6027\u304c\u4e0d\u6b63\u3067\u3059: {0}
-compiler.misc.bad.const.pool.tag=\
-    \u5b9a\u6570\u30d7\u30fc\u30eb\u30bf\u30b0 {0} \u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.misc.bad.const.pool.tag.at=\
-    \u5b9a\u6570\u30d7\u30fc\u30eb\u30bf\u30b0 {1} \u3067\u306e {0} \u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.misc.bad.signature=\
-    \u30b7\u30b0\u30cb\u30c1\u30e3\u30fc {0} \u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.misc.class.file.wrong.class=\
-    \u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb {0} \u306b\u4e0d\u6b63\u306a\u30af\u30e9\u30b9\u304c\u3042\u308a\u307e\u3059\u3002
-compiler.misc.class.file.not.found=\
-    {0} \u306e\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
-compiler.misc.file.doesnt.contain.class=\
-    \u30d5\u30a1\u30a4\u30eb\u306b\u30af\u30e9\u30b9 {0} \u304c\u542b\u307e\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-compiler.misc.file.does.not.contain.package=\
-    \u30d5\u30a1\u30a4\u30eb\u306b\u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u304c\u542b\u307e\u308c\u3066\u3044\u307e\u305b\u3093
-compiler.misc.illegal.start.of.class.file=\
-    \u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u958b\u59cb\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.misc.unable.to.access.file=\
-    \u30d5\u30a1\u30a4\u30eb {0} \u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.misc.unicode.str.not.supported=\
-    \u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u5185\u306e Unicode \u6587\u5b57\u5217\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-compiler.misc.undecl.type.var=\
-    \u578b\u5909\u6570 {0} \u306f\u5ba3\u8a00\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-compiler.misc.wrong.version=\
-    \u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u30d0\u30fc\u30b8\u30e7\u30f3 {0}.{1} \u306f\u4e0d\u6b63\u3067\u3059\u3002{2}.{3} \u3067\u3042\u308b\u3079\u304d\u3067\u3059\u3002
+compiler.misc.bad.class.signature=\u30af\u30e9\u30b9 {0} \u306e\u30b7\u30b0\u30cb\u30c1\u30e3\u30fc\u304c\u4e0d\u6b63\u3067\u3059\u3002
+compiler.misc.bad.enclosing.method=\u56f2\u3093\u3067\u3044\u308b\u30e1\u30bd\u30c3\u30c9\u5c5e\u6027\u304c\u4e0d\u6b63\u3067\u3059: {0}
+compiler.misc.bad.runtime.invisible.param.annotations=RuntimeInvisibleParameterAnnotations \u5c5e\u6027\u304c\u4e0d\u6b63\u3067\u3059: {0}
+compiler.misc.bad.const.pool.tag=\u5b9a\u6570\u30d7\u30fc\u30eb\u30bf\u30b0 {0} \u304c\u4e0d\u6b63\u3067\u3059\u3002
+compiler.misc.bad.const.pool.tag.at=\u5b9a\u6570\u30d7\u30fc\u30eb\u30bf\u30b0 {1} \u3067\u306e {0} \u304c\u4e0d\u6b63\u3067\u3059\u3002
+compiler.misc.bad.signature=\u30b7\u30b0\u30cb\u30c1\u30e3\u30fc {0} \u304c\u4e0d\u6b63\u3067\u3059\u3002
+compiler.misc.bad.type.annotation.value=\u578b\u6ce8\u91c8\u306e\u30bf\u30fc\u30b2\u30c3\u30c8\u578b\u5024\u304c\u4e0d\u6b63\u3067\u3059: {0}
+compiler.misc.class.file.wrong.class=\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb {0} \u306b\u4e0d\u6b63\u306a\u30af\u30e9\u30b9\u304c\u3042\u308a\u307e\u3059\u3002
+compiler.misc.class.file.not.found={0} \u306e\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
+compiler.misc.file.doesnt.contain.class=\u30d5\u30a1\u30a4\u30eb\u306b\u30af\u30e9\u30b9 {0} \u304c\u542b\u307e\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+compiler.misc.file.does.not.contain.package=\u30d5\u30a1\u30a4\u30eb\u306b\u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u304c\u542b\u307e\u308c\u3066\u3044\u307e\u305b\u3093
+compiler.misc.illegal.start.of.class.file=\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u958b\u59cb\u304c\u4e0d\u6b63\u3067\u3059\u3002
+compiler.misc.unable.to.access.file=\u30d5\u30a1\u30a4\u30eb {0} \u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.misc.unicode.str.not.supported=\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u5185\u306e Unicode \u6587\u5b57\u5217\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+compiler.misc.undecl.type.var=\u578b\u5909\u6570 {0} \u306f\u5ba3\u8a00\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+compiler.misc.wrong.version=\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u30d0\u30fc\u30b8\u30e7\u30f3 {0}.{1} \u306f\u4e0d\u6b63\u3067\u3059\u3002{2}.{3} \u3067\u3042\u308b\u3079\u304d\u3067\u3059\u3002
 
 #####
 
-compiler.err.not.within.bounds=\
-    \u578b\u30d1\u30e9\u30e1\u30fc\u30bf {0} \u306f\u305d\u306e\u7bc4\u56f2\u3092\u8d8a\u3048\u3066\u3044\u307e\u3059\u3002
+compiler.err.not.within.bounds=\u578b\u30d1\u30e9\u30e1\u30fc\u30bf {0} \u306f\u305d\u306e\u7bc4\u56f2\u3092\u8d8a\u3048\u3066\u3044\u307e\u3059\u3002
 
-compiler.err.not.within.bounds.explain=\
-    \u578b\u30d1\u30e9\u30e1\u30fc\u30bf {0} \u306f\u305d\u306e\u7bc4\u56f2\u3092\u8d8a\u3048\u3066\u3044\u307e\u3059\u3002{1}
+compiler.err.not.within.bounds.explain=\u578b\u30d1\u30e9\u30e1\u30fc\u30bf {0} \u306f\u305d\u306e\u7bc4\u56f2\u3092\u8d8a\u3048\u3066\u3044\u307e\u3059\u3002{1}
 
 ## The following are all possible strings for the second argument ({1}) of the
 ## above string.
@@ -861,43 +569,26 @@
 
 #####
 
-compiler.err.prob.found.req=\
-{0}\n\
-\u691c\u51fa\u5024  : {1}\n\
-\u671f\u5f85\u5024  : {2}
-compiler.warn.prob.found.req=\
-{0}\n\
-\u691c\u51fa\u5024  : {1}\n\
-\u671f\u5f85\u5024  : {2}
-compiler.err.prob.found.req.1=\
-{0} {3}\n\
-\u691c\u51fa\u5024  : {1}\n\
-\u671f\u5f85\u5024  : {2}
+compiler.err.prob.found.req={0}\n\u671f\u5f85\u5024: {2}\n\u691c\u51fa\u5024:    {1}
+compiler.warn.prob.found.req={0}\n\u671f\u5f85\u5024: {2}\n\u691c\u51fa\u5024:    {1}
+compiler.err.prob.found.req.1={0} {3}\n\u671f\u5f85\u5024: {2}\n\u691c\u51fa\u5024:    {1}
 
 ## The following are all possible strings for the first argument ({0}) of the
 ## above strings.
-compiler.misc.incompatible.types=\
-    \u4e92\u63db\u6027\u306e\u306a\u3044\u578b
-compiler.misc.incompatible.types.1=\
-    \u4e92\u63db\u6027\u306e\u306a\u3044\u578b; {0}
-compiler.misc.inconvertible.types=\
-    \u5909\u63db\u3067\u304d\u306a\u3044\u578b
-compiler.misc.possible.loss.of.precision=\
-    \u7cbe\u5ea6\u304c\u843d\u3061\u3066\u3044\u308b\u53ef\u80fd\u6027
+compiler.misc.incompatible.types=\u4e92\u63db\u6027\u306e\u306a\u3044\u578b
+compiler.misc.incompatible.types.1=\u4e92\u63db\u6027\u306e\u306a\u3044\u578b; {0}
+compiler.misc.inconvertible.types=\u5909\u63db\u3067\u304d\u306a\u3044\u578b
+compiler.misc.possible.loss.of.precision=\u7cbe\u5ea6\u304c\u843d\u3061\u3066\u3044\u308b\u53ef\u80fd\u6027
 
-compiler.misc.unchecked.assign=\
-    [unchecked] \u7121\u691c\u67fb\u5909\u63db\u3067\u3059
+compiler.misc.unchecked.assign=[unchecked] \u7121\u691c\u67fb\u5909\u63db\u3067\u3059
 # compiler.misc.storecheck=\
 #     [unchecked] assignment might cause later store checks to fail
 # compiler.misc.unchecked=\
 #     [unchecked] assigned array cannot dynamically check its stores
-compiler.misc.unchecked.cast.to.type=\
-    [unchecked] \u7121\u691c\u67fb\u30ad\u30e3\u30b9\u30c8\u3067\u3059
+compiler.misc.unchecked.cast.to.type=[unchecked] \u7121\u691c\u67fb\u30ad\u30e3\u30b9\u30c8\u3067\u3059
 
-compiler.misc.assignment.from.super-bound=\
-    \u30b9\u30fc\u30d1\u30fc\u30d0\u30a6\u30f3\u30c9\u578b {0} \u304b\u3089\u306e\u4ee3\u5165
-compiler.misc.assignment.to.extends-bound=\
-    \u62e1\u5f35\u30d0\u30a6\u30f3\u30c9\u578b {0} \u3078\u306e\u4ee3\u5165
+compiler.misc.assignment.from.super-bound=\u30b9\u30fc\u30d1\u30fc\u30d0\u30a6\u30f3\u30c9\u578b {0} \u304b\u3089\u306e\u4ee3\u5165
+compiler.misc.assignment.to.extends-bound=\u62e1\u5f35\u30d0\u30a6\u30f3\u30c9\u578b {0} \u3078\u306e\u4ee3\u5165
 # compiler.err.star.expected=\
 #     ''*'' expected
 # compiler.err.no.elem.type=\
@@ -905,221 +596,187 @@
 
 #####
 
-compiler.err.type.found.req=\
-\u4e88\u671f\u3057\u306a\u3044\u578b\n\
-\u691c\u51fa\u5024  : {0}\n\
-\u671f\u5f85\u5024  : {1}
+compiler.err.type.found.req=\u4e88\u671f\u3057\u306a\u3044\u578b\n\u671f\u5f85\u5024: {1}\n\u691c\u51fa\u5024:    {0}
 
 ## The following are all possible strings for the first argument ({0}) of the
 ## above string.
-compiler.misc.type.req.class=\
-    \u30af\u30e9\u30b9
-compiler.misc.type.req.class.array=\
-    \u30af\u30e9\u30b9\u307e\u305f\u306f\u914d\u5217
-compiler.misc.type.req.ref=\
-    \u53c2\u7167
-compiler.misc.type.req.exact=\
-    \u5883\u754c\u306e\u306a\u3044\u30af\u30e9\u30b9\u307e\u305f\u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9
-compiler.misc.type.parameter=\
-    \u578b\u30d1\u30e9\u30e1\u30fc\u30bf {0} 
+compiler.misc.type.req.class=\u30af\u30e9\u30b9
+compiler.misc.type.req.class.array=\u30af\u30e9\u30b9\u307e\u305f\u306f\u914d\u5217
+compiler.misc.type.req.ref=\u53c2\u7167
+compiler.misc.type.req.exact=\u5883\u754c\u306e\u306a\u3044\u30af\u30e9\u30b9\u307e\u305f\u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9
+compiler.misc.type.parameter=\u578b\u30d1\u30e9\u30e1\u30fc\u30bf {0}
 
 #####
 
 ## The following are all possible strings for the last argument of all those
 ## diagnostics whose key ends in ".1"
-compiler.misc.undetermined.type=\
-    \u672a\u5b9a\u578b
-ncompiler.misc.type.variable.has.undetermined.type=\
-    \u578b\u5909\u6570 {0} \u306f\u672a\u5b9a\u578b\u3067\u3059\u3002
-compiler.misc.no.unique.maximal.instance.exists=\
-    \u578b\u5909\u6570 {0} (\u4e0a\u9650 {1}) \u306e\u56fa\u6709\u306e\u6700\u5927\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
-compiler.misc.no.unique.minimal.instance.exists=\
-    \u578b\u5909\u6570 {0} (\u4e0b\u9650 {1}) \u306e\u56fa\u6709\u306e\u6700\u5c0f\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
-compiler.misc.no.conforming.instance.exists=\
-    \u578b\u5909\u6570 {0} \u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u5b58\u5728\u3057\u306a\u3044\u306e\u3067\u3001{1} \u306f {2} \u306b\u9069\u5408\u3057\u307e\u305b\u3093\u3002
-compiler.misc.no.conforming.assignment.exists=\
-    \u578b\u5909\u6570 {0} \u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u5b58\u5728\u3057\u306a\u3044\u306e\u3067\u3001\u5f15\u6570\u578b {1} \u306f\u4eee\u30d1\u30e9\u30e1\u30fc\u30bf\u578b {2} \u306b\u9069\u5408\u3057\u307e\u305b\u3093\u3002
-compiler.misc.arg.length.mismatch=\
-    \u5b9f\u5f15\u6570\u30ea\u30b9\u30c8\u3068\u4eee\u5f15\u6570\u30ea\u30b9\u30c8\u306e\u9577\u3055\u304c\u7570\u306a\u308b\u305f\u3081\u3001\u5f15\u6570\u304b\u3089\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.misc.inferred.do.not.conform.to.bounds=\
-    \u63a8\u5b9a\u578b\u5f15\u6570 {0} \u306f\u578b\u5909\u6570 {1} \u306e\u5883\u754c\u306b\u9069\u5408\u3057\u307e\u305b\u3093\u3002
+compiler.misc.undetermined.type=\u672a\u5b9a\u578b
+ncompiler.misc.type.variable.has.undetermined.type=\u578b\u5909\u6570 {0} \u306f\u672a\u5b9a\u578b\u3067\u3059\u3002
+compiler.misc.no.unique.maximal.instance.exists=\u578b\u5909\u6570 {0} (\u4e0a\u9650 {1}) \u306e\u56fa\u6709\u306e\u6700\u5927\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
+compiler.misc.no.unique.minimal.instance.exists=\u578b\u5909\u6570 {0} (\u4e0b\u9650 {1}) \u306e\u56fa\u6709\u306e\u6700\u5c0f\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
+compiler.misc.no.conforming.instance.exists=\u578b\u5909\u6570 {0} \u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u5b58\u5728\u3057\u306a\u3044\u306e\u3067\u3001{1} \u306f {2} \u306b\u9069\u5408\u3057\u307e\u305b\u3093\u3002
+compiler.misc.no.conforming.assignment.exists=\u578b\u5909\u6570 {0} \u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u5b58\u5728\u3057\u306a\u3044\u306e\u3067\u3001\u5f15\u6570\u578b {1} \u306f\u4eee\u30d1\u30e9\u30e1\u30fc\u30bf\u578b {2} \u306b\u9069\u5408\u3057\u307e\u305b\u3093\u3002
+compiler.misc.arg.length.mismatch=\u5b9f\u5f15\u6570\u30ea\u30b9\u30c8\u3068\u4eee\u5f15\u6570\u30ea\u30b9\u30c8\u306e\u9577\u3055\u304c\u7570\u306a\u308b\u305f\u3081\u3001\u5f15\u6570\u304b\u3089\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.misc.inferred.do.not.conform.to.bounds=\u63a8\u5b9a\u3055\u308c\u305f\u578b\u306f\u5ba3\u8a00\u3055\u308c\u305f\u5883\u754c\u306b\u9069\u5408\u3057\u307e\u305b\u3093\u3002\n\u63a8\u5b9a: {0}\n\u5883\u754c: {1}
+compiler.misc.inferred.do.not.conform.to.params=\u5b9f\u5f15\u6570\u304c\u63a8\u5b9a\u3055\u308c\u305f\u4eee\u5f15\u6570\u306b\u9069\u5408\u3057\u307e\u305b\u3093\u3002\n\u671f\u5f85\u5024: {0}\n\u691c\u51fa\u5024: {1}
 
 #####
 
 ## The first argument ({0}) is a "kindname".
-compiler.err.abstract.cant.be.accessed.directly=\
-    \u62bd\u8c61 {0} {1} ({2} \u5185) \u306b\u76f4\u63a5\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.abstract.cant.be.accessed.directly=\u62bd\u8c61 {0} {1} ({2} \u5185) \u306b\u76f4\u63a5\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
 
 ## The first argument ({0}) is a "kindname".
-compiler.err.non-static.cant.be.ref=\
-    static \u3067\u306a\u3044 {0} {1} \u3092 static \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u304b\u3089\u53c2\u7167\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.non-static.cant.be.ref=static \u3067\u306a\u3044 {0} {1} \u3092 static \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u304b\u3089\u53c2\u7167\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
 
 ## Both arguments ({0}, {1}) are "kindname"s.  {0} is a comma-separated list
 ## of kindnames (the list should be identical to that provided in source.
-compiler.err.unexpected.type=\
-\u4e88\u671f\u3057\u306a\u3044\u578b\n\
-\u671f\u5f85\u5024  : {0}\n\
-\u691c\u51fa\u5024  : {1}
+compiler.err.unexpected.type=\u4e88\u671f\u3057\u306a\u3044\u578b\n\u671f\u5f85\u5024  : {0}\n\u691c\u51fa\u5024  : {1}
+
+## The first argument {0} is a "kindname" (e.g. 'constructor', 'field', etc.)
+## The second argument {1} is the non-resolved symbol
+## The third argument {2} is a list of type parameters (non-empty if {1} is a method)
+## The fourth argument {3} is a list of argument types (non-empty if {1} is a method)
+compiler.err.cant.resolve=\u30b7\u30f3\u30dc\u30eb\u3092\u898b\u3064\u3051\u3089\u308c\u307e\u305b\u3093\u3002\n\u30b7\u30f3\u30dc\u30eb: {0} {3}{1}{2}
+
+compiler.err.cant.resolve.args=\u30b7\u30f3\u30dc\u30eb\u3092\u898b\u3064\u3051\u3089\u308c\u307e\u305b\u3093\n\u30b7\u30f3\u30dc\u30eb: {0} {1}({3})
 
-## The first argument ({0}) is a "kindname".
-compiler.err.cant.resolve=\
-\u30b7\u30f3\u30dc\u30eb\u3092\u898b\u3064\u3051\u3089\u308c\u307e\u305b\u3093\u3002\n\
-\u30b7\u30f3\u30dc\u30eb: {0} {3}{1}{2}
+compiler.err.cant.resolve.args.params=\u30b7\u30f3\u30dc\u30eb\u3092\u898b\u3064\u3051\u3089\u308c\u307e\u305b\u3093\n\u30b7\u30f3\u30dc\u30eb: {0} <{2}>{1}({3})
 
-## The first argument ({0}) and fifth argument ({4}) are "kindname"s.
-compiler.err.cant.resolve.location=\
-\u30b7\u30f3\u30dc\u30eb\u3092\u898b\u3064\u3051\u3089\u308c\u307e\u305b\u3093\u3002\n\
-\u30b7\u30f3\u30dc\u30eb: {0} {3}{1}{2}\n\
-\u5834\u6240    : {5} \u306e {4}
+## arguments from {0} to {3} have the same meaning as above
+## The fifth argument {4} is the location "kindname" (e.g. 'constructor', 'field', etc.)
+## The sixth argument {5} is the location type
+compiler.err.cant.resolve.location=\u30b7\u30f3\u30dc\u30eb\u3092\u898b\u3064\u3051\u3089\u308c\u307e\u305b\u3093\n\u30b7\u30f3\u30dc\u30eb:   {0} {1}\n\u5834\u6240: {4} {5}
+
+compiler.err.cant.resolve.location.args=\u30b7\u30f3\u30dc\u30eb\u3092\u898b\u3064\u3051\u3089\u308c\u307e\u305b\u3093\n\u30b7\u30f3\u30dc\u30eb:   {0} {1}({3})\n\u5834\u6240: {4} {5}
+
+compiler.err.cant.resolve.location.args.params=\u30b7\u30f3\u30dc\u30eb\u3092\u898b\u3064\u3051\u3089\u308c\u307e\u305b\u3093\n\u30b7\u30f3\u30dc\u30eb:   {0} <{2}>{1}({3})\n\u5834\u6240: {4} {5}
+
+compiler.err.cant.apply.diamond=\u30c0\u30a4\u30e4\u30e2\u30f3\u30c9\u6f14\u7b97\u5b50\u304c {0} \u306e\u578b\u3092\u63a8\u5b9a\u3067\u304d\u307e\u305b\u3093;\n\u7406\u7531: {1}
 
 ## The following are all possible string for "kindname".
 ## They should be called whatever the JLS calls them after it been translated
 ## to the appropriate language.
 # compiler.misc.kindname.constructor=\
 #     static member
-compiler.misc.kindname.annotation=\
-    @\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9
-compiler.misc.kindname.constructor=\
-    \u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf
-compiler.misc.kindname.interface=\
-    \u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9
-compiler.misc.kindname.static=\
-    static
-compiler.misc.kindname.type.variable=\
-    \u578b\u5909\u6570\u306e\u5883\u754c
-compiler.misc.kindname=\
-    \u8b58\u5225\u5b50 ({0})
-compiler.misc.kindname.variable=\
-    \u5909\u6570
-compiler.misc.kindname.value=\
-    \u5024
-compiler.misc.kindname.method=\
-    \u30e1\u30bd\u30c3\u30c9
-compiler.misc.kindname.variable.method=\
-    \u5909\u6570\u3001\u30e1\u30bd\u30c3\u30c9
-compiler.misc.kindname.value.method=\
-    \u5024\u3001\u30e1\u30bd\u30c3\u30c9
-compiler.misc.kindname.class=\
-    \u30af\u30e9\u30b9
-compiler.misc.kindname.variable.class=\
-    \u5909\u6570\u3001\u30af\u30e9\u30b9
-compiler.misc.kindname.value.class=\
-    \u5024\u3001\u30af\u30e9\u30b9
-compiler.misc.kindname.method.class=\
-    \u30e1\u30bd\u30c3\u30c9\u3001\u30af\u30e9\u30b9
-compiler.misc.kindname.variable.method.class=\
-    \u5909\u6570\u3001\u30e1\u30bd\u30c3\u30c9\u3001\u30af\u30e9\u30b9
-compiler.misc.kindname.value.method.class=\
-    \u5024\u3001\u30e1\u30bd\u30c3\u30c9\u3001\u30af\u30e9\u30b9
-compiler.misc.kindname.package=\
-    \u30d1\u30c3\u30b1\u30fc\u30b8
-compiler.misc.kindname.variable.package=\
-    \u5909\u6570\u3001\u30d1\u30c3\u30b1\u30fc\u30b8
-compiler.misc.kindname.value.package=\
-    \u5024\u3001\u30d1\u30c3\u30b1\u30fc\u30b8
-compiler.misc.kindname.method.package=\
-    \u30e1\u30bd\u30c3\u30c9\u3001\u30d1\u30c3\u30b1\u30fc\u30b8
-compiler.misc.kindname.variable.method.package=\
-    \u5909\u6570\u3001\u30e1\u30bd\u30c3\u30c9\u3001\u30d1\u30c3\u30b1\u30fc\u30b8
-compiler.misc.kindname.value.method.package=\
-    \u5024\u3001\u30e1\u30bd\u30c3\u30c9\u3001\u30d1\u30c3\u30b1\u30fc\u30b8
-compiler.misc.kindname.class.package=\
-    \u30af\u30e9\u30b9\u3001\u30d1\u30c3\u30b1\u30fc\u30b8
-compiler.misc.kindname.variable.class.package=\
-    \u5909\u6570\u3001\u30af\u30e9\u30b9\u3001\u30d1\u30c3\u30b1\u30fc\u30b8
-compiler.misc.kindname.value.class.package=\
-    \u5024\u3001\u30af\u30e9\u30b9\u3001\u30d1\u30c3\u30b1\u30fc\u30b8
-compiler.misc.kindname.method.class.package=\
-    \u30e1\u30bd\u30c3\u30c9\u3001\u30af\u30e9\u30b9\u3001\u30d1\u30c3\u30b1\u30fc\u30b8
-compiler.misc.kindname.variable.method.class.package=\
-    \u5909\u6570\u3001\u30e1\u30bd\u30c3\u30c9\u3001\u30af\u30e9\u30b9\u3001\u30d1\u30c3\u30b1\u30fc\u30b8
-compiler.misc.kindname.value.method.class.package=\
-    \u5024\u3001\u30e1\u30bd\u30c3\u30c9\u3001\u30af\u30e9\u30b9\u3001\u30d1\u30c3\u30b1\u30fc\u30b8
-
+compiler.misc.kindname.annotation=@\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9
+compiler.misc.kindname.constructor=\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf
+compiler.misc.kindname.interface=\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9
+compiler.misc.kindname.static=static
+compiler.misc.kindname.type.variable=\u578b\u5909\u6570\u306e\u5883\u754c
+compiler.misc.kindname.type.variable.bound=\u578b\u5909\u6570\u306e\u5883\u754c
+compiler.misc.kindname.variable=\u5909\u6570
+compiler.misc.kindname.value=\u5024
+compiler.misc.kindname.method=\u30e1\u30bd\u30c3\u30c9
+compiler.misc.kindname.class=\u30af\u30e9\u30b9
+compiler.misc.kindname.package=\u30d1\u30c3\u30b1\u30fc\u30b8
 #####
 
-compiler.err.override.static=\
-    {0}\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3059\u308b\u30e1\u30bd\u30c3\u30c9\u304c static \u3067\u3059\u3002
-compiler.err.override.meth=\
-    {0}\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3055\u308c\u305f\u30e1\u30bd\u30c3\u30c9\u306f {1} \u3067\u3059\u3002
+compiler.misc.no.args=\u5f15\u6570\u7121\u3057
 
-compiler.err.override.meth.doesnt.throw=\
-    {0}\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3055\u308c\u305f\u30e1\u30bd\u30c3\u30c9\u306f {1} \u3092\u30b9\u30ed\u30fc\u3057\u307e\u305b\u3093\u3002
+compiler.err.override.static={0}\n\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3059\u308b\u30e1\u30bd\u30c3\u30c9\u304c static \u3067\u3059\u3002
+compiler.err.override.meth={0}\n\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3055\u308c\u305f\u30e1\u30bd\u30c3\u30c9\u306f {1} \u3067\u3059\u3002
+
+compiler.err.override.meth.doesnt.throw={0}\n\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3055\u308c\u305f\u30e1\u30bd\u30c3\u30c9\u306f {1} \u3092\u30b9\u30ed\u30fc\u3057\u307e\u305b\u3093\u3002
 
 # In the following string {1} is a space separated list of Java Keywords, as
 # they would have been declared in the source code
-compiler.err.override.weaker.access=\
-    {0}\u30b9\u30fc\u30d1\u30fc\u30af\u30e9\u30b9\u3067\u306e\u5b9a\u7fa9\u3088\u308a\u5f31\u3044\u30a2\u30af\u30bb\u30b9\u7279\u6a29 ({1}) \u3092\u5272\u308a\u5f53\u3066\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u3002
+compiler.err.override.weaker.access={0}\n\u30b9\u30fc\u30d1\u30fc\u30af\u30e9\u30b9\u3067\u306e\u5b9a\u7fa9\u3088\u308a\u5f31\u3044\u30a2\u30af\u30bb\u30b9\u7279\u6a29 ({1}) \u3092\u5272\u308a\u5f53\u3066\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u3002
+
+compiler.err.override.incompatible.ret={0}\n\u623b\u308a\u5024\u306e\u578b {1} \u306f {2} \u3068\u4e92\u63db\u6027\u304c\u3042\u308a\u307e\u305b\u3093
 
-compiler.misc.override.incompatible.ret=\
-    {0}\u4e92\u63db\u6027\u306e\u306a\u3044\u623b\u308a\u5024\u306e\u578b\u3092\u4f7f\u304a\u3046\u3068\u3057\u307e\u3057\u305f\u3002
+compiler.warn.override.unchecked.ret=[unchecked] {0}\n\u623b\u308a\u5024\u306e\u578b\u306b\u306f {1} \u304b\u3089 {2} \u3078\u306e\u7121\u691c\u67fb\u306e\u5909\u63db\u304c\u5fc5\u8981\u3067\u3059\u3002
 
-compiler.misc.override.unchecked.ret=\
-    {0}; \u623b\u308a\u5024\u306e\u578b\u306f\u7121\u691c\u67fb\u5909\u63db\u304c\u5fc5\u8981\u3067\u3059\u3002
+compiler.warn.override.unchecked.thrown=[unchecked] {0}\n\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3055\u308c\u305f\u30e1\u30bd\u30c3\u30c9\u306f {1} \u3092\u30b9\u30ed\u30fc\u3057\u307e\u305b\u3093\u3002
 
 ## The following are all possible strings for the first argument ({0}) of the
 ## above strings.
-compiler.misc.cant.override=\
-    {1} \u306e {0} \u306f {3} \u306e {2} \u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.misc.cant.implement=\
-    {1} \u306e {0} \u306f {3} \u306e {2} \u3092\u5b9f\u88c5\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.misc.clashes.with=\
-    {1} \u306e {0} \u306f {3} \u306e {2} \u3068\u7af6\u5408\u3057\u307e\u3059\u3002
-compiler.misc.unchecked.override=\
-    {1} \u306e {0} \u306f {3} \u306e {2} \u3092\u4e0a\u66f8\u304d\u3057\u307e\u3059\u3002
-compiler.misc.unchecked.implement=\
-    {1} \u306e {0} \u306f {3} \u306e {2} \u3092\u5b9f\u88c5\u3057\u307e\u3059\u3002
-compiler.misc.unchecked.clash.with=\
-    {1} \u306e {0} \u306f {3} \u306e {2} \u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u307e\u3059\u3002
-compiler.misc.varargs.override=\
-    {1} \u306e {0} \u306f {3} \u306e {2} \u3092\u4e0a\u66f8\u304d\u3057\u307e\u3059\u3002
-compiler.misc.varargs.implement=\
-    {1} \u306e {0} \u306f {3} \u306e {2} \u3092\u5b9f\u88c5\u3057\u307e\u3059\u3002
-compiler.misc.varargs.clash.with=\
-    {1} \u306e {0} \u306f {3} \u306e {2} \u3092\u4e0a\u66f8\u304d\u3057\u307e\u3059\u3002
+compiler.misc.cant.override={1} \u306e {0} \u306f {3} \u306e {2} \u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.misc.cant.implement={1} \u306e {0} \u306f {3} \u306e {2} \u3092\u5b9f\u88c5\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.misc.clashes.with={1} \u306e {0} \u306f {3} \u306e {2} \u3068\u7af6\u5408\u3057\u307e\u3059\u3002
+compiler.misc.unchecked.override={1} \u306e {0} \u306f {3} \u306e {2} \u3092\u4e0a\u66f8\u304d\u3057\u307e\u3059\u3002
+compiler.misc.unchecked.implement={1} \u306e {0} \u306f {3} \u306e {2} \u3092\u5b9f\u88c5\u3057\u307e\u3059\u3002
+compiler.misc.unchecked.clash.with={1} \u306e {0} \u306f {3} \u306e {2} \u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u307e\u3059\u3002
+compiler.misc.varargs.override={1} \u306e {0} \u306f {3} \u306e {2} \u3092\u4e0a\u66f8\u304d\u3057\u307e\u3059\u3002
+compiler.misc.varargs.implement={1} \u306e {0} \u306f {3} \u306e {2} \u3092\u5b9f\u88c5\u3057\u307e\u3059\u3002
+compiler.misc.varargs.clash.with={1} \u306e {0} \u306f {3} \u306e {2} \u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u307e\u3059\u3002
 
 ########################################
 # Diagnostics for language feature changes
 ########################################
-compiler.err.unsupported.fp.lit=\
-    16 \u9032\u6d6e\u52d5\u5c0f\u6570\u70b9\u30ea\u30c6\u30e9\u30eb\u306f -source 5 \u3088\u308a\u524d\u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+compiler.err.unsupported.fp.lit=16 \u9032\u306e\u6d6e\u52d5\u5c0f\u6570\u70b9\u306e\u30ea\u30c6\u30e9\u30eb\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n(16 \u9032\u306e\u6d6e\u52d5\u5c0f\u6570\u70b9\u30ea\u30c6\u30e9\u30eb\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f\u3001-source 5 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+
+compiler.err.unsupported.binary.lit=2 \u9032\u306e\u30ea\u30c6\u30e9\u30eb\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n(2 \u9032\u306e\u30ea\u30c6\u30e9\u30eb\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f\u3001-source 7 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+
+compiler.err.unsupported.underscore.lit=\u30ea\u30c6\u30e9\u30eb\u306e\u4e0b\u7dda\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n(\u30ea\u30c6\u30e9\u30eb\u3067\u4e0b\u7dda\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f\u3001-source 7 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+
+compiler.warn.enum.as.identifier=\u30ea\u30ea\u30fc\u30b9 5 \u304b\u3089 ''enum'' \u306f\u30ad\u30fc\u30ef\u30fc\u30c9\u306a\u306e\u3067\u8b58\u5225\u5b50\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\n(''enum'' \u3092\u30ad\u30fc\u30ef\u30fc\u30c9\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u306b\u306f -source 5 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
 
-compiler.warn.enum.as.identifier=\
-    \u30ea\u30ea\u30fc\u30b9 5 \u304b\u3089 ''enum'' \u306f\u30ad\u30fc\u30ef\u30fc\u30c9\u306a\u306e\u3067\u8b58\u5225\u5b50\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\n\
-(''enum'' \u3092\u30ad\u30fc\u30ef\u30fc\u30c9\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u306b\u306f -source 5 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+compiler.warn.assert.as.identifier=\u30ea\u30ea\u30fc\u30b9 1.4 \u304b\u3089 ''assert'' \u306f\u30ad\u30fc\u30ef\u30fc\u30c9\u306a\u306e\u3067\u3001\u8b58\u5225\u5b50\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\n(''assert'' \u3092\u30ad\u30fc\u30ef\u30fc\u30c9\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u306b\u306f\u3001-source 1.4 (\u307e\u305f\u306f\u305d\u308c\u4ee5\u964d\u306e\u30ea\u30ea\u30fc\u30b9\u540d) \u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+
+compiler.err.enum.as.identifier=\u30ea\u30ea\u30fc\u30b9 5 \u304b\u3089 ''enum'' \u306f\u30ad\u30fc\u30ef\u30fc\u30c9\u306a\u306e\u3067\u8b58\u5225\u5b50\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\n(''enum'' \u3092\u8b58\u5225\u5b50\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u306b\u306f -source 1.4 \u307e\u305f\u306f\u305d\u308c\u4ee5\u524d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+
+compiler.err.assert.as.identifier=\u30ea\u30ea\u30fc\u30b9 1.4 \u304b\u3089 ''assert'' \u306f\u30ad\u30fc\u30ef\u30fc\u30c9\u306a\u306e\u3067\u3001\u8b58\u5225\u5b50\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\n(''assert'' \u3092\u8b58\u5225\u5b50\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u306b\u306f\u3001-source 1.3 (\u307e\u305f\u306f\u305d\u308c\u4ee5\u524d\u306e\u30ea\u30ea\u30fc\u30b9\u540d) \u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+
+compiler.err.generics.not.supported.in.source=\u7dcf\u79f0\u578b\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n(\u7dcf\u79f0\u578b\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f\u3001-source 5 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+
+compiler.err.varargs.not.supported.in.source=\u53ef\u5909\u5f15\u6570\u30e1\u30bd\u30c3\u30c9\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n(\u53ef\u5909\u5f15\u6570\u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f\u3001-source 5 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
 
-compiler.warn.assert.as.identifier=\
-    \u30ea\u30ea\u30fc\u30b9 1.4 \u304b\u3089 ''assert'' \u306f\u30ad\u30fc\u30ef\u30fc\u30c9\u306a\u306e\u3067\u3001\u8b58\u5225\u5b50\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\n\
-(''assert'' \u3092\u30ad\u30fc\u30ef\u30fc\u30c9\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u306b\u306f\u3001-source 1.4 (\u307e\u305f\u306f\u305d\u308c\u4ee5\u964d\u306e\u30ea\u30ea\u30fc\u30b9\u540d) \u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+compiler.err.annotations.not.supported.in.source=\u6ce8\u91c8\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n(\u6ce8\u91c8\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f\u3001-source 5 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+
+compiler.err.type.annotations.not.supported.in.source=\u578b\u6ce8\u91c8\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n(\u578b\u6ce8\u91c8\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f\u3001-source 7 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+
+compiler.err.foreach.not.supported.in.source=for-each \u30eb\u30fc\u30d7\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n(for-each \u30eb\u30fc\u30d7\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f\u3001-source 5 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+
+compiler.err.static.import.not.supported.in.source=static import \u5ba3\u8a00\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n(static import \u5ba3\u8a00\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f\u3001-source 5 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+
+compiler.err.enums.not.supported.in.source=\u5217\u6319\u578b\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n(\u5217\u6319\u578b\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f -source 5 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
 
-compiler.err.enum.as.identifier=\
-    \u30ea\u30ea\u30fc\u30b9 5 \u304b\u3089 ''enum'' \u306f\u30ad\u30fc\u30ef\u30fc\u30c9\u306a\u306e\u3067\u8b58\u5225\u5b50\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\n\
-(''enum'' \u3092\u8b58\u5225\u5b50\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u306b\u306f -source 1.4 \u307e\u305f\u306f\u305d\u308c\u4ee5\u524d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+compiler.err.diamond.not.supported.in.source=\u30c0\u30a4\u30e4\u30e2\u30f3\u30c9\u6f14\u7b97\u5b50\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n(\u30c0\u30a4\u30e4\u30e2\u30f3\u30c9\u6f14\u7b97\u5b50\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f -source 7 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+
+compiler.err.string.switch.not.supported.in.source=\u30b9\u30a4\u30c3\u30c1\u3067\u306e\u6587\u5b57\u5217\u306e\u4f7f\u7528\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n(\u30b9\u30a4\u30c3\u30c1\u3067\u6587\u5b57\u5217\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f\u3001-source 7 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
 
-compiler.err.assert.as.identifier=\
-    \u30ea\u30ea\u30fc\u30b9 1.4 \u304b\u3089 ''assert'' \u306f\u30ad\u30fc\u30ef\u30fc\u30c9\u306a\u306e\u3067\u3001\u8b58\u5225\u5b50\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\n\
-(''assert'' \u3092\u8b58\u5225\u5b50\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u306b\u306f\u3001-source 1.3 (\u307e\u305f\u306f\u305d\u308c\u4ee5\u524d\u306e\u30ea\u30ea\u30fc\u30b9\u540d) \u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+########################################
+# Diagnostics for where clause implementation
+# used by the RichDiagnosticFormatter.
+########################################
+
+compiler.misc.type.null=<null>
 
-compiler.err.generics.not.supported.in.source=\
-    \u7dcf\u79f0\u578b\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n\
-(\u7dcf\u79f0\u578b\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f\u3001-source 5 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+# X#n (where n is an int id) is disambiguated tvar name
+compiler.misc.type.var={0}#{1}
+
+# CAP#n (where n is an int id) is an abbreviation for 'captured type'
+compiler.misc.captured.type=CAP#{0}
 
-compiler.err.varargs.not.supported.in.source=\
-    \u53ef\u5909\u5f15\u6570\u30e1\u30bd\u30c3\u30c9\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n\
-(\u53ef\u5909\u5f15\u6570\u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f\u3001-source 5 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+# <INT#n> (where n is an int id) is an abbreviation for 'intersection type'
+compiler.misc.intersection.type=INT#{0}
 
-compiler.err.annotations.not.supported.in.source=\
-    \u6ce8\u91c8\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n\
-(\u6ce8\u91c8\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f\u3001-source 5 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+# where clause for captured type: contains upper ('extends {1}') and lower
+# ('super {2}') bound along with the wildcard that generated this captured type ({3})
+compiler.misc.where.captured={3} \u306e\u6355\u6349\u304b\u3089 {0} \u306f {1} \u306e\u30b5\u30d6\u30af\u30e9\u30b9\u3067 {2} \u306e\u30b9\u30fc\u30d1\u30fc\u30af\u30e9\u30b9
+
+# compact where clause for captured type: contains upper ('extends {1}') along
+# with the wildcard that generated this captured type ({3})
+compiler.misc.where.captured.1={3} \u306e\u6355\u6349\u304b\u3089 {0} \u306f {1} \u306e\u30b5\u30d6\u30af\u30e9\u30b9
 
-compiler.err.foreach.not.supported.in.source=\
-    for-each \u30eb\u30fc\u30d7\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n\
-(for-each \u30eb\u30fc\u30d7\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f\u3001-source 5 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+# where clause for type variable: contains upper bound(s) ('extends {1}') along with
+# the kindname ({2}) and location ({3}) in which the typevar has been declared
+compiler.misc.where.typevar={2} {3} \u3067\u5ba3\u8a00\u3055\u308c\u305f {0} \u306f {1} \u306e\u30b5\u30d6\u30af\u30e9\u30b9
+
+# compact where clause for type variable: contains the kindname ({2}) and location ({3})
+# in which the typevar has been declared
+compiler.misc.where.typevar.1={2} {3} \u3067\u5ba3\u8a00\u3055\u308c\u305f {0}
 
-compiler.err.static.import.not.supported.in.source=\
-    static import \u5ba3\u8a00\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n\
-(static import \u5ba3\u8a00\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f\u3001-source 5 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+# where clause for type variable: contains all the upper bound(s) ('extends {1}')
+# of this intersection type
+compiler.misc.where.intersection={0} \u306f {1} \u306e\u30b5\u30d6\u30af\u30e9\u30b9
 
-compiler.err.enums.not.supported.in.source=\
-    \u5217\u6319\u578b\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n\
-(\u5217\u6319\u578b\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f -source 5 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+### Where clause headers ###
+compiler.misc.where.description.captured={0} \u306f\u65b0\u305f\u306a\u578b\u5909\u6570\u3067\u3059:
+compiler.misc.where.description.typevar={0} \u306f\u578b\u5909\u6570\u3067\u3059:
+compiler.misc.where.description.intersection={0} \u306f\u30a4\u30f3\u30bf\u30fc\u30bb\u30af\u30b7\u30e7\u30f3\u578b\u3067\u3059:
+compiler.misc.where.description.captured.1={0} \u306f\u65b0\u305f\u306a\u578b\u5909\u6570\u3067\u3059:
+compiler.misc.where.description.typevar.1={0} \u306f\u578b\u5909\u6570\u3067\u3059:
+compiler.misc.where.description.intersection.1={0} \u306f\u30a4\u30f3\u30bf\u30fc\u30bb\u30af\u30b7\u30e7\u30f3\u578b\u3067\u3059:
+
+
--- a/langtools/src/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright 2005-2006 Sun Microsystems, Inc.  All Rights Reserved.
+# Copyright 1999-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
@@ -27,475 +27,284 @@
 ## errors
 ##
 
-compiler.err.abstract.cant.be.instantiated=\
-{0} \u662f\u62bd\u8c61\u7684\uff1b\u65e0\u6cd5\u5bf9\u5176\u8fdb\u884c\u5b9e\u4f8b\u5316
-compiler.err.abstract.meth.cant.have.body=\
-\u62bd\u8c61\u65b9\u6cd5\u4e0d\u80fd\u6709\u4e3b\u4f53
-compiler.err.already.annotated=\
-{0} {1} \u5df2\u88ab\u6ce8\u91ca
-compiler.err.already.defined=\
-\u5df2\u5728 {1} \u4e2d\u5b9a\u4e49 {0}
-compiler.err.already.defined.single.import=\
-\u5df2\u5728 single-type \u5bfc\u5165\u4e2d\u5b9a\u4e49 {0}
-compiler.err.already.defined.static.single.import=\
-\u5df2\u5728\u9759\u6001 single-type \u5bfc\u5165\u4e2d\u5b9a\u4e49 {0}
-compiler.err.already.defined.this.unit=\
-\u5df2\u5728\u8be5\u7f16\u8bd1\u5355\u5143\u4e2d\u5b9a\u4e49 {0}
-compiler.err.annotation.missing.default.value=\
-\u6ce8\u91ca {0} \u7f3a\u5c11 {1}
-compiler.err.annotation.not.valid.for.type=\
-\u5bf9\u4e8e\u7c7b\u578b\u4e3a {0} \u7684\u503c\uff0c\u6ce8\u91ca\u65e0\u6548
-compiler.err.annotation.type.not.applicable=\
-\u6ce8\u91ca\u7c7b\u578b\u4e0d\u9002\u7528\u4e8e\u8be5\u7c7b\u578b\u7684\u58f0\u660e
-compiler.err.annotation.value.must.be.annotation=\
-\u6ce8\u91ca\u503c\u5fc5\u987b\u4e3a\u6ce8\u91ca
-compiler.err.annotation.value.must.be.class.literal=\
-\u6ce8\u91ca\u503c\u5fc5\u987b\u4e3a\u7c7b\u5b57\u9762\u503c
-compiler.err.annotation.value.must.be.name.value=\
-    \u6ce8\u91ca\u503c\u5fc5\u987b\u4e3a\u4ee5\u4e0b\u683c\u5f0f\uff1a\u201cname=value\u201d
-compiler.err.annotation.value.not.allowable.type=\
-\u6ce8\u91ca\u503c\u4e0d\u662f\u5141\u8bb8\u7684\u7c7b\u578b
-compiler.err.anon.class.impl.intf.no.args=\
-\u533f\u540d\u7c7b\u5b9e\u73b0\u63a5\u53e3\uff1b\u4e0d\u80fd\u6709\u53c2\u6570
-compiler.err.anon.class.impl.intf.no.typeargs=\
-\u533f\u540d\u7c7b\u5b9e\u73b0\u63a5\u53e3\uff1b\u4e0d\u80fd\u5177\u6709\u7c7b\u578b\u53c2\u6570
-compiler.err.anon.class.impl.intf.no.qual.for.new=\
-\u533f\u540d\u7c7b\u5b9e\u73b0\u63a5\u53e3\uff1b\u4e0d\u80fd\u6709\u9650\u5b9a\u7b26 - \u5bf9\u4e8e\u65b0
-compiler.err.array.and.varargs=\
-\u65e0\u6cd5\u5728 {2} \u4e2d\u540c\u65f6\u58f0\u660e {0} \u548c {1}
-compiler.err.array.dimension.missing=\
-\u7f3a\u5c11\u6570\u7ec4\u7ef4\u6570
-compiler.err.array.req.but.found=\
-\u9700\u8981\u6570\u7ec4\uff0c\u4f46\u627e\u5230 {0}
+compiler.err.abstract.cant.be.instantiated={0} \u662f\u62bd\u8c61\u7684\uff1b\u65e0\u6cd5\u5bf9\u5176\u8fdb\u884c\u5b9e\u4f8b\u5316
+compiler.err.abstract.meth.cant.have.body=\u62bd\u8c61\u65b9\u6cd5\u4e0d\u80fd\u6709\u4e3b\u4f53
+compiler.err.already.annotated={0} {1} \u5df2\u88ab\u6ce8\u91ca
+compiler.err.already.defined=\u5df2\u5728 {1} \u4e2d\u5b9a\u4e49 {0}
+compiler.err.already.defined.single.import=\u5df2\u5728 single-type \u5bfc\u5165\u4e2d\u5b9a\u4e49 {0}
+compiler.err.already.defined.static.single.import=\u5df2\u5728\u9759\u6001 single-type \u5bfc\u5165\u4e2d\u5b9a\u4e49 {0}
+compiler.err.already.defined.this.unit=\u5df2\u5728\u8be5\u7f16\u8bd1\u5355\u5143\u4e2d\u5b9a\u4e49 {0}
+compiler.err.annotation.missing.default.value=\u6ce8\u91ca {0} \u7f3a\u5c11 {1}
+compiler.err.annotation.not.valid.for.type=\u5bf9\u4e8e\u7c7b\u578b\u4e3a {0} \u7684\u503c\uff0c\u6ce8\u91ca\u65e0\u6548
+compiler.err.annotation.type.not.applicable=\u6ce8\u91ca\u7c7b\u578b\u4e0d\u9002\u7528\u4e8e\u8be5\u7c7b\u578b\u7684\u58f0\u660e
+compiler.err.annotation.value.must.be.annotation=\u6ce8\u91ca\u503c\u5fc5\u987b\u4e3a\u6ce8\u91ca
+compiler.err.annotation.value.must.be.class.literal=\u6ce8\u91ca\u503c\u5fc5\u987b\u4e3a\u7c7b\u5b57\u9762\u503c
+compiler.err.annotation.value.must.be.name.value=\u6ce8\u91ca\u503c\u5fc5\u987b\u4e3a\u4ee5\u4e0b\u683c\u5f0f\uff1a\u201cname=value\u201d
+compiler.err.annotation.value.not.allowable.type=\u6ce8\u91ca\u503c\u4e0d\u662f\u5141\u8bb8\u7684\u7c7b\u578b
+compiler.err.anon.class.impl.intf.no.args=\u533f\u540d\u7c7b\u5b9e\u73b0\u63a5\u53e3\uff1b\u4e0d\u80fd\u6709\u53c2\u6570
+compiler.err.anon.class.impl.intf.no.typeargs=\u533f\u540d\u7c7b\u5b9e\u73b0\u63a5\u53e3\uff1b\u4e0d\u80fd\u5177\u6709\u7c7b\u578b\u53c2\u6570
+compiler.err.anon.class.impl.intf.no.qual.for.new=\u533f\u540d\u7c7b\u5b9e\u73b0\u63a5\u53e3\uff1b\u4e0d\u80fd\u6709\u9650\u5b9a\u7b26 - \u5bf9\u4e8e\u65b0
+compiler.err.array.and.varargs=\u65e0\u6cd5\u5728 {2} \u4e2d\u540c\u65f6\u58f0\u660e {0} \u548c {1}
+compiler.err.array.dimension.missing=\u7f3a\u5c11\u6570\u7ec4\u7ef4\u6570
+compiler.err.array.req.but.found=\u9700\u8981\u6570\u7ec4\uff0c\u4f46\u627e\u5230 {0}
 
-compiler.err.assignment.from.super-bound=\
-\u901a\u8fc7\u901a\u914d\u7b26 {0} \u6307\u5b9a
-compiler.err.assignment.to.extends-bound=\
-\u6307\u5b9a\u7ed9\u901a\u914d\u7b26 {0}
-compiler.err.attribute.value.must.be.constant=\
-\u5c5e\u6027\u503c\u5fc5\u987b\u4e3a\u5e38\u91cf
+compiler.err.assignment.from.super-bound=\u901a\u8fc7\u901a\u914d\u7b26 {0} \u6307\u5b9a
+compiler.err.assignment.to.extends-bound=\u6307\u5b9a\u7ed9\u901a\u914d\u7b26 {0}
+compiler.err.attribute.value.must.be.constant=\u5c5e\u6027\u503c\u5fc5\u987b\u4e3a\u5e38\u91cf
 
-compiler.err.break.outside.switch.loop=\
-\u5728 switch \u6216 loop \u5916\u90e8\u4e2d\u65ad
+compiler.err.break.outside.switch.loop=\u5728 switch \u6216 loop \u5916\u90e8\u4e2d\u65ad
 
-compiler.err.call.must.be.first.stmt.in.ctor=\
-\u5bf9 {0} \u7684\u8c03\u7528\u5fc5\u987b\u662f\u6784\u9020\u51fd\u6570\u4e2d\u7684\u7b2c\u4e00\u4e2a\u8bed\u53e5
-compiler.err.cant.apply.symbol=\
-\u65e0\u6cd5\u5c06 {1} \u4e2d\u7684 {0} \u5e94\u7528\u4e8e {2}({3})
-compiler.err.cant.apply.symbol.1=\
-\u65e0\u6cd5\u5c06 {1} \u4e2d\u7684 {0} \u5e94\u7528\u4e8e {2}({3})\uff1b{4}
-compiler.err.cant.assign.val.to.final.var=\
-\u65e0\u6cd5\u4e3a\u6700\u7ec8\u53d8\u91cf {0} \u6307\u5b9a\u503c
-compiler.err.cant.deref=\
-\u65e0\u6cd5\u53d6\u6d88\u5f15\u7528 {0}
-compiler.err.cant.extend.intf.annotation=\
-\u5bf9\u4e8e @interface\uff0c\u4e0d\u5141\u8bb8 "extends"
-compiler.err.cant.inherit.from.final=\
-\u65e0\u6cd5\u4ece\u6700\u7ec8 {0} \u8fdb\u884c\u7ee7\u627f
-compiler.err.cant.ref.before.ctor.called=\
-\u65e0\u6cd5\u5728\u8c03\u7528\u7236\u7c7b\u578b\u6784\u9020\u51fd\u6570\u4e4b\u524d\u5f15\u7528 {0}
-compiler.err.cant.ret.val.from.meth.decl.void=\
-\u5bf9\u4e8e\u7ed3\u679c\u7c7b\u578b\u4e3a void \u7684\u65b9\u6cd5\uff0c\u65e0\u6cd5\u8fd4\u56de\u503c
-compiler.err.cant.select.static.class.from.param.type=\
-\u65e0\u6cd5\u4ece\u53c2\u6570\u5316\u7684\u7c7b\u578b\u4e2d\u9009\u62e9\u9759\u6001\u7c7b
-compiler.err.cant.inherit.diff.arg=\
-\u65e0\u6cd5\u4f7f\u7528\u4ee5\u4e0b\u4e0d\u540c\u7684\u53c2\u6570\u7ee7\u627f {0}\uff1a<{1}> \u548c <{2}>
-compiler.err.catch.without.try=\
-"catch" \u4e0d\u5e26\u6709 "try"
-compiler.err.clash.with.pkg.of.same.name=\
-{0} \u4e0e\u5e26\u6709\u76f8\u540c\u540d\u79f0\u7684\u8f6f\u4ef6\u5305\u51b2\u7a81
-compiler.err.const.expr.req=\
-\u9700\u8981\u5e38\u91cf\u8868\u8fbe\u5f0f
-compiler.err.enum.const.req=\
-\u9700\u8981\u975e\u9650\u5b9a\u679a\u4e3e\u5e38\u91cf\u540d\u79f0
-compiler.err.cont.outside.loop=\
-continue \u5728 loop \u5916\u90e8
-compiler.err.cyclic.inheritance=\
-\u5faa\u73af\u7ee7\u627f\u6d89\u53ca {0}
-compiler.err.cyclic.annotation.element=\
-\u5faa\u73af\u6ce8\u91ca\u5143\u7d20\u7c7b\u578b
-compiler.err.call.to.super.not.allowed.in.enum.ctor=\
-\u5728\u679a\u4e3e\u6784\u9020\u51fd\u6570\u4e2d\u4e0d\u5141\u8bb8\u8c03\u7528\u7236\u7c7b\u578b
-compiler.err.no.superclass=\
-{0} \u4e0d\u5177\u6709\u7236\u7c7b
+compiler.err.call.must.be.first.stmt.in.ctor=\u5bf9 {0} \u7684\u8c03\u7528\u5fc5\u987b\u662f\u6784\u9020\u51fd\u6570\u4e2d\u7684\u7b2c\u4e00\u4e2a\u8bed\u53e5
+compiler.err.cant.apply.symbol=\u65e0\u6cd5\u5c06  {4} {5} \u4e2d\u7684 {0} {1} \u5e94\u7528\u4e8e {2}({3})
+compiler.err.cant.apply.symbol.1=\u65e0\u6cd5\u5c06  {4} {5} \u4e2d\u7684 {0} {1} \u5e94\u7528\u4e8e {2}({3})\n\u539f\u56e0\u4e3a: {6}
+compiler.err.cant.assign.val.to.final.var=\u65e0\u6cd5\u4e3a\u6700\u7ec8\u53d8\u91cf {0} \u6307\u5b9a\u503c
+compiler.err.cant.deref=\u65e0\u6cd5\u53d6\u6d88\u5f15\u7528 {0}
+compiler.err.cant.extend.intf.annotation=\u5bf9\u4e8e @interface\uff0c\u4e0d\u5141\u8bb8 "extends"
+compiler.err.cant.inherit.from.final=\u65e0\u6cd5\u4ece\u6700\u7ec8 {0} \u8fdb\u884c\u7ee7\u627f
+compiler.err.cant.ref.before.ctor.called=\u65e0\u6cd5\u5728\u8c03\u7528\u7236\u7c7b\u578b\u6784\u9020\u51fd\u6570\u4e4b\u524d\u5f15\u7528 {0}
+compiler.err.cant.ret.val.from.meth.decl.void=\u5bf9\u4e8e\u7ed3\u679c\u7c7b\u578b\u4e3a void \u7684\u65b9\u6cd5\uff0c\u65e0\u6cd5\u8fd4\u56de\u503c
+compiler.err.cant.select.static.class.from.param.type=\u65e0\u6cd5\u4ece\u53c2\u6570\u5316\u7684\u7c7b\u578b\u4e2d\u9009\u62e9\u9759\u6001\u7c7b
+compiler.err.cant.inherit.diff.arg=\u65e0\u6cd5\u4f7f\u7528\u4ee5\u4e0b\u4e0d\u540c\u7684\u53c2\u6570\u7ee7\u627f {0}\uff1a<{1}> \u548c <{2}>
+compiler.err.catch.without.try="catch" \u4e0d\u5e26\u6709 "try"
+compiler.err.clash.with.pkg.of.same.name={0} \u4e0e\u5e26\u6709\u76f8\u540c\u540d\u79f0\u7684\u8f6f\u4ef6\u5305\u51b2\u7a81
+compiler.err.const.expr.req=\u9700\u8981\u5e38\u91cf\u8868\u8fbe\u5f0f
+compiler.err.enum.const.req=\u9700\u8981\u975e\u9650\u5b9a\u679a\u4e3e\u5e38\u91cf\u540d\u79f0
+compiler.err.cont.outside.loop=continue \u5728 loop \u5916\u90e8
+compiler.err.cyclic.inheritance=\u5faa\u73af\u7ee7\u627f\u6d89\u53ca {0}
+compiler.err.cyclic.annotation.element=\u5faa\u73af\u6ce8\u91ca\u5143\u7d20\u7c7b\u578b
+compiler.err.call.to.super.not.allowed.in.enum.ctor=\u5728\u679a\u4e3e\u6784\u9020\u51fd\u6570\u4e2d\u4e0d\u5141\u8bb8\u8c03\u7528\u7236\u7c7b\u578b
+compiler.err.no.superclass={0} \u4e0d\u5177\u6709\u7236\u7c7b
 
-compiler.err.concrete.inheritance.conflict=\
-{1} \u4e2d\u7684\u65b9\u6cd5 {0} \u548c {3} \u4e2d\u7684\u65b9\u6cd5 {2} \u662f\u4f7f\u7528\u76f8\u540c\u7684\u7b7e\u540d\u7ee7\u627f\u7684
+compiler.err.concrete.inheritance.conflict={1} \u4e2d\u7684\u65b9\u6cd5 {0} \u548c {3} \u4e2d\u7684\u65b9\u6cd5 {2} \u662f\u4f7f\u7528\u76f8\u540c\u7684\u7b7e\u540d\u7ee7\u627f\u7684
 
-compiler.err.default.allowed.in.intf.annotation.member=\
-\u4ec5\u5728 @interface \u6210\u5458\u4e2d\u5141\u8bb8\u4f7f\u7528\u9ed8\u8ba4\u503c
-compiler.err.doesnt.exist=\
-\u8f6f\u4ef6\u5305 {0} \u4e0d\u5b58\u5728
-compiler.err.duplicate.annotation=\
-\u6ce8\u91ca\u91cd\u590d
-compiler.err.duplicate.annotation.member.value=\
-{1} \u4e2d\u7684\u6ce8\u91ca\u6210\u5458\u503c {0} \u91cd\u590d
-compiler.err.duplicate.class=\
-\u7c7b\u91cd\u590d\uff1a {0}
-compiler.err.duplicate.case.label=\
-case \u6807\u7b7e\u91cd\u590d
-compiler.err.duplicate.default.label=\
-default \u6807\u7b7e\u91cd\u590d
+compiler.err.default.allowed.in.intf.annotation.member=\u4ec5\u5728 @interface \u6210\u5458\u4e2d\u5141\u8bb8\u4f7f\u7528\u9ed8\u8ba4\u503c
+compiler.err.doesnt.exist=\u8f6f\u4ef6\u5305 {0} \u4e0d\u5b58\u5728
+compiler.err.duplicate.annotation=\u6ce8\u91ca\u91cd\u590d
+compiler.err.duplicate.annotation.member.value={1} \u4e2d\u7684\u6ce8\u91ca\u6210\u5458\u503c {0} \u91cd\u590d
+compiler.err.duplicate.class=\u7c7b\u91cd\u590d\uff1a {0}
+compiler.err.duplicate.case.label=case \u6807\u7b7e\u91cd\u590d
+compiler.err.duplicate.default.label=default \u6807\u7b7e\u91cd\u590d
 
-compiler.err.else.without.if=\
-"else" \u4e0d\u5e26\u6709 "if"
-compiler.err.empty.char.lit=\
-\u7a7a\u5b57\u7b26\u5b57\u9762\u503c
-compiler.err.encl.class.required=\
-\u9700\u8981\u5305\u542b {0} \u7684\u5c01\u95ed\u5b9e\u4f8b
-compiler.err.enum.annotation.must.be.enum.constant=\
-\u679a\u4e3e\u6ce8\u91ca\u503c\u5fc5\u987b\u662f\u679a\u4e3e\u5e38\u91cf
+compiler.err.else.without.if="else" \u4e0d\u5e26\u6709 "if"
+compiler.err.empty.bytecode.ident=\u7a7a\u5b57\u8282\u7801\u6807\u8bc6\u7b26
+compiler.err.empty.char.lit=\u7a7a\u5b57\u7b26\u5b57\u9762\u503c
+compiler.err.encl.class.required=\u9700\u8981\u5305\u542b {0} \u7684\u5c01\u95ed\u5b9e\u4f8b
+compiler.err.enum.annotation.must.be.enum.constant=\u679a\u4e3e\u6ce8\u91ca\u503c\u5fc5\u987b\u662f\u679a\u4e3e\u5e38\u91cf
 
-compiler.err.enum.cant.be.instantiated=\
-\u65e0\u6cd5\u5b9e\u4f8b\u5316\u679a\u4e3e\u7c7b\u578b
-compiler.err.enum.label.must.be.unqualified.enum=\
-\u679a\u4e3e switch case \u6807\u7b7e\u5fc5\u987b\u4e3a\u679a\u4e3e\u5e38\u91cf\u7684\u975e\u9650\u5b9a\u540d\u79f0
-compiler.err.enum.no.subclassing=\
-\u7c7b\u65e0\u6cd5\u76f4\u63a5\u7ee7\u627f java.lang.Enum
-compiler.err.enum.types.not.extensible=\
-\u679a\u4e3e\u7c7b\u578b\u4e0d\u53ef\u7ee7\u627f
-compiler.err.enum.no.finalize=\
-\u679a\u4e3e\u4e0d\u80fd\u6709 finalize \u65b9\u6cd5
-compiler.err.error.reading.file=\
-\u8bfb\u53d6 {0} \u65f6\u51fa\u9519\uff1b{1}
-compiler.err.except.already.caught=\
-\u5df2\u6355\u6349\u5230\u5f02\u5e38 {0}
-compiler.err.except.never.thrown.in.try=\
-\u5728\u76f8\u5e94\u7684 try \u8bed\u53e5\u4e3b\u4f53\u4e2d\u4e0d\u80fd\u629b\u51fa\u5f02\u5e38 {0}
+compiler.err.enum.cant.be.instantiated=\u65e0\u6cd5\u5b9e\u4f8b\u5316\u679a\u4e3e\u7c7b\u578b
+compiler.err.enum.label.must.be.unqualified.enum=\u679a\u4e3e switch case \u6807\u7b7e\u5fc5\u987b\u4e3a\u679a\u4e3e\u5e38\u91cf\u7684\u975e\u9650\u5b9a\u540d\u79f0
+compiler.err.enum.no.subclassing=\u7c7b\u65e0\u6cd5\u76f4\u63a5\u7ee7\u627f java.lang.Enum
+compiler.err.enum.types.not.extensible=\u679a\u4e3e\u7c7b\u578b\u4e0d\u53ef\u7ee7\u627f
+compiler.err.enum.no.finalize=\u679a\u4e3e\u4e0d\u80fd\u6709 finalize \u65b9\u6cd5
+compiler.err.error.reading.file=\u8bfb\u53d6 {0} \u65f6\u51fa\u9519\uff1b{1}
+compiler.err.except.already.caught=\u5df2\u6355\u6349\u5230\u5f02\u5e38 {0}
+compiler.err.except.never.thrown.in.try=\u5728\u76f8\u5e94\u7684 try \u8bed\u53e5\u4e3b\u4f53\u4e2d\u4e0d\u80fd\u629b\u51fa\u5f02\u5e38 {0}
 
-compiler.err.final.parameter.may.not.be.assigned=\
-\u4e0d\u80fd\u6307\u5b9a\u6700\u7ec8\u53c2\u6570 {0}
-compiler.err.finally.without.try=\
-"finally" \u4e0d\u5e26\u6709 "try"
-compiler.err.foreach.not.applicable.to.type=\
-foreach \u4e0d\u9002\u7528\u4e8e\u8868\u8fbe\u5f0f\u7c7b\u578b
-compiler.err.fp.number.too.large=\
-\u6d6e\u70b9\u6570\u8fc7\u5927
-compiler.err.fp.number.too.small=\
-\u6d6e\u70b9\u6570\u8fc7\u5c0f
+compiler.err.final.parameter.may.not.be.assigned=\u4e0d\u80fd\u6307\u5b9a\u6700\u7ec8\u53c2\u6570 {0}
+compiler.err.finally.without.try="finally" \u4e0d\u5e26\u6709 "try"
+compiler.err.foreach.not.applicable.to.type=foreach \u4e0d\u9002\u7528\u4e8e\u8868\u8fbe\u5f0f\u7c7b\u578b
+compiler.err.fp.number.too.large=\u6d6e\u70b9\u6570\u8fc7\u5927
+compiler.err.fp.number.too.small=\u6d6e\u70b9\u6570\u8fc7\u5c0f
 
-compiler.err.generic.array.creation=\
-\u521b\u5efa\u6cdb\u578b\u6570\u7ec4
-compiler.err.generic.throwable=\
-\u6cdb\u578b\u7c7b\u65e0\u6cd5\u7ee7\u627f java.lang.Throwable
+compiler.err.generic.array.creation=\u521b\u5efa\u6cdb\u578b\u6570\u7ec4
+compiler.err.generic.throwable=\u6cdb\u578b\u7c7b\u65e0\u6cd5\u7ee7\u627f java.lang.Throwable
 
-compiler.err.icls.cant.have.static.decl=\
-\u5185\u90e8\u7c7b\u4e0d\u80fd\u6709\u9759\u6001\u58f0\u660e
-compiler.err.illegal.char=\
-\u975e\u6cd5\u5b57\u7b26\uff1a \\{0}
-compiler.err.illegal.char.for.encoding=\
-\u7f16\u7801 {0} \u7684\u4e0d\u53ef\u6620\u5c04\u5b57\u7b26
-compiler.err.illegal.combination.of.modifiers=\
-\u975e\u6cd5\u7684\u4fee\u9970\u7b26\u7ec4\u5408\uff1a{0} \u548c {1}
-compiler.err.illegal.enum.static.ref=\
-\u521d\u59cb\u5316\u7a0b\u5e8f\u4e2d\u5bf9\u9759\u6001\u5b57\u6bb5\u7684\u5f15\u7528\u4e0d\u5408\u6cd5
-compiler.err.illegal.esc.char=\
-\u975e\u6cd5\u8f6c\u4e49\u5b57\u7b26
-compiler.err.illegal.forward.ref=\
-\u975e\u6cd5\u5411\u524d\u5f15\u7528
-compiler.warn.forward.ref=\
-    \u5148\u5f15\u7528\u53d8\u91cf''{0}''\uff0c\u7136\u540e\u518d\u5bf9\u5176\u521d\u59cb\u5316
-compiler.err.illegal.generic.type.for.instof=\
-instanceof \u7684\u6cdb\u578b\u7c7b\u578b\u4e0d\u5408\u6cd5
-compiler.err.illegal.initializer.for.type=\
-{0} \u7684\u521d\u59cb\u5316\u7a0b\u5e8f\u4e0d\u5408\u6cd5
-compiler.err.illegal.line.end.in.char.lit=\
-\u5b57\u7b26\u5b57\u9762\u503c\u7684\u884c\u7ed3\u5c3e\u4e0d\u5408\u6cd5
-compiler.err.illegal.nonascii.digit=\
-\u975e\u6cd5\u7684\u975e ASCII \u6570\u5b57
-compiler.err.illegal.qual.not.icls=\
-\u975e\u6cd5\u9650\u5b9a\u7b26\uff1b{0} \u4e0d\u662f\u5185\u90e8\u7c7b
-compiler.err.illegal.start.of.expr=\
-\u975e\u6cd5\u7684\u8868\u8fbe\u5f0f\u5f00\u59cb
-compiler.err.illegal.start.of.type=\
-\u975e\u6cd5\u7684\u7c7b\u578b\u5f00\u59cb
-compiler.err.illegal.unicode.esc=\
-\u975e\u6cd5\u7684 Unicode \u8f6c\u4e49
-compiler.err.import.requires.canonical=\
-\u5bfc\u5165\u9700\u8981 {0} \u7684\u89c4\u8303\u540d\u79f0
-compiler.err.improperly.formed.type.param.missing=\
-\u7c7b\u578b\u7684\u683c\u5f0f\u4e0d\u6b63\u786e\uff0c\u7f3a\u5c11\u67d0\u4e9b\u53c2\u6570
-compiler.err.improperly.formed.type.inner.raw.param=\
-\u7c7b\u578b\u7684\u683c\u5f0f\u4e0d\u6b63\u786e\uff0c\u7ed9\u51fa\u4e86\u666e\u901a\u7c7b\u578b\u7684\u7c7b\u578b\u53c2\u6570
-compiler.err.incomparable.types=\
-\u4e0d\u53ef\u6bd4\u8f83\u7684\u7c7b\u578b\uff1a{0} \u548c {1}
-compiler.err.int.number.too.large=\
-\u8fc7\u5927\u7684\u6574\u6570\uff1a {0}
-compiler.err.internal.error.cant.instantiate=\
-\u5185\u90e8\u9519\u8bef\uff1b\u65e0\u6cd5\u5c06\u4f4d\u4e8e {1} \u7684 {0} \u5b9e\u4f8b\u5316\u4e3a ({2})
-compiler.err.intf.annotation.members.cant.have.params=\
-@interface \u6210\u5458\u4e0d\u80fd\u5e26\u6709\u53c2\u6570
-compiler.err.intf.annotation.cant.have.type.params=\
-@interface \u4e0d\u80fd\u5e26\u6709\u7c7b\u578b\u53c2\u6570
-compiler.err.intf.annotation.members.cant.have.type.params=\
-@interface \u6210\u5458\u4e0d\u80fd\u5e26\u6709\u7c7b\u578b\u53c2\u6570
-compiler.err.intf.annotation.member.clash=\
-    @interface \u6210\u5458\u4e0e {1} \u4e2d\u7684\u65b9\u6cd5''{0}''\u51b2\u7a81
-compiler.err.intf.expected.here=\
-\u6b64\u5904\u9700\u8981\u63a5\u53e3
-compiler.err.intf.meth.cant.have.body=\
-\u63a5\u53e3\u65b9\u6cd5\u4e0d\u80fd\u5e26\u6709\u4e3b\u4f53
-compiler.err.invalid.annotation.member.type=\
-\u6ce8\u91ca\u6210\u5458\u7684\u7c7b\u578b\u65e0\u6548
-compiler.err.invalid.hex.number=\
-\u5341\u516d\u8fdb\u5236\u6570\u5b57\u5fc5\u987b\u5305\u542b\u81f3\u5c11\u4e00\u4f4d\u5341\u516d\u8fdb\u5236\u6570
-compiler.err.invalid.meth.decl.ret.type.req=\
-\u65b9\u6cd5\u58f0\u660e\u65e0\u6548\uff1b\u9700\u8981\u8fd4\u56de\u7c7b\u578b
+compiler.err.icls.cant.have.static.decl=\u5185\u90e8\u7c7b\u4e0d\u80fd\u6709\u9759\u6001\u58f0\u660e
+compiler.err.illegal.bytecode.ident.char=\u975e\u6cd5\u5b57\u8282\u7801\u6807\u8bc6\u7b26\u5b57\u7b26\uff1a\\{0}
+compiler.err.illegal.char=\u975e\u6cd5\u5b57\u7b26\uff1a \\{0}
+compiler.err.illegal.char.for.encoding=\u7f16\u7801 {0} \u7684\u4e0d\u53ef\u6620\u5c04\u5b57\u7b26
+compiler.err.illegal.combination.of.modifiers=\u975e\u6cd5\u7684\u4fee\u9970\u7b26\u7ec4\u5408\uff1a{0} \u548c {1}
+compiler.err.illegal.enum.static.ref=\u521d\u59cb\u5316\u7a0b\u5e8f\u4e2d\u5bf9\u9759\u6001\u5b57\u6bb5\u7684\u5f15\u7528\u4e0d\u5408\u6cd5
+compiler.err.illegal.esc.char=\u975e\u6cd5\u8f6c\u4e49\u5b57\u7b26
+compiler.err.illegal.forward.ref=\u975e\u6cd5\u5411\u524d\u5f15\u7528
+compiler.warn.forward.ref=\u5728\u53d8\u91cf\u3000''{0}''  \u521d\u59cb\u5316\u4e4b\u524d\u5bf9\u5176\u5f15\u7528
+compiler.err.illegal.self.ref=\u521d\u59cb\u5316\u7a0b\u5e8f\u4e2d\u81ea\u6211\u5f15\u7528
+compiler.warn.self.ref=\u5728\u53d8\u91cf\u3000''{0}''\u3000\u7684\u521d\u59cb\u5316\u7a0b\u5e8f\u4e2d\u81ea\u6211\u5f15\u7528
+compiler.err.illegal.generic.type.for.instof=instanceof \u7684\u6cdb\u578b\u7c7b\u578b\u4e0d\u5408\u6cd5
+compiler.err.illegal.initializer.for.type={0} \u7684\u521d\u59cb\u5316\u7a0b\u5e8f\u4e0d\u5408\u6cd5
+compiler.err.illegal.line.end.in.char.lit=\u5b57\u7b26\u5b57\u9762\u503c\u7684\u884c\u7ed3\u5c3e\u4e0d\u5408\u6cd5
+compiler.err.illegal.nonascii.digit=\u975e\u6cd5\u7684\u975e ASCII \u6570\u5b57
+compiler.err.illegal.underscore=\u975e\u6cd5\u4e0b\u5212\u7ebf
+compiler.err.illegal.qual.not.icls=\u975e\u6cd5\u9650\u5b9a\u7b26\uff1b{0} \u4e0d\u662f\u5185\u90e8\u7c7b
+compiler.err.illegal.start.of.expr=\u975e\u6cd5\u7684\u8868\u8fbe\u5f0f\u5f00\u59cb
+compiler.err.illegal.start.of.type=\u975e\u6cd5\u7684\u7c7b\u578b\u5f00\u59cb
+compiler.err.illegal.unicode.esc=\u975e\u6cd5\u7684 Unicode \u8f6c\u4e49
+compiler.err.import.requires.canonical=\u5bfc\u5165\u9700\u8981 {0} \u7684\u89c4\u8303\u540d\u79f0
+compiler.err.improperly.formed.type.param.missing=\u7c7b\u578b\u7684\u683c\u5f0f\u4e0d\u6b63\u786e\uff0c\u7f3a\u5c11\u67d0\u4e9b\u53c2\u6570
+compiler.err.improperly.formed.type.inner.raw.param=\u7c7b\u578b\u7684\u683c\u5f0f\u4e0d\u6b63\u786e\uff0c\u7ed9\u51fa\u4e86\u666e\u901a\u7c7b\u578b\u7684\u7c7b\u578b\u53c2\u6570
+compiler.err.incomparable.types=\u4e0d\u53ef\u6bd4\u8f83\u7684\u7c7b\u578b\uff1a{0} \u548c {1}
+compiler.err.int.number.too.large=\u8fc7\u5927\u7684\u6574\u6570\uff1a {0}
+compiler.err.internal.error.cant.instantiate=\u5185\u90e8\u9519\u8bef\uff1b\u65e0\u6cd5\u5c06\u4f4d\u4e8e {1} \u7684 {0} \u5b9e\u4f8b\u5316\u4e3a ({2})
+compiler.err.intf.annotation.members.cant.have.params=@interface \u6210\u5458\u4e0d\u80fd\u5e26\u6709\u53c2\u6570
+compiler.err.intf.annotation.cant.have.type.params=@interface \u4e0d\u80fd\u5e26\u6709\u7c7b\u578b\u53c2\u6570
+compiler.err.intf.annotation.members.cant.have.type.params=@interface \u6210\u5458\u4e0d\u80fd\u5e26\u6709\u7c7b\u578b\u53c2\u6570
+compiler.err.intf.annotation.member.clash=@interface \u6210\u5458\u4e0e {1} \u4e2d\u7684\u65b9\u6cd5''{0}''\u51b2\u7a81
+compiler.err.intf.expected.here=\u6b64\u5904\u9700\u8981\u63a5\u53e3
+compiler.err.intf.meth.cant.have.body=\u63a5\u53e3\u65b9\u6cd5\u4e0d\u80fd\u5e26\u6709\u4e3b\u4f53
+compiler.err.invalid.annotation.member.type=\u6ce8\u91ca\u6210\u5458\u7684\u7c7b\u578b\u65e0\u6548
+compiler.err.invalid.binary.number=\u4e8c\u8fdb\u5236\u6570\u5b57\u5fc5\u987b\u5305\u542b\u81f3\u5c11\u4e00\u4f4d\u4e8c\u8fdb\u5236\u6570
+compiler.err.invalid.hex.number=\u5341\u516d\u8fdb\u5236\u6570\u5b57\u5fc5\u987b\u5305\u542b\u81f3\u5c11\u4e00\u4f4d\u5341\u516d\u8fdb\u5236\u6570
+compiler.err.invalid.meth.decl.ret.type.req=\u65b9\u6cd5\u58f0\u660e\u65e0\u6548\uff1b\u9700\u8981\u8fd4\u56de\u7c7b\u578b
 
-compiler.err.label.already.in.use=\
-\u6807\u7b7e {0} \u5df2\u4f7f\u7528
-compiler.err.local.var.accessed.from.icls.needs.final=\
-\u4ece\u5185\u90e8\u7c7b\u4e2d\u8bbf\u95ee\u5c40\u90e8\u53d8\u91cf {0}\uff1b\u9700\u8981\u88ab\u58f0\u660e\u4e3a\u6700\u7ec8\u7c7b\u578b
-compiler.err.local.enum=\
-\u679a\u4e3e\u7c7b\u578b\u4e0d\u80fd\u4e3a\u672c\u5730\u7c7b\u578b
+compiler.err.label.already.in.use=\u6807\u7b7e {0} \u5df2\u4f7f\u7528
+compiler.err.local.var.accessed.from.icls.needs.final=\u4ece\u5185\u90e8\u7c7b\u4e2d\u8bbf\u95ee\u5c40\u90e8\u53d8\u91cf {0}\uff1b\u9700\u8981\u88ab\u58f0\u660e\u4e3a\u6700\u7ec8\u7c7b\u578b
+compiler.err.local.enum=\u679a\u4e3e\u7c7b\u578b\u4e0d\u80fd\u4e3a\u672c\u5730\u7c7b\u578b
+compiler.err.cannot.create.array.with.type.arguments=\u4e0d\u80fd\u4f7f\u7528\u7c7b\u578b\u53c2\u6570\u521b\u5efa\u6570\u7ec4
 
 #
 # limits.  We don't give the limits in the diagnostic because we expect
 # them to change, yet we want to use the same diagnostic.  These are all
 # detected during code generation.
 #
-compiler.err.limit.code=\
-\u4ee3\u7801\u8fc7\u957f
-compiler.err.limit.code.too.large.for.try.stmt=\
-try \u8bed\u53e5\u7684\u4ee3\u7801\u8fc7\u957f
-compiler.err.limit.dimensions=\
-\u6570\u7ec4\u7c7b\u578b\u7ef4\u6570\u8fc7\u591a
-compiler.err.limit.locals=\
-\u5c40\u90e8\u53d8\u91cf\u8fc7\u591a
-compiler.err.limit.parameters=\
-\u53c2\u6570\u8fc7\u591a
-compiler.err.limit.pool=\
-\u5e38\u91cf\u8fc7\u591a
-compiler.err.limit.pool.in.class=\
-\u7c7b {0} \u4e2d\u7684\u5e38\u91cf\u8fc7\u591a
-compiler.err.limit.stack=\
-\u4ee3\u7801\u9700\u8981\u8fc7\u591a\u5806\u6808
-compiler.err.limit.string=\
-\u5e38\u91cf\u5b57\u7b26\u4e32\u8fc7\u957f
-compiler.err.limit.string.overflow=\
-\u5bf9\u4e8e\u5e38\u91cf\u6c60\u6765\u8bf4\uff0c\u5b57\u7b26\u4e32 \"{0}...\" \u7684 UTF8 \u8868\u793a\u8fc7\u957f
+compiler.err.limit.code=\u4ee3\u7801\u8fc7\u957f
+compiler.err.limit.code.too.large.for.try.stmt=try \u8bed\u53e5\u7684\u4ee3\u7801\u8fc7\u957f
+compiler.err.limit.dimensions=\u6570\u7ec4\u7c7b\u578b\u7ef4\u6570\u8fc7\u591a
+compiler.err.limit.locals=\u5c40\u90e8\u53d8\u91cf\u8fc7\u591a
+compiler.err.limit.parameters=\u53c2\u6570\u8fc7\u591a
+compiler.err.limit.pool=\u5e38\u91cf\u8fc7\u591a
+compiler.err.limit.pool.in.class=\u7c7b {0} \u4e2d\u7684\u5e38\u91cf\u8fc7\u591a
+compiler.err.limit.stack=\u4ee3\u7801\u9700\u8981\u8fc7\u591a\u5806\u6808
+compiler.err.limit.string=\u5e38\u91cf\u5b57\u7b26\u4e32\u8fc7\u957f
+compiler.err.limit.string.overflow=\u5bf9\u4e8e\u5e38\u91cf\u6c60\u6765\u8bf4\uff0c\u5b57\u7b26\u4e32 \"{0}...\" \u7684 UTF8 \u8868\u793a\u8fc7\u957f
 
-compiler.err.malformed.fp.lit=\
-\u6d6e\u70b9\u5b57\u9762\u503c\u4e0d\u89c4\u5219
-compiler.err.method.does.not.override.superclass=\
-    \u65b9\u6cd5\u4e0d\u4f1a\u8986\u76d6\u6216\u5b9e\u73b0\u8d85\u7c7b\u578b\u7684\u65b9\u6cd5
-compiler.err.missing.meth.body.or.decl.abstract=\
-\u7f3a\u5c11\u65b9\u6cd5\u4e3b\u4f53\uff0c\u6216\u58f0\u660e\u62bd\u8c61
-compiler.err.missing.ret.stmt=\
-\u7f3a\u5c11\u8fd4\u56de\u8bed\u53e5
-compiler.err.missing.ret.val=\
-\u7f3a\u5c11\u8fd4\u56de\u503c
-compiler.err.mod.not.allowed.here=\
-\u6b64\u5904\u4e0d\u5141\u8bb8\u4f7f\u7528\u4fee\u9970\u7b26 {0}
-compiler.err.intf.not.allowed.here=\
-\u6b64\u5904\u4e0d\u5141\u8bb8\u4f7f\u7528\u63a5\u53e3
-compiler.err.enums.must.be.static=\
-\u53ea\u6709\u5728\u9759\u6001\u4e0a\u4e0b\u6587\u4e2d\u624d\u5141\u8bb8\u4f7f\u7528\u679a\u4e3e\u58f0\u660e
+compiler.err.malformed.fp.lit=\u6d6e\u70b9\u5b57\u9762\u503c\u4e0d\u89c4\u5219
+compiler.err.method.does.not.override.superclass=\u65b9\u6cd5\u4e0d\u4f1a\u8986\u76d6\u6216\u5b9e\u73b0\u8d85\u7c7b\u578b\u7684\u65b9\u6cd5
+compiler.err.missing.meth.body.or.decl.abstract=\u7f3a\u5c11\u65b9\u6cd5\u4e3b\u4f53\uff0c\u6216\u58f0\u660e\u62bd\u8c61
+compiler.err.missing.ret.stmt=\u7f3a\u5c11\u8fd4\u56de\u8bed\u53e5
+compiler.err.missing.ret.val=\u7f3a\u5c11\u8fd4\u56de\u503c
+compiler.err.mod.not.allowed.here=\u6b64\u5904\u4e0d\u5141\u8bb8\u4f7f\u7528\u4fee\u9970\u7b26 {0}
+compiler.err.intf.not.allowed.here=\u6b64\u5904\u4e0d\u5141\u8bb8\u4f7f\u7528\u63a5\u53e3
+compiler.err.enums.must.be.static=\u53ea\u6709\u5728\u9759\u6001\u4e0a\u4e0b\u6587\u4e2d\u624d\u5141\u8bb8\u4f7f\u7528\u679a\u4e3e\u58f0\u660e
 
-compiler.err.name.clash.same.erasure=\
-\u540d\u79f0\u51b2\u7a81\uff1a{0} \u548c {1} \u5177\u6709\u76f8\u540c\u7591\u7b26
-compiler.err.name.clash.same.erasure.no.override=\
-\u540d\u79f0\u51b2\u7a81\uff1a{1} \u4e2d\u7684 {0} \u548c {3} \u4e2d\u7684 {2} \u5177\u6709\u76f8\u540c\u7591\u7b26\uff0c\u4f46\u4e24\u8005\u5747\u4e0d\u8986\u76d6\u5bf9\u65b9
-compiler.err.name.reserved.for.internal.use=\
-{0} \u4e3a\u5185\u90e8\u4f7f\u7528\u4fdd\u7559
-compiler.err.native.meth.cant.have.body=\
-\u672c\u673a\u65b9\u6cd5\u4e0d\u80fd\u5e26\u6709\u4e3b\u4f53
-compiler.err.neither.conditional.subtype=\
-? \u7684\u4e0d\u517c\u5bb9\u7c7b\u578b\uff1a\u4e24\u8005\u90fd\u4e0d\u662f\u5bf9\u65b9\u7684\u5b50\u7c7b\u578b\n\
-\u7b2c\u4e8c\u4e2a\u64cd\u4f5c\u6570\uff1a {0}\n\
-\u7b2c\u4e09\u4e2a\u64cd\u4f5c\u6570\uff1a {1}
-compiler.err.new.not.allowed.in.annotation=\
-\u6ce8\u91ca\u4e2d\u4e0d\u5141\u8bb8\u4f7f\u7528 "new"
-compiler.err.no.annotation.member=\
-{1} \u4e2d\u6ca1\u6709\u6ce8\u91ca\u6210\u5458 {0}
-compiler.err.no.encl.instance.of.type.in.scope=\
-\u4f5c\u7528\u57df\u4e2d\u6ca1\u6709\u7c7b\u578b\u4e3a {0} \u7684\u5c01\u95ed\u5b9e\u4f8b
-compiler.err.no.intf.expected.here=\
-\u6b64\u5904\u4e0d\u9700\u8981\u63a5\u53e3
-compiler.err.no.match.entry=\
-{0} \u5728 {1} \u7684\u6761\u76ee\u4e2d\u6ca1\u6709\u5339\u914d\u9879\uff1b\u9700\u8981 {2}
-compiler.err.not.annotation.type=\
-{0} \u4e0d\u662f\u6ce8\u91ca\u7c7b\u578b
-compiler.err.not.def.access.class.intf.cant.access=\
-{1} \u4e2d\u7684 {0} \u662f\u5728\u4e0d\u53ef\u8bbf\u95ee\u7684\u7c7b\u6216\u63a5\u53e3\u4e2d\u5b9a\u4e49\u7684
-compiler.err.not.def.public.cant.access=\
-{0} \u5728 {1} \u4e2d\u4e0d\u662f\u516c\u5171\u7684\uff1b\u65e0\u6cd5\u4ece\u5916\u90e8\u8f6f\u4ef6\u5305\u4e2d\u5bf9\u5176\u8fdb\u884c\u8bbf\u95ee
-compiler.err.not.loop.label=\
-\u4e0d\u662f loop \u6807\u7b7e\uff1a {0}
-compiler.err.not.stmt=\
-\u4e0d\u662f\u8bed\u53e5
-compiler.err.not.encl.class=\
-\u4e0d\u662f\u5c01\u95ed\u7c7b\uff1a {0}
+compiler.err.name.clash.same.erasure=\u540d\u79f0\u51b2\u7a81\uff1a{0} \u548c {1} \u5177\u6709\u76f8\u540c\u7591\u7b26
+compiler.err.name.clash.same.erasure.no.override=\u540d\u79f0\u51b2\u7a81\uff1a{1} \u4e2d\u7684 {0} \u548c {3} \u4e2d\u7684 {2} \u5177\u6709\u76f8\u540c\u7591\u7b26\uff0c\u4f46\u4e24\u8005\u5747\u4e0d\u8986\u76d6\u5bf9\u65b9
+compiler.err.name.reserved.for.internal.use={0} \u4e3a\u5185\u90e8\u4f7f\u7528\u4fdd\u7559
+compiler.err.native.meth.cant.have.body=\u672c\u673a\u65b9\u6cd5\u4e0d\u80fd\u5e26\u6709\u4e3b\u4f53
+compiler.err.neither.conditional.subtype=? \u7684\u4e0d\u517c\u5bb9\u7c7b\u578b\uff1a\u4e24\u8005\u90fd\u4e0d\u662f\u5bf9\u65b9\u7684\u5b50\u7c7b\u578b\n\u7b2c\u4e8c\u4e2a\u64cd\u4f5c\u6570\uff1a {0}\n\u7b2c\u4e09\u4e2a\u64cd\u4f5c\u6570\uff1a {1}
+compiler.err.new.not.allowed.in.annotation=\u6ce8\u91ca\u4e2d\u4e0d\u5141\u8bb8\u4f7f\u7528 "new"
+compiler.err.no.annotation.member={1} \u4e2d\u6ca1\u6709\u6ce8\u91ca\u6210\u5458 {0}
+compiler.err.no.encl.instance.of.type.in.scope=\u4f5c\u7528\u57df\u4e2d\u6ca1\u6709\u7c7b\u578b\u4e3a {0} \u7684\u5c01\u95ed\u5b9e\u4f8b
+compiler.err.no.intf.expected.here=\u6b64\u5904\u4e0d\u9700\u8981\u63a5\u53e3
+compiler.err.no.match.entry={0} \u5728 {1} \u7684\u6761\u76ee\u4e2d\u6ca1\u6709\u5339\u914d\u9879\uff1b\u9700\u8981 {2}
+compiler.err.not.annotation.type={0} \u4e0d\u662f\u6ce8\u91ca\u7c7b\u578b
+compiler.err.not.def.access.class.intf.cant.access={1} \u4e2d\u7684 {0} \u662f\u5728\u4e0d\u53ef\u8bbf\u95ee\u7684\u7c7b\u6216\u63a5\u53e3\u4e2d\u5b9a\u4e49\u7684
+compiler.err.not.def.public.cant.access={0} \u5728 {1} \u4e2d\u4e0d\u662f\u516c\u5171\u7684\uff1b\u65e0\u6cd5\u4ece\u5916\u90e8\u8f6f\u4ef6\u5305\u4e2d\u5bf9\u5176\u8fdb\u884c\u8bbf\u95ee
+compiler.err.not.loop.label=\u4e0d\u662f loop \u6807\u7b7e\uff1a {0}
+compiler.err.not.stmt=\u4e0d\u662f\u8bed\u53e5
+compiler.err.not.encl.class=\u4e0d\u662f\u5c01\u95ed\u7c7b\uff1a {0}
 
-compiler.err.operator.cant.be.applied=\
-\u8fd0\u7b97\u7b26 {0} \u4e0d\u80fd\u5e94\u7528\u4e8e {1}
+compiler.err.operator.cant.be.applied=\u8fd0\u7b97\u7b26 {0} \u4e0d\u80fd\u5e94\u7528\u4e8e {1}
 
-compiler.err.pkg.annotations.sb.in.package-info.java=\
-\u8f6f\u4ef6\u5305\u6ce8\u91ca\u5e94\u5728\u6587\u4ef6 package-info.java \u4e2d
-compiler.err.pkg.clashes.with.class.of.same.name=\
-\u8f6f\u4ef6\u5305 {0} \u4e0e\u5e26\u6709\u76f8\u540c\u540d\u79f0\u7684\u7c7b\u51b2\u7a81
+compiler.err.pkg.annotations.sb.in.package-info.java=\u8f6f\u4ef6\u5305\u6ce8\u91ca\u5e94\u5728\u6587\u4ef6 package-info.java \u4e2d
+compiler.err.pkg.clashes.with.class.of.same.name=\u8f6f\u4ef6\u5305 {0} \u4e0e\u5e26\u6709\u76f8\u540c\u540d\u79f0\u7684\u7c7b\u51b2\u7a81
+
+compiler.err.warnings.and.werror=\u53d1\u73b0\u8b66\u544a\u5e76\u4e14\u6307\u5b9a\u4e86\u3000-Werror
 
 # Errors related to annotation processing
 
-compiler.err.proc.cant.access=\
-\u65e0\u6cd5\u8bbf\u95ee {0}\n\
-{1}\n\
-\u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u4ee5\u4e0b\u5806\u6808\u8ffd\u8e2a\u3002\n\
-{2}
+compiler.err.proc.cant.access=\u65e0\u6cd5\u8bbf\u95ee {0}\n{1}\n\u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u4ee5\u4e0b\u5806\u6808\u8ffd\u8e2a\u3002\n{2}
 
-compiler.err.proc.cant.find.class=\
-\u627e\u4e0d\u5230\u201c{0}\u201d\u7684\u7c7b\u6587\u4ef6\u3002
+compiler.err.proc.cant.find.class=\u627e\u4e0d\u5230\u201c{0}\u201d\u7684\u7c7b\u6587\u4ef6\u3002
 
 # Print a client-generated error message; assumed to be localized, no translation required
-compiler.err.proc.messager=\
-    {0}
+compiler.err.proc.messager={0}
+
+compiler.err.proc.no.explicit.annotation.processing.requested=\u4ec5\u5f53\u663e\u5f0f\u8bf7\u6c42\u6ce8\u91ca\u5904\u7406\u65f6\u624d\u63a5\u53d7\u7c7b\u540d\u79f0\u201c{0}\u201d
 
-compiler.err.proc.no.explicit.annotation.processing.requested=\
-\u4ec5\u5f53\u663e\u5f0f\u8bf7\u6c42\u6ce8\u91ca\u5904\u7406\u65f6\u624d\u63a5\u53d7\u7c7b\u540d\u79f0\u201c{0}\u201d
+compiler.err.proc.no.service=\u65e0\u6cd5\u627e\u5230\u670d\u52a1\u52a0\u8f7d\u5668\u7c7b\u3002\njava.util.ServiceLoader \u6216 sun.misc.Service \u5fc5\u987b\u53ef\u7528\u3002
 
-compiler.err.proc.processor.bad.option.name=\
-    \u5904\u7406\u5668"{1}"\u63d0\u4f9b\u7684\u9009\u9879\u540d\u79f0"{0}"\u9519\u8bef
+compiler.err.proc.processor.bad.option.name=\u5904\u7406\u5668"{1}"\u63d0\u4f9b\u7684\u9009\u9879\u540d\u79f0"{0}"\u9519\u8bef
 
-compiler.err.proc.processor.cant.instantiate=\
-\u65e0\u6cd5\u5b9e\u4f8b\u5316\u5904\u7406\u7a0b\u5e8f\u201c{0}\u201d\u7684\u5b9e\u4f8b
+compiler.err.proc.processor.cant.instantiate=\u65e0\u6cd5\u5b9e\u4f8b\u5316\u5904\u7406\u7a0b\u5e8f\u201c{0}\u201d\u7684\u5b9e\u4f8b
 
-compiler.err.proc.processor.constructor.error=\
-\u6784\u9020\u5904\u7406\u7a0b\u5e8f\u5bf9\u8c61 {0} \u65f6\u629b\u51fa\u5f02\u5e38
+compiler.err.proc.processor.constructor.error=\u6784\u9020\u5904\u7406\u7a0b\u5e8f\u5bf9\u8c61 {0} \u65f6\u629b\u51fa\u5f02\u5e38
 
-compiler.err.proc.processor.not.found=\
-\u672a\u627e\u5230\u6ce8\u91ca\u5904\u7406\u7a0b\u5e8f\u201c{0}\u201d
+compiler.err.proc.processor.not.found=\u672a\u627e\u5230\u6ce8\u91ca\u5904\u7406\u7a0b\u5e8f\u201c{0}\u201d
 
-compiler.err.proc.processor.wrong.type=\
-\u6ce8\u91ca\u5904\u7406\u7a0b\u5e8f\u201c{0}\u201d\u672a\u5b9e\u73b0 javax.annotation.processing.Processor
+compiler.err.proc.processor.wrong.type=\u6ce8\u91ca\u5904\u7406\u7a0b\u5e8f\u201c{0}\u201d\u672a\u5b9e\u73b0 javax.annotation.processing.Processor
 
-compiler.err.proc.bad.config.file=\
-\u670d\u52a1\u914d\u7f6e\u6587\u4ef6\u4e0d\u6b63\u786e\uff0c\u6216\u6784\u9020\u5904\u7406\u7a0b\u5e8f\u5bf9\u8c61 {0} \u65f6\u629b\u51fa\u5f02\u5e38
+compiler.err.proc.service.problem=\u751f\u6210\u670d\u52a1\u52a0\u8f7d\u5668\u4ee5\u52a0\u8f7d\u5904\u7406\u5668\u65f6\u53d1\u751f\u9519\u8bef\u3002
+
+compiler.err.proc.bad.config.file=\u670d\u52a1\u914d\u7f6e\u6587\u4ef6\u4e0d\u6b63\u786e\uff0c\u6216\u6784\u9020\u5904\u7406\u7a0b\u5e8f\u5bf9\u8c61 {0} \u65f6\u629b\u51fa\u5f02\u5e38
 
-compiler.err.proc.cant.create.loader=\
-\u65e0\u6cd5\u4e3a\u6ce8\u91ca\u5904\u7406\u7a0b\u5e8f {0} \u521b\u5efa\u7c7b\u52a0\u8f7d\u5668
+compiler.err.proc.cant.create.loader=\u65e0\u6cd5\u4e3a\u6ce8\u91ca\u5904\u7406\u7a0b\u5e8f {0} \u521b\u5efa\u7c7b\u52a0\u8f7d\u5668
 
-compiler.err.qualified.new.of.static.class=\
-\u9650\u5b9a\u7684\u65b0\u9759\u6001\u7c7b
+compiler.err.qualified.new.of.static.class=\u9650\u5b9a\u7684\u65b0\u9759\u6001\u7c7b
 
-compiler.err.recursive.ctor.invocation=\
-\u9012\u5f52\u6784\u9020\u51fd\u6570\u8c03\u7528
-compiler.err.ref.ambiguous=\
-\u5bf9 {0} \u7684\u5f15\u7528\u4e0d\u660e\u786e\uff0c{3} \u4e2d\u7684 {1} {2} \u548c {6} \u4e2d\u7684 {4} {5} \u90fd\u5339\u914d
-compiler.err.repeated.annotation.target=\
-\u6ce8\u91ca\u76ee\u6807\u91cd\u590d
-compiler.err.repeated.interface=\
-\u63a5\u53e3\u91cd\u590d
-compiler.err.repeated.modifier=\
-\u4fee\u9970\u7b26\u91cd\u590d
-compiler.err.report.access=\
-{0} \u53ef\u4ee5\u5728 {2} \u4e2d\u8bbf\u95ee {1}
-compiler.err.ret.outside.meth=\
-\u8fd4\u56de\u5916\u90e8\u65b9\u6cd5
+compiler.err.recursive.ctor.invocation=\u9012\u5f52\u6784\u9020\u51fd\u6570\u8c03\u7528
+compiler.err.ref.ambiguous=\u5bf9 {0} \u7684\u5f15\u7528\u4e0d\u660e\u786e\uff0c{3} \u4e2d\u7684 {1} {2} \u548c {6} \u4e2d\u7684 {4} {5} \u90fd\u5339\u914d
+compiler.err.repeated.annotation.target=\u6ce8\u91ca\u76ee\u6807\u91cd\u590d
+compiler.err.repeated.interface=\u63a5\u53e3\u91cd\u590d
+compiler.err.repeated.modifier=\u4fee\u9970\u7b26\u91cd\u590d
+compiler.err.report.access={0} \u53ef\u4ee5\u5728 {2} \u4e2d\u8bbf\u95ee {1}
+compiler.err.ret.outside.meth=\u8fd4\u56de\u5916\u90e8\u65b9\u6cd5
 
-compiler.err.signature.doesnt.match.supertype=\
-\u7b7e\u540d\u4e0e {0} \u4e0d\u5339\u914d\uff1b\u4e0d\u517c\u5bb9\u7684\u7236\u7c7b\u578b
-compiler.err.signature.doesnt.match.intf=\
-\u7b7e\u540d\u4e0e {0} \u4e0d\u5339\u914d\uff1b\u4e0d\u517c\u5bb9\u7684\u63a5\u53e3
-compiler.err.does.not.override.abstract=\
-{0} \u4e0d\u662f\u62bd\u8c61\u7684\uff0c\u5e76\u4e14\u672a\u8986\u76d6 {2} \u4e2d\u7684\u62bd\u8c61\u65b9\u6cd5 {1}
-compiler.err.source.cant.overwrite.input.file=\
-\u5199\u5165\u6e90\u65f6\u51fa\u9519\uff1b\u65e0\u6cd5\u8986\u5199\u8f93\u5165\u6587\u4ef6 {0}
-compiler.err.stack.sim.error=\
-\u5185\u90e8\u9519\u8bef\uff1a{0} \u4e2d\u7684\u5806\u6808 sim \u9519\u8bef
-compiler.err.static.imp.only.classes.and.interfaces=\
-\u4ec5\u4ece\u7c7b\u548c\u63a5\u53e3\u9759\u6001\u5bfc\u5165
-compiler.err.synthetic.name.conflict=\
-\u7b26\u53f7 {0} \u4e0e {1} \u4e2d\u7684 compiler-synthesized \u7b26\u53f7\u51b2\u7a81
+compiler.err.signature.doesnt.match.supertype=\u7b7e\u540d\u4e0e {0} \u4e0d\u5339\u914d\uff1b\u4e0d\u517c\u5bb9\u7684\u7236\u7c7b\u578b
+compiler.err.signature.doesnt.match.intf=\u7b7e\u540d\u4e0e {0} \u4e0d\u5339\u914d\uff1b\u4e0d\u517c\u5bb9\u7684\u63a5\u53e3
+compiler.err.does.not.override.abstract={0} \u4e0d\u662f\u62bd\u8c61\u7684\uff0c\u5e76\u4e14\u672a\u8986\u76d6 {2} \u4e2d\u7684\u62bd\u8c61\u65b9\u6cd5 {1}
+compiler.err.source.cant.overwrite.input.file=\u5199\u5165\u6e90\u65f6\u51fa\u9519\uff1b\u65e0\u6cd5\u8986\u5199\u8f93\u5165\u6587\u4ef6 {0}
+compiler.err.stack.sim.error=\u5185\u90e8\u9519\u8bef\uff1a{0} \u4e2d\u7684\u5806\u6808 sim \u9519\u8bef
+compiler.err.static.imp.only.classes.and.interfaces=\u4ec5\u4ece\u7c7b\u548c\u63a5\u53e3\u9759\u6001\u5bfc\u5165
+compiler.err.string.const.req=\u9700\u8981\u5e38\u91cf\u5b57\u7b26\u4e32\u8868\u8fbe\u5f0f
+compiler.err.synthetic.name.conflict=\u7b26\u53f7 {0} \u4e0e {1} \u4e2d\u7684 compiler-synthesized \u7b26\u53f7\u51b2\u7a81
+compiler.warn.synthetic.name.conflict=\u7b26\u53f7 {0} \u4e0e {1} \u4e2d\u7684 compiler-synthesized \u7b26\u53f7\u51b2\u7a81
 
-compiler.err.throws.not.allowed.in.intf.annotation=\
-@interface \u6210\u5458\u4e2d\u4e0d\u5141\u8bb8\u4f7f\u7528 throws \u5b50\u53e5
-compiler.err.try.without.catch.or.finally=\
-"try" \u4e0d\u5e26\u6709 "catch" \u6216 "finally"
-compiler.err.type.doesnt.take.params=\
-\u7c7b\u578b {0} \u4e0d\u5e26\u6709\u53c2\u6570
-compiler.err.type.var.cant.be.deref=\
-\u65e0\u6cd5\u4ece\u7c7b\u578b\u53d8\u91cf\u4e2d\u8fdb\u884c\u9009\u62e9
-compiler.err.type.var.may.not.be.followed.by.other.bounds=\
-\u7c7b\u578b\u53d8\u91cf\u540e\u9762\u4e0d\u80fd\u5e26\u6709\u5176\u4ed6\u9650\u5236\u8303\u56f4
-compiler.err.type.var.more.than.once=\
-\u7c7b\u578b\u53d8\u91cf {0} \u5728 {1} \u7684\u7ed3\u679c\u7c7b\u578b\u4e2d\u591a\u6b21\u51fa\u73b0\uff1b\u5fc5\u987b\u5bf9\u5176\u8fdb\u884c\u5b9e\u4f8b\u5316
-compiler.err.type.var.more.than.once.in.result=\
-\u7c7b\u578b\u53d8\u91cf {0} \u5728 {1} \u7684\u7c7b\u578b\u4e2d\u591a\u6b21\u51fa\u73b0\uff1b\u5fc5\u987b\u5bf9\u5176\u8fdb\u884c\u5b9e\u4f8b\u5316
-compiler.err.types.incompatible.diff.ret=\
-\u7c7b\u578b {0} \u548c {1} \u4e0d\u517c\u5bb9\uff1b\u4e24\u8005\u90fd\u5b9a\u4e49\u4e86 {2}\uff0c\u4f46\u5374\u5e26\u6709\u4e0d\u76f8\u5173\u7684\u8fd4\u56de\u7c7b\u578b
+compiler.err.throws.not.allowed.in.intf.annotation=@interface \u6210\u5458\u4e2d\u4e0d\u5141\u8bb8\u4f7f\u7528 throws \u5b50\u53e5
+compiler.err.try.without.catch.or.finally="try" \u4e0d\u5e26\u6709 "catch" \u6216 "finally"
+compiler.err.type.doesnt.take.params=\u7c7b\u578b {0} \u4e0d\u5e26\u6709\u53c2\u6570
+compiler.err.type.var.cant.be.deref=\u65e0\u6cd5\u4ece\u7c7b\u578b\u53d8\u91cf\u4e2d\u8fdb\u884c\u9009\u62e9
+compiler.err.type.var.may.not.be.followed.by.other.bounds=\u7c7b\u578b\u53d8\u91cf\u540e\u9762\u4e0d\u80fd\u5e26\u6709\u5176\u4ed6\u9650\u5236\u8303\u56f4
+compiler.err.type.var.more.than.once=\u7c7b\u578b\u53d8\u91cf {0} \u5728 {1} \u7684\u7ed3\u679c\u7c7b\u578b\u4e2d\u591a\u6b21\u51fa\u73b0\uff1b\u5fc5\u987b\u5bf9\u5176\u8fdb\u884c\u5b9e\u4f8b\u5316
+compiler.err.type.var.more.than.once.in.result=\u7c7b\u578b\u53d8\u91cf {0} \u5728 {1} \u7684\u7c7b\u578b\u4e2d\u591a\u6b21\u51fa\u73b0\uff1b\u5fc5\u987b\u5bf9\u5176\u8fdb\u884c\u5b9e\u4f8b\u5316
+compiler.err.types.incompatible.diff.ret=\u7c7b\u578b {0} \u548c {1} \u4e0d\u517c\u5bb9\uff1b\u4e24\u8005\u90fd\u5b9a\u4e49\u4e86 {2}\uff0c\u4f46\u5374\u5e26\u6709\u4e0d\u76f8\u5173\u7684\u8fd4\u56de\u7c7b\u578b
 
-compiler.err.unclosed.char.lit=\
-\u672a\u7ed3\u675f\u7684\u5b57\u7b26\u5b57\u9762\u503c
-compiler.err.unclosed.comment=\
-\u672a\u7ed3\u675f\u7684\u6ce8\u91ca
-compiler.err.unclosed.str.lit=\
-\u672a\u7ed3\u675f\u7684\u5b57\u7b26\u4e32\u5b57\u9762\u503c
-compiler.err.unknown.enum.constant=\
-\u5728\u7c7b\u6587\u4ef6 {0} \u4e2d\uff1a\u672a\u77e5\u7684\u679a\u4e3e\u5e38\u91cf {1}.{2}
-compiler.err.unsupported.encoding=\
-\u4e0d\u652f\u6301\u7684\u7f16\u7801\uff1a {0}
-compiler.err.io.exception=\
-\u8bfb\u53d6\u6e90\u6587\u4ef6\u65f6\u51fa\u9519\uff1a {0}
-compiler.err.undef.label=\
-\u672a\u5b9a\u4e49\u7684\u6807\u7b7e\uff1a {0}
-compiler.err.undetermined.type=\
-\u65e0\u6cd5\u786e\u5b9a {0} \u7684\u7c7b\u578b\u53c2\u6570
-compiler.err.undetermined.type.1=\
-\u65e0\u6cd5\u786e\u5b9a {0} \u7684\u7c7b\u578b\u53c2\u6570\uff1b{1}
-compiler.err.unreachable.stmt=\
-\u65e0\u6cd5\u8bbf\u95ee\u7684\u8bed\u53e5
-compiler.err.initializer.must.be.able.to.complete.normally=\
-\u521d\u59cb\u5316\u7a0b\u5e8f\u5fc5\u987b\u80fd\u591f\u6b63\u5e38\u5b8c\u6210
-compiler.err.unreported.exception.need.to.catch.or.throw=\
-\u672a\u62a5\u544a\u7684\u5f02\u5e38 {0}\uff1b\u5fc5\u987b\u5bf9\u5176\u8fdb\u884c\u6355\u6349\u6216\u58f0\u660e\u4ee5\u4fbf\u629b\u51fa
-compiler.err.unreported.exception.default.constructor=\
-\u9ed8\u8ba4\u6784\u9020\u51fd\u6570\u4e2d\u672a\u62a5\u544a\u7684\u5f02\u5e38 {0}
-compiler.err.unsupported.cross.fp.lit=\
-\u8be5 VM \u4e0d\u652f\u6301\u5341\u516d\u8fdb\u5236\u6d6e\u70b9\u5b57\u9762\u503c
-compiler.err.void.not.allowed.here=\
-\u6b64\u5904\u4e0d\u5141\u8bb8\u4f7f\u7528 "void" \u7c7b\u578b
+compiler.err.unclosed.bytecode.ident=\u672a\u7ed3\u675f\u7684\u5b57\u8282\u7801\u6807\u8bc6\u7b26
+compiler.err.unclosed.char.lit=\u672a\u7ed3\u675f\u7684\u5b57\u7b26\u5b57\u9762\u503c
+compiler.err.unclosed.comment=\u672a\u7ed3\u675f\u7684\u6ce8\u91ca
+compiler.err.unclosed.str.lit=\u672a\u7ed3\u675f\u7684\u5b57\u7b26\u4e32\u5b57\u9762\u503c
+compiler.err.unknown.enum.constant=\u5728\u7c7b\u6587\u4ef6 {0} \u4e2d\uff1a\u672a\u77e5\u7684\u679a\u4e3e\u5e38\u91cf {1}.{2}
+compiler.err.unsupported.encoding=\u4e0d\u652f\u6301\u7684\u7f16\u7801\uff1a {0}
+compiler.err.io.exception=\u8bfb\u53d6\u6e90\u6587\u4ef6\u65f6\u51fa\u9519\uff1a {0}
+compiler.err.undef.label=\u672a\u5b9a\u4e49\u7684\u6807\u7b7e\uff1a {0}
+compiler.err.undetermined.type=\u65e0\u6cd5\u786e\u5b9a {0} \u7684\u7c7b\u578b\u53c2\u6570
+compiler.err.undetermined.type.1=\u65e0\u6cd5\u786e\u5b9a {0} \u7684\u7c7b\u578b\u53c2\u6570\uff1b{1}
+compiler.err.invalid.inferred.types={0} \u7684\u63a8\u65ad\u7c7b\u578b\u65e0\u6548\uff1b{1}
+compiler.err.unreachable.stmt=\u65e0\u6cd5\u8bbf\u95ee\u7684\u8bed\u53e5
+compiler.err.initializer.must.be.able.to.complete.normally=\u521d\u59cb\u5316\u7a0b\u5e8f\u5fc5\u987b\u80fd\u591f\u6b63\u5e38\u5b8c\u6210
+compiler.err.unreported.exception.need.to.catch.or.throw=\u672a\u62a5\u544a\u7684\u5f02\u5e38 {0}\uff1b\u5fc5\u987b\u5bf9\u5176\u8fdb\u884c\u6355\u6349\u6216\u58f0\u660e\u4ee5\u4fbf\u629b\u51fa
+compiler.err.unreported.exception.default.constructor=\u9ed8\u8ba4\u6784\u9020\u51fd\u6570\u4e2d\u672a\u62a5\u544a\u7684\u5f02\u5e38 {0}
+compiler.err.unsupported.cross.fp.lit=\u8be5 VM \u4e0d\u652f\u6301\u5341\u516d\u8fdb\u5236\u6d6e\u70b9\u5b57\u9762\u503c
+compiler.err.void.not.allowed.here=\u6b64\u5904\u4e0d\u5141\u8bb8\u4f7f\u7528 "void" \u7c7b\u578b
 
-compiler.err.wrong.number.type.args=\
-\u7c7b\u578b\u53d8\u91cf\u6570\u76ee\u9519\u8bef\uff1b\u9700\u8981 {0}
+compiler.err.wrong.number.type.args=\u7c7b\u578b\u53d8\u91cf\u6570\u76ee\u9519\u8bef\uff1b\u9700\u8981 {0}
 
-compiler.err.var.might.already.be.assigned=\
-\u53ef\u80fd\u5df2\u6307\u5b9a\u53d8\u91cf {0}
-compiler.err.var.might.not.have.been.initialized=\
-\u53ef\u80fd\u5c1a\u672a\u521d\u59cb\u5316\u53d8\u91cf {0}
-compiler.err.var.might.be.assigned.in.loop=\
-\u53ef\u80fd\u5728 loop \u4e2d\u6307\u5b9a\u4e86\u53d8\u91cf {0}
+compiler.err.var.might.already.be.assigned=\u53ef\u80fd\u5df2\u6307\u5b9a\u53d8\u91cf {0}
+compiler.err.var.might.not.have.been.initialized=\u53ef\u80fd\u5c1a\u672a\u521d\u59cb\u5316\u53d8\u91cf {0}
+compiler.err.var.might.be.assigned.in.loop=\u53ef\u80fd\u5728 loop \u4e2d\u6307\u5b9a\u4e86\u53d8\u91cf {0}
 
 # In the following string, {1} will always be the detail message from
 # java.io.IOException.
-compiler.err.class.cant.write=\
-\u5199\u5165 {0} \u65f6\u51fa\u9519\uff1a {1}
+compiler.err.class.cant.write=\u5199\u5165 {0} \u65f6\u51fa\u9519\uff1a {1}
 
 # In the following string, {0} is the name of the class in the Java source.
 # It really should be used two times..
-compiler.err.class.public.should.be.in.file=\
-\u7c7b {0} \u662f\u516c\u5171\u7684\uff0c\u5e94\u5728\u540d\u4e3a {0}.java \u7684\u6587\u4ef6\u4e2d\u58f0\u660e
+compiler.err.class.public.should.be.in.file=\u7c7b {0} \u662f\u516c\u5171\u7684\uff0c\u5e94\u5728\u540d\u4e3a {0}.java \u7684\u6587\u4ef6\u4e2d\u58f0\u660e
 
 ## All errors which do not refer to a particular line in the source code are
 ## preceded by this string.
-compiler.err.error=\
-\u9519\u8bef\uff1a
+compiler.err.error=\u9519\u8bef\uff1a 
 
 # The following error messages do not refer to a line in the source code.
-compiler.err.cant.read.file=\
-\u65e0\u6cd5\u8bfb\u53d6\uff1a {0}
+compiler.err.cant.read.file=\u65e0\u6cd5\u8bfb\u53d6\uff1a {0}
 
 #####
 
 # Fatal Errors
 
-compiler.misc.fatal.err.no.java.lang=\
-\u81f4\u547d\u9519\u8bef\uff1a\u5728\u7c7b\u8def\u5f84\u6216\u5f15\u5bfc\u7c7b\u8def\u5f84\u4e2d\u627e\u4e0d\u5230\u8f6f\u4ef6\u5305 java.lang
-compiler.misc.fatal.err.cant.locate.meth=\
-\u81f4\u547d\u9519\u8bef\uff1a\u627e\u4e0d\u5230\u65b9\u6cd5 {0}
-compiler.misc.fatal.err.cant.locate.field=\
-\u81f4\u547d\u9519\u8bef\uff1a\u627e\u4e0d\u5230\u5b57\u6bb5 {0}
-compiler.misc.fatal.err.cant.locate.ctor=\
-\u81f4\u547d\u9519\u8bef\uff1a\u627e\u4e0d\u5230 {0} \u7684\u6784\u9020\u51fd\u6570
+compiler.misc.fatal.err.no.java.lang=\u81f4\u547d\u9519\u8bef\uff1a\u5728\u7c7b\u8def\u5f84\u6216\u5f15\u5bfc\u7c7b\u8def\u5f84\u4e2d\u627e\u4e0d\u5230\u8f6f\u4ef6\u5305 java.lang
+compiler.misc.fatal.err.cant.locate.meth=\u81f4\u547d\u9519\u8bef\uff1a\u627e\u4e0d\u5230\u65b9\u6cd5 {0}
+compiler.misc.fatal.err.cant.locate.field=\u81f4\u547d\u9519\u8bef\uff1a\u627e\u4e0d\u5230\u5b57\u6bb5 {0}
+compiler.misc.fatal.err.cant.locate.ctor=\u81f4\u547d\u9519\u8bef\uff1a\u627e\u4e0d\u5230 {0} \u7684\u6784\u9020\u51fd\u6570
 
 #####
 
@@ -503,107 +312,81 @@
 ## miscellaneous strings
 ##
 
-compiler.misc.source.unavailable=\
-\uff08\u6e90\u4e0d\u53ef\u7528\uff09
-compiler.misc.base.membership=\
-\u60a8\u7684\u6240\u6709\u57fa\u7c7b\u90fd\u5c5e\u4e8e\u6211\u4eec
-compiler.misc.x.print.processor.info=\
-    \u5904\u7406\u7a0b\u5e8f {0} \u4e0e {1} \u5339\u914d\u5e76\u8fd4\u56de {2}\u3002
-compiler.misc.x.print.rounds=\
-    \u5faa\u73af {0}:\n\t\u8f93\u5165\u6587\u4ef6: {1}\n\t\u6ce8\u91ca: {2}\n\t\u6700\u540e\u4e00\u4e2a\u5faa\u73af: {3}
+compiler.misc.source.unavailable=\uff08\u6e90\u4e0d\u53ef\u7528\uff09
+compiler.misc.base.membership=\u60a8\u7684\u6240\u6709\u57fa\u7c7b\u90fd\u5c5e\u4e8e\u6211\u4eec
+compiler.misc.x.print.processor.info=\u5904\u7406\u7a0b\u5e8f {0} \u4e0e {1} \u5339\u914d\u5e76\u8fd4\u56de {2}\u3002
+compiler.misc.x.print.rounds=\u5faa\u73af {0}:\n\t\u8f93\u5165\u6587\u4ef6: {1}\n\t\u6ce8\u91ca: {2}\n\t\u6700\u540e\u4e00\u4e2a\u5faa\u73af: {3}
 
 #####
 
 ## The following string will appear before all messages keyed as:
 ## "compiler.note".
-compiler.note.note=\
-\u6ce8\u610f\uff1a
+compiler.note.note=\u6ce8\u610f\uff1a 
 
-compiler.note.deprecated.filename=\
-{0} \u4f7f\u7528\u6216\u8986\u76d6\u4e86\u5df2\u8fc7\u65f6\u7684 API\u3002
-compiler.note.deprecated.plural=\
-\u67d0\u4e9b\u8f93\u5165\u6587\u4ef6\u4f7f\u7528\u6216\u8986\u76d6\u4e86\u5df2\u8fc7\u65f6\u7684 API\u3002
+compiler.note.deprecated.filename={0} \u4f7f\u7528\u6216\u8986\u76d6\u4e86\u5df2\u8fc7\u65f6\u7684 API\u3002
+compiler.note.deprecated.plural=\u67d0\u4e9b\u8f93\u5165\u6587\u4ef6\u4f7f\u7528\u6216\u8986\u76d6\u4e86\u5df2\u8fc7\u65f6\u7684 API\u3002
 # The following string may appear after one of the above deprecation
 # messages.
-compiler.note.deprecated.recompile=\
-\u8981\u4e86\u89e3\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u4f7f\u7528 -Xlint:deprecation \u91cd\u65b0\u7f16\u8bd1\u3002
+compiler.note.deprecated.recompile=\u8981\u4e86\u89e3\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u4f7f\u7528 -Xlint:deprecation \u91cd\u65b0\u7f16\u8bd1\u3002
+
+compiler.note.deprecated.filename.additional={0} \u8fd8\u4f7f\u7528\u6216\u8986\u76d6\u4e86\u5df2\u8fc7\u65f6\u7684 API\u3002
+compiler.note.deprecated.plural.additional=\u67d0\u4e9b\u8f93\u5165\u6587\u4ef6\u8fd8\u4f7f\u7528\u6216\u8986\u76d6\u4e86\u5df2\u8fc7\u65f6\u7684 API\u3002
+
+compiler.note.unchecked.filename={0} \u4f7f\u7528\u4e86\u672a\u7ecf\u68c0\u67e5\u6216\u4e0d\u5b89\u5168\u7684\u64cd\u4f5c\u3002
+compiler.note.unchecked.plural=\u67d0\u4e9b\u8f93\u5165\u6587\u4ef6\u4f7f\u7528\u4e86\u672a\u7ecf\u68c0\u67e5\u6216\u4e0d\u5b89\u5168\u7684\u64cd\u4f5c\u3002
+# The following string may appear after one of the above deprecation
+# messages.
+compiler.note.unchecked.recompile=\u8981\u4e86\u89e3\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u4f7f\u7528 -Xlint:unchecked \u91cd\u65b0\u7f16\u8bd1\u3002
 
-compiler.note.deprecated.filename.additional=\
-{0} \u8fd8\u4f7f\u7528\u6216\u8986\u76d6\u4e86\u5df2\u8fc7\u65f6\u7684 API\u3002
-compiler.note.deprecated.plural.additional=\
-\u67d0\u4e9b\u8f93\u5165\u6587\u4ef6\u8fd8\u4f7f\u7528\u6216\u8986\u76d6\u4e86\u5df2\u8fc7\u65f6\u7684 API\u3002
+compiler.note.unchecked.filename.additional={0} \u8fd8\u6709\u672a\u7ecf\u68c0\u67e5\u6216\u4e0d\u5b89\u5168\u7684\u64cd\u4f5c\u3002
+compiler.note.unchecked.plural.additional=\u67d0\u4e9b\u8f93\u5165\u6587\u4ef6\u8fd8\u4f7f\u7528\u4e86\u672a\u7ecf\u68c0\u67e5\u6216\u4e0d\u5b89\u5168\u7684\u64cd\u4f5c\u3002
+
+compiler.note.sunapi.filename={0} \u4f7f\u7528\u4e86\u5c06\u6765\u7248\u672c\u4e2d\u53ef\u80fd\u79fb\u9664\u7684 Sun \u4e13\u6709 API\u3002
+compiler.note.sunapi.plural=\u67d0\u4e9b\u8f93\u5165\u6587\u4ef6\u4f7f\u7528\u4e86\u5c06\u6765\u7248\u672c\u4e2d\u53ef\u80fd\u79fb\u9664\u7684 Sun \u4e13\u6709 API\u3002
+# The following string may appear after one of the above sunapi messages.
+compiler.note.sunapi.recompile=\u8981\u4e86\u89e3\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u4f7f\u7528 -Xlint:sunapi \u91cd\u65b0\u7f16\u8bd1\u3002
+
+compiler.note.sunapi.filename.additional={0} \u4f7f\u7528\u4e86\u5c06\u6765\u7248\u672c\u4e2d\u53ef\u80fd\u79fb\u9664\u7684\u9644\u52a0 Sun \u4e13\u6709 API\u3002
+compiler.note.sunapi.plural.additional=\u67d0\u4e9b\u8f93\u5165\u6587\u4ef6\u989d\u5916\u4f7f\u7528\u4e86\u5c06\u6765\u7248\u672c\u4e2d\u53ef\u80fd\u79fb\u9664\u7684 Sun \u4e13\u6709 API\u3002
 
 # Notes related to annotation processing
 
 # Print a client-generated note; assumed to be localized, no translation required
-compiler.note.proc.messager=\
-    {0}
-
-compiler.note.unchecked.filename=\
-{0} \u4f7f\u7528\u4e86\u672a\u7ecf\u68c0\u67e5\u6216\u4e0d\u5b89\u5168\u7684\u64cd\u4f5c\u3002
-compiler.note.unchecked.plural=\
-\u67d0\u4e9b\u8f93\u5165\u6587\u4ef6\u4f7f\u7528\u4e86\u672a\u7ecf\u68c0\u67e5\u6216\u4e0d\u5b89\u5168\u7684\u64cd\u4f5c\u3002
-# The following string may appear after one of the above deprecation
-# messages.
-compiler.note.unchecked.recompile=\
-\u8981\u4e86\u89e3\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u4f7f\u7528 -Xlint:unchecked \u91cd\u65b0\u7f16\u8bd1\u3002
-
-compiler.note.unchecked.filename.additional=\
-{0} \u8fd8\u6709\u672a\u7ecf\u68c0\u67e5\u6216\u4e0d\u5b89\u5168\u7684\u64cd\u4f5c\u3002
-compiler.note.unchecked.plural.additional=\
-\u67d0\u4e9b\u8f93\u5165\u6587\u4ef6\u8fd8\u4f7f\u7528\u4e86\u672a\u7ecf\u68c0\u67e5\u6216\u4e0d\u5b89\u5168\u7684\u64cd\u4f5c\u3002
+compiler.note.proc.messager={0}
 
 #####
 
-compiler.misc.count.error=\
-{0} \u9519\u8bef
-compiler.misc.count.error.plural=\
-{0} \u9519\u8bef
-compiler.misc.count.warn=\
-{0} \u8b66\u544a
-compiler.misc.count.warn.plural=\
-{0} \u8b66\u544a
+compiler.misc.count.error={0} \u9519\u8bef
+compiler.misc.count.error.plural={0} \u9519\u8bef
+compiler.misc.count.warn={0} \u8b66\u544a
+compiler.misc.count.warn.plural={0} \u8b66\u544a
 
 ## extra output when using -verbose (JavaCompiler)
 
-compiler.misc.verbose.checking.attribution=\
-[\u6b63\u5728\u68c0\u67e5 {0}]
-compiler.misc.verbose.parsing.done=\
-[\u89e3\u6790\u5df2\u5b8c\u6210\u65f6\u95f4 {0}ms]
-compiler.misc.verbose.parsing.started=\
-[\u89e3\u6790\u5f00\u59cb\u65f6\u95f4 {0}]
-compiler.misc.verbose.total=\
-[\u603b\u65f6\u95f4 {0}ms]
-compiler.misc.verbose.wrote.file=\
-[\u5df2\u5199\u5165 {0}]
+compiler.misc.verbose.checking.attribution=[\u6b63\u5728\u68c0\u67e5 {0}]
+compiler.misc.verbose.parsing.done=[\u89e3\u6790\u5df2\u5b8c\u6210\u65f6\u95f4 {0}ms]
+compiler.misc.verbose.parsing.started=[\u89e3\u6790\u5f00\u59cb\u65f6\u95f4 {0}]
+compiler.misc.verbose.total=[\u603b\u65f6\u95f4 {0}ms]
+compiler.misc.verbose.wrote.file=[\u5df2\u5199\u5165 {0}]
 
 ## extra output when using -verbose (Retro)
-compiler.misc.verbose.retro=\
-[\u6b63\u5728\u66f4\u65b0 {0}]
-compiler.misc.verbose.retro.with=\
-\u6b63\u5728\u4f7f\u7528 {1} \u66f4\u65b0 {0}
-compiler.misc.verbose.retro.with.list=\
-\u6b63\u5728\u4f7f\u7528\u7c7b\u578b\u53c2\u6570 {1}\u3001\u7236\u7c7b\u578b {2} \u548c\u63a5\u53e3 {3} \u66f4\u65b0 {0}
+compiler.misc.verbose.retro=[\u6b63\u5728\u66f4\u65b0 {0}]
+compiler.misc.verbose.retro.with=\u6b63\u5728\u4f7f\u7528 {1} \u66f4\u65b0 {0}
+compiler.misc.verbose.retro.with.list=\u6b63\u5728\u4f7f\u7528\u7c7b\u578b\u53c2\u6570 {1}\u3001\u7236\u7c7b\u578b {2} \u548c\u63a5\u53e3 {3} \u66f4\u65b0 {0}
 
 ## extra output when using -verbose (code/ClassReader)
-compiler.misc.verbose.loading=\
-[\u6b63\u5728\u88c5\u5165 {0}]
+compiler.misc.verbose.loading=[\u6b63\u5728\u88c5\u5165 {0}]
 
-compiler.misc.verbose.sourcepath=\
-[\u6e90\u6587\u4ef6\u7684\u641c\u7d22\u8def\u5f84\uff1a {0}]
+compiler.misc.verbose.sourcepath=[\u6e90\u6587\u4ef6\u7684\u641c\u7d22\u8def\u5f84\uff1a {0}]
 
-compiler.misc.verbose.classpath=\
-[\u7c7b\u6587\u4ef6\u7684\u641c\u7d22\u8def\u5f84\uff1a {0}]
+compiler.misc.verbose.classpath=[\u7c7b\u6587\u4ef6\u7684\u641c\u7d22\u8def\u5f84\uff1a {0}]
 
 ## extra output when using -checkclassfile (code/ClassReader)
-compiler.misc.ccf.found.later.version=\
-\u7c7b\u6587\u4ef6\u7684\u7248\u672c\u9ad8\u4e8e\u9884\u671f\uff1a {0}
-compiler.misc.ccf.unrecognized.attribute=\
-\u65e0\u6cd5\u8bc6\u522b\u7684\u5c5e\u6027\uff1a {0}
+compiler.misc.ccf.found.later.version=\u7c7b\u6587\u4ef6\u7684\u7248\u672c\u9ad8\u4e8e\u9884\u671f\uff1a {0}
+compiler.misc.ccf.unrecognized.attribute=\u65e0\u6cd5\u8bc6\u522b\u7684\u5c5e\u6027\uff1a {0}
 
 ## extra output when using -prompt (util/Log)
-compiler.misc.resume.abort=\
-\u7ee7\u7eed(&R), \u653e\u5f03(&A)>
+compiler.misc.resume.abort=\u7ee7\u7eed(&R), \u653e\u5f03(&A)>
 
 #####
 
@@ -612,165 +395,109 @@
 ##
 
 ## All warning messages are preceded by the following string.
-compiler.warn.warning=\
-\u8b66\u544a\uff1a
+compiler.warn.warning=\u8b66\u544a\uff1a 
 
-compiler.warn.constant.SVUID=\
-[serial] \u5728\u7c7b {0} \u4e2d serialVersionUID \u5fc5\u987b\u4e3a\u5e38\u91cf
+compiler.warn.constant.SVUID=[serial] \u5728\u7c7b {0} \u4e2d serialVersionUID \u5fc5\u987b\u4e3a\u5e38\u91cf
 
-compiler.warn.dir.path.element.not.found=\
-[path] \u9519\u8bef\u7684\u8def\u5f84\u5143\u7d20 "{0}"\uff1a\u65e0\u6b64\u76ee\u5f55
+compiler.warn.dir.path.element.not.found=[path] \u9519\u8bef\u7684\u8def\u5f84\u5143\u7d20 "{0}"\uff1a\u65e0\u6b64\u76ee\u5f55
 
-compiler.warn.finally.cannot.complete=\
-[finally] \u65e0\u6cd5\u6b63\u5e38\u5b8c\u6210 finally \u5b50\u53e5
+compiler.warn.finally.cannot.complete=[finally] \u65e0\u6cd5\u6b63\u5e38\u5b8c\u6210 finally \u5b50\u53e5
 
-compiler.warn.has.been.deprecated=\
-[deprecation] {1} \u4e2d\u7684 {0} \u5df2\u8fc7\u65f6
+compiler.warn.has.been.deprecated=[deprecation] {1} \u4e2d\u7684 {0} \u5df2\u8fc7\u65f6
+
+compiler.warn.sun.proprietary={0} \u662f\u3000Sun\u3000\u4e13\u6709 API\uff0c\u5728\u5c06\u6765\u7248\u672c\u4e2d\u53ef\u80fd\u88ab\u79fb\u9664 
 
-compiler.warn.illegal.char.for.encoding=\
-\u7f16\u7801 {0} \u7684\u4e0d\u53ef\u6620\u5c04\u5b57\u7b26
-compiler.warn.improper.SVUID=\
-[serial] \u5728\u7c7b {0} \u4e2d\u5fc5\u987b\u5c06 serialVersionUID \u58f0\u660e\u4e3a\u9759\u6001\u6700\u7ec8\u7c7b\u578b
+compiler.warn.illegal.char.for.encoding=\u7f16\u7801 {0} \u7684\u4e0d\u53ef\u6620\u5c04\u5b57\u7b26
+compiler.warn.improper.SVUID=[serial] \u5728\u7c7b {0} \u4e2d\u5fc5\u987b\u5c06 serialVersionUID \u58f0\u660e\u4e3a\u9759\u6001\u6700\u7ec8\u7c7b\u578b
 
-compiler.warn.inexact.non-varargs.call=\
-\u6700\u540e\u4e00\u4e2a\u53c2\u6570\u4f7f\u7528\u4e86\u4e0d\u51c6\u786e\u7684\u53d8\u91cf\u7c7b\u578b\u7684 varargs \u65b9\u6cd5\u7684\u975e varargs \u8c03\u7528\uff1b\n\
-\u5bf9\u4e8e varargs \u8c03\u7528\uff0c\u5e94\u4f7f\u7528 {0}\n\
-\u5bf9\u4e8e\u975e varargs \u8c03\u7528\uff0c\u5e94\u4f7f\u7528 {1}\uff0c\u8fd9\u6837\u4e5f\u53ef\u4ee5\u6291\u5236\u6b64\u8b66\u544a
+compiler.warn.inexact.non-varargs.call=\u6700\u540e\u4e00\u4e2a\u53c2\u6570\u4f7f\u7528\u4e86\u4e0d\u51c6\u786e\u7684\u53d8\u91cf\u7c7b\u578b\u7684 varargs \u65b9\u6cd5\u7684\u975e varargs \u8c03\u7528\uff1b\n\u5bf9\u4e8e varargs \u8c03\u7528\uff0c\u5e94\u4f7f\u7528 {0}\n\u5bf9\u4e8e\u975e varargs \u8c03\u7528\uff0c\u5e94\u4f7f\u7528 {1}\uff0c\u8fd9\u6837\u4e5f\u53ef\u4ee5\u6291\u5236\u6b64\u8b66\u544a
 
-compiler.warn.long.SVUID=\
-[serial] \u5728\u7c7b {0} \u4e2d serialVersionUID \u5fc5\u987b\u4e3a\u957f\u6574\u578b
+compiler.warn.long.SVUID=[serial] \u5728\u7c7b {0} \u4e2d serialVersionUID \u5fc5\u987b\u4e3a\u957f\u6574\u578b
 
-compiler.warn.missing.SVUID=\
-[serial] \u53ef\u5e8f\u5217\u5316\u7c7b {0} \u4e2d\u6ca1\u6709 serialVersionUID \u7684\u5b9a\u4e49
+compiler.warn.missing.SVUID=[serial] \u53ef\u5e8f\u5217\u5316\u7c7b {0} \u4e2d\u6ca1\u6709 serialVersionUID \u7684\u5b9a\u4e49
 
-compiler.warn.override.varargs.missing=\
-{0}\uff1b\u88ab\u8986\u76d6\u7684\u65b9\u6cd5\u6ca1\u6709 "..."
-compiler.warn.override.varargs.extra=\
-{0}\uff1b\u8986\u76d6\u7684\u65b9\u6cd5\u7f3a\u5c11 "..."
-compiler.warn.override.bridge=\
-{0}\uff1b\u88ab\u8986\u76d6\u7684\u65b9\u6cd5\u4e3a bridge \u65b9\u6cd5
+compiler.warn.override.varargs.missing={0}\uff1b\u88ab\u8986\u76d6\u7684\u65b9\u6cd5\u6ca1\u6709 "..."
+compiler.warn.override.varargs.extra={0}\uff1b\u8986\u76d6\u7684\u65b9\u6cd5\u7f3a\u5c11 "..."
+compiler.warn.override.bridge={0}\uff1b\u88ab\u8986\u76d6\u7684\u65b9\u6cd5\u4e3a bridge \u65b9\u6cd5
 
-compiler.warn.pkg-info.already.seen=\
-[package-info] \u5df2\u627e\u5230\u8f6f\u4ef6\u5305 {0} \u7684 package-info.java \u6587\u4ef6
-compiler.warn.path.element.not.found=\
-[path] \u9519\u8bef\u7684\u8def\u5f84\u5143\u7d20 "{0}"\uff1a\u65e0\u6b64\u6587\u4ef6\u6216\u76ee\u5f55
-compiler.warn.possible.fall-through.into.case=\
-[fallthrough] \u53ef\u80fd\u65e0\u6cd5\u5b9e\u73b0 case
+compiler.warn.pkg-info.already.seen=[package-info] \u5df2\u627e\u5230\u8f6f\u4ef6\u5305 {0} \u7684 package-info.java \u6587\u4ef6
+compiler.warn.path.element.not.found=[path] \u9519\u8bef\u7684\u8def\u5f84\u5143\u7d20 "{0}"\uff1a\u65e0\u6b64\u6587\u4ef6\u6216\u76ee\u5f55
+compiler.warn.possible.fall-through.into.case=[fallthrough] \u53ef\u80fd\u65e0\u6cd5\u5b9e\u73b0 case
 
-compiler.warn.redundant.cast=\
-[\u8f6c\u6362] \u5411 {0} \u8f6c\u6362\u51fa\u73b0\u5197\u4f59
+compiler.warn.redundant.cast=[\u8f6c\u6362] \u5411 {0} \u8f6c\u6362\u51fa\u73b0\u5197\u4f59
 
-compiler.warn.position.overflow=\
-\u884c {0} \u5904\u7684\u4f4d\u7f6e\u7f16\u7801\u6ea2\u51fa
+compiler.warn.position.overflow=\u884c {0} \u5904\u7684\u4f4d\u7f6e\u7f16\u7801\u6ea2\u51fa
 
-compiler.warn.big.major.version=\
-{0}: \u4e3b\u7248\u672c {1} \u6bd4 {2} \u65b0\uff0c\u6b64\u7f16\u8bd1\u5668\u652f\u6301\u6700\u65b0\u7684\u4e3b\u7248\u672c\u3002\n\
-\u5efa\u8bae\u5347\u7ea7\u6b64\u7f16\u8bd1\u5668\u3002
+compiler.warn.big.major.version={0}: \u4e3b\u7248\u672c {1} \u6bd4 {2} \u65b0\uff0c\u6b64\u7f16\u8bd1\u5668\u652f\u6301\u6700\u65b0\u7684\u4e3b\u7248\u672c\u3002\n\u5efa\u8bae\u5347\u7ea7\u6b64\u7f16\u8bd1\u5668\u3002
 
 # Warnings related to annotation processing
-compiler.warn.proc.package.does.not.exist=\
-    \u8f6f\u4ef6\u5305 {0} \u4e0d\u5b58\u5728
-compiler.warn.proc.file.reopening=\
-\u5c1d\u8bd5\u591a\u6b21\u4e3a\u201c{0}\u201d\u521b\u5efa\u6587\u4ef6
+compiler.warn.proc.package.does.not.exist=\u8f6f\u4ef6\u5305 {0} \u4e0d\u5b58\u5728
+compiler.warn.proc.file.reopening=\u5c1d\u8bd5\u591a\u6b21\u4e3a\u201c{0}\u201d\u521b\u5efa\u6587\u4ef6
 
-compiler.warn.proc.type.already.exists=\
-    \u5177\u6709\u7c7b\u578b''{0}''\u7684\u6587\u4ef6\u5df2\u7ecf\u5b58\u5728\u4e8e\u6e90\u8def\u5f84\u6216\u7c7b\u8def\u5f84\u4e2d
+compiler.warn.proc.type.already.exists=\u5177\u6709\u7c7b\u578b''{0}''\u7684\u6587\u4ef6\u5df2\u7ecf\u5b58\u5728\u4e8e\u6e90\u8def\u5f84\u6216\u7c7b\u8def\u5f84\u4e2d
 
-compiler.warn.proc.type.recreate=\
-\u5c1d\u8bd5\u591a\u6b21\u521b\u5efa\u5177\u6709\u7c7b\u578b\u201c{0}\u201d\u7684\u6587\u4ef6
+compiler.warn.proc.type.recreate=\u5c1d\u8bd5\u591a\u6b21\u521b\u5efa\u5177\u6709\u7c7b\u578b\u201c{0}\u201d\u7684\u6587\u4ef6
 
-compiler.warn.proc.illegal.file.name=\
-\u65e0\u6cd5\u521b\u5efa\u5e26\u6709\u975e\u6cd5\u540d\u79f0\u201c{0}\u201d\u7684\u6587\u4ef6\u3002
+compiler.warn.proc.illegal.file.name=\u65e0\u6cd5\u521b\u5efa\u5e26\u6709\u975e\u6cd5\u540d\u79f0\u201c{0}\u201d\u7684\u6587\u4ef6\u3002
 
-compiler.warn.proc.file.create.last.round=\
-\u5c06\u4e0d\u5bf9\u5728\u6700\u540e\u4e00\u4e2a\u5faa\u73af\u4e2d\u521b\u5efa\u7684\u7c7b\u578b\u4e3a\u201c{0}\u201d\u7684\u6587\u4ef6\u8fdb\u884c\u6ce8\u91ca\u5904\u7406\u3002
+compiler.warn.proc.file.create.last.round=\u5c06\u4e0d\u5bf9\u5728\u6700\u540e\u4e00\u4e2a\u5faa\u73af\u4e2d\u521b\u5efa\u7684\u7c7b\u578b\u4e3a\u201c{0}\u201d\u7684\u6587\u4ef6\u8fdb\u884c\u6ce8\u91ca\u5904\u7406\u3002
 
-compiler.warn.proc.malformed.supported.string=\
-\u5904\u7406\u7a0b\u5e8f\u201c{1}\u201d\u4e3a\u652f\u6301\u7684\u6ce8\u91ca\u7c7b\u578b\u8fd4\u56de\u4e0d\u89c4\u5219\u7684\u5b57\u7b26\u4e32\u201c{0}\u201d
+compiler.warn.proc.malformed.supported.string=\u5904\u7406\u7a0b\u5e8f\u201c{1}\u201d\u4e3a\u652f\u6301\u7684\u6ce8\u91ca\u7c7b\u578b\u8fd4\u56de\u4e0d\u89c4\u5219\u7684\u5b57\u7b26\u4e32\u201c{0}\u201d
 
-compiler.warn.proc.annotations.without.processors=\
-    \u6ca1\u6709\u5904\u7406\u7a0b\u5e8f\u8981\u4f7f\u7528\u4ee5\u4e0b\u4efb\u4f55\u6ce8\u91ca: {0}
+compiler.warn.proc.annotations.without.processors=\u6ca1\u6709\u5904\u7406\u7a0b\u5e8f\u8981\u4f7f\u7528\u4ee5\u4e0b\u4efb\u4f55\u6ce8\u91ca: {0}
 
-compiler.warn.proc.processor.incompatible.source.version=\
-    \u6765\u81ea\u6ce8\u91ca\u5904\u7406\u5668"{1}"\u7684\u53d7\u652f\u6301 source \u7248\u672c"{0}"\u4f4e\u4e8e -source"{2}"
+compiler.warn.proc.processor.incompatible.source.version=\u6765\u81ea\u6ce8\u91ca\u5904\u7406\u5668"{1}"\u7684\u53d7\u652f\u6301 source \u7248\u672c"{0}"\u4f4e\u4e8e -source"{2}"
 
-compiler.warn.proc.proc-only.requested.no.procs=\
-\u5728\u672a\u8bf7\u6c42\u7f16\u8bd1\u7684\u60c5\u51b5\u4e0b\u8fdb\u884c\u6ce8\u91ca\u5904\u7406\uff0c\u4f46\u672a\u627e\u5230\u5904\u7406\u7a0b\u5e8f\u3002
+compiler.warn.proc.proc-only.requested.no.procs=\u5728\u672a\u8bf7\u6c42\u7f16\u8bd1\u7684\u60c5\u51b5\u4e0b\u8fdb\u884c\u6ce8\u91ca\u5904\u7406\uff0c\u4f46\u672a\u627e\u5230\u5904\u7406\u7a0b\u5e8f\u3002
 
-compiler.warn.proc.use.implicit=\
-\u6ce8\u91ca\u5904\u7406\u4e0d\u9002\u7528\u4e8e\u9690\u5f0f\u7f16\u8bd1\u7684\u6587\u4ef6\u3002\n\
-\u4f7f\u7528 -implicit \u6307\u5b9a\u7528\u4e8e\u9690\u5f0f\u7f16\u8bd1\u7684\u7b56\u7565\u3002
+compiler.warn.proc.use.implicit=\u6ce8\u91ca\u5904\u7406\u4e0d\u9002\u7528\u4e8e\u9690\u5f0f\u7f16\u8bd1\u7684\u6587\u4ef6\u3002\n\u4f7f\u7528 -implicit \u6307\u5b9a\u7528\u4e8e\u9690\u5f0f\u7f16\u8bd1\u7684\u7b56\u7565\u3002
 
-compiler.warn.proc.use.proc.or.implicit=\
-\u6ce8\u91ca\u5904\u7406\u4e0d\u9002\u7528\u4e8e\u9690\u5f0f\u7f16\u8bd1\u7684\u6587\u4ef6\u3002\n\
-\u4f7f\u7528 -proc:none \u7981\u7528\u6ce8\u91ca\u5904\u7406\u6216\u4f7f\u7528 -implicit \u6307\u5b9a\u7528\u4e8e\u9690\u5f0f\u7f16\u8bd1\u7684\u7b56\u7565\u3002
+compiler.warn.proc.use.proc.or.implicit=\u6ce8\u91ca\u5904\u7406\u4e0d\u9002\u7528\u4e8e\u9690\u5f0f\u7f16\u8bd1\u7684\u6587\u4ef6\u3002\n\u4f7f\u7528 -proc:none \u7981\u7528\u6ce8\u91ca\u5904\u7406\u6216\u4f7f\u7528 -implicit \u6307\u5b9a\u7528\u4e8e\u9690\u5f0f\u7f16\u8bd1\u7684\u7b56\u7565\u3002
 
 # Print a client-generated warning; assumed to be localized, no translation required
-compiler.warn.proc.messager=\
-    {0}
+compiler.warn.proc.messager={0}
+
+compiler.warn.proc.unclosed.type.files=\u7c7b\u578b\u4e3a\u201c{0}\u201d\u7684\u6587\u4ef6\u672a\u5173\u95ed\uff1b\u5c06\u4e0d\u9488\u5bf9\u8fd9\u4e9b\u7c7b\u578b\u8fdb\u884c\u6ce8\u91ca\u5904\u7406
+
+compiler.warn.proc.unmatched.processor.options=\u4ee5\u4e0b\u9009\u9879\u672a\u88ab\u4efb\u4f55\u5904\u7406\u5668\u8bc6\u522b\uff1a"{0}"
 
-compiler.warn.proc.unclosed.type.files=\
-\u7c7b\u578b\u4e3a\u201c{0}\u201d\u7684\u6587\u4ef6\u672a\u5173\u95ed\uff1b\u5c06\u4e0d\u9488\u5bf9\u8fd9\u4e9b\u7c7b\u578b\u8fdb\u884c\u6ce8\u91ca\u5904\u7406
+compiler.warn.unchecked.assign=[unchecked] \u672a\u7ecf\u68c0\u67e5\u7684\u6307\u5b9a\uff1a\u5c06 {0} \u6307\u5b9a\u7ed9 {1}
+compiler.warn.unchecked.assign.to.var=[unchecked] \u5bf9\u4f5c\u4e3a\u666e\u901a\u7c7b\u578b {1} \u7684\u6210\u5458\u7684\u53d8\u91cf {0} \u7684\u6307\u5b9a\u672a\u7ecf\u68c0\u67e5
+compiler.warn.unchecked.call.mbr.of.raw.type=[unchecked] \u5bf9\u4f5c\u4e3a\u666e\u901a\u7c7b\u578b {1} \u7684\u6210\u5458\u7684 {0} \u7684\u8c03\u7528\u672a\u7ecf\u68c0\u67e5
+compiler.warn.unchecked.cast.to.type=[unchecked] \u5bf9\u7c7b\u578b {0} \u7684\u4f7f\u7528\u672a\u7ecf\u68c0\u67e5
+compiler.warn.unchecked.meth.invocation.applied=[unchecked] \u672a\u7ecf\u68c0\u67e5\u7684\u65b9\u6cd5\u8c03\u7528: {4} {5}\u3000\u4e2d\u7684\u3000{0} {1}\u3000\u4f7f\u7528\u4e8e\u7ed9\u5b9a\u7684\u7c7b\u578b\n\u9700\u8981: {2}\n\u53d1\u73b0: {3}
 
-compiler.warn.proc.unmatched.processor.options=\
-    \u4ee5\u4e0b\u9009\u9879\u672a\u88ab\u4efb\u4f55\u5904\u7406\u5668\u8bc6\u522b\uff1a"{0}"
+compiler.warn.unchecked.generic.array.creation=[unchecked] \u7c7b\u578b {0} \u7684 varargs \u53c2\u6570\u7684\u6cdb\u578b\u6570\u7ec4\u521b\u5efa\u672a\u7ecf\u68c0\u67e5
 
-compiler.warn.unchecked.assign=\
-[unchecked] \u672a\u7ecf\u68c0\u67e5\u7684\u6307\u5b9a\uff1a\u5c06 {0} \u6307\u5b9a\u7ed9 {1}
-compiler.warn.unchecked.assign.to.var=\
-[unchecked] \u5bf9\u4f5c\u4e3a\u666e\u901a\u7c7b\u578b {1} \u7684\u6210\u5458\u7684\u53d8\u91cf {0} \u7684\u6307\u5b9a\u672a\u7ecf\u68c0\u67e5
-compiler.warn.unchecked.call.mbr.of.raw.type=\
-[unchecked] \u5bf9\u4f5c\u4e3a\u666e\u901a\u7c7b\u578b {1} \u7684\u6210\u5458\u7684 {0} \u7684\u8c03\u7528\u672a\u7ecf\u68c0\u67e5
-compiler.warn.unchecked.cast.to.type=\
-[unchecked] \u5bf9\u7c7b\u578b {0} \u7684\u4f7f\u7528\u672a\u7ecf\u68c0\u67e5
-compiler.warn.unchecked.meth.invocation.applied=\
-[unchecked] \u65b9\u6cd5\u8c03\u7528\u672a\u7ecf\u68c0\u67e5\uff1a{1} \u4e2d\u7684 {0} \u88ab\u5e94\u7528\u4e8e {2}({3})
-compiler.warn.unchecked.generic.array.creation=\
-[unchecked] \u5bf9\u4e8e varargs \u53c2\u6570\uff0c\u7c7b\u578b {0} \u7684\u6cdb\u578b\u6570\u7ec4\u521b\u5efa\u672a\u7ecf\u68c0\u67e5
+compiler.warn.missing.deprecated.annotation=[dep-ann] \u672a\u4f7f\u7528 @Deprecated \u5bf9\u5df2\u8fc7\u65f6\u7684\u9879\u76ee\u8fdb\u884c\u6ce8\u91ca
+
+compiler.warn.invalid.archive.file=[path] \u4ee5\u4e0b\u8def\u5f84\u4e2d\u5b58\u5728\u610f\u5916\u7684\u6587\u4ef6: {0}
 
-compiler.warn.missing.deprecated.annotation=\
-[dep-ann] \u672a\u4f7f\u7528 @Deprecated \u5bf9\u5df2\u8fc7\u65f6\u7684\u9879\u76ee\u8fdb\u884c\u6ce8\u91ca
+compiler.warn.unexpected.archive.file=[path] \u4ee5\u4e0b\u5f52\u6863\u6587\u4ef6\u5b58\u5728\u610f\u5916\u7684\u6269\u5c55\u540d: {0}
+
+compiler.warn.div.zero=[divzero] \u9664\u6570\u4e3a\u96f6
 
-compiler.warn.invalid.archive.file=\
-[path] \u4ee5\u4e0b\u8def\u5f84\u4e2d\u5b58\u5728\u610f\u5916\u7684\u6587\u4ef6: {0}
+compiler.warn.empty.if=[\u7a7a] if \u4e4b\u540e\u6ca1\u6709\u8bed\u53e5
 
-compiler.warn.unexpected.archive.file=\
-[path] \u4ee5\u4e0b\u5f52\u6863\u6587\u4ef6\u5b58\u5728\u610f\u5916\u7684\u6269\u5c55\u540d: {0}
-
-compiler.warn.div.zero=\
-[divzero] \u9664\u6570\u4e3a\u96f6
+compiler.warn.annotation.method.not.found=\u65e0\u6cd5\u627e\u5230\u7c7b\u578b\u4e3a\u201c{0}\u201d\u7684\u6ce8\u91ca\u65b9\u6cd5\u201c{1}()\u201d
 
-compiler.warn.empty.if=\
-[\u7a7a] if \u4e4b\u540e\u6ca1\u6709\u8bed\u53e5
+compiler.warn.annotation.method.not.found.reason=\u65e0\u6cd5\u627e\u5230\u7c7b\u578b\u4e3a\u201c{0}\u201d\u7684\u6ce8\u91ca\u65b9\u6cd5\u201c{1}()\u201d: {2}
 
-compiler.warn.annotation.method.not.found=\
-\u65e0\u6cd5\u627e\u5230\u7c7b\u578b\u4e3a\u201c{0}\u201d\u7684\u6ce8\u91ca\u65b9\u6cd5\u201c{1}()\u201d
-
-compiler.warn.annotation.method.not.found.reason=\
-\u65e0\u6cd5\u627e\u5230\u7c7b\u578b\u4e3a\u201c{0}\u201d\u7684\u6ce8\u91ca\u65b9\u6cd5\u201c{1}()\u201d: {2}
+compiler.warn.raw.class.use=[rawtypes] \u53d1\u73b0\u539f\u578b(raw type): {0}\n\u6cdb\u578b\u7c7b\u7f3a\u5c11\u7c7b\u578b\u53c2\u6570 {1}
 
 #####
 
 ## The following are tokens which are non-terminals in the language. They should
 ## be named as JLS3 calls them when translated to the appropriate language.
-compiler.misc.token.identifier=\
-<\u6807\u8bc6\u7b26>
-compiler.misc.token.character=\
-<\u5b57\u7b26>
-compiler.misc.token.string=\
-<\u5b57\u7b26\u4e32>
-compiler.misc.token.integer=\
-<\u6574\u578b>
-compiler.misc.token.long-integer=\
-<\u957f\u6574\u578b>
-compiler.misc.token.float=\
-<\u6d6e\u70b9\u578b>
-compiler.misc.token.double=\
-<\u53cc\u7cbe\u5ea6\u578b>
-compiler.misc.token.bad-symbol=\
-<\u9519\u8bef\u7b26\u53f7>
-compiler.misc.token.end-of-input=\
-<\u8f93\u5165\u7ed3\u675f>
+compiler.misc.token.identifier=<\u6807\u8bc6\u7b26>
+compiler.misc.token.character=<\u5b57\u7b26>
+compiler.misc.token.string=<\u5b57\u7b26\u4e32>
+compiler.misc.token.integer=<\u6574\u578b>
+compiler.misc.token.long-integer=<\u957f\u6574\u578b>
+compiler.misc.token.float=<\u6d6e\u70b9\u578b>
+compiler.misc.token.double=<\u53cc\u7cbe\u5ea6\u578b>
+compiler.misc.token.bad-symbol=<\u9519\u8bef\u7b26\u53f7>
+compiler.misc.token.end-of-input=<\u8f93\u5165\u7ed3\u675f>
 
 ## The argument to the following string will always be one of the following:
 ## 1. one of the above non-terminals
@@ -781,78 +508,59 @@
 ## 6. an operator (JLS3.12)
 ##
 ## This is the only place these tokens will be used.
-compiler.err.expected=\
-\u9700\u8981 {0}
-compiler.err.expected2=\
-\u9700\u8981\u4e3a {0} \u6216 {1}
-compiler.err.expected3=\
-\u9700\u8981\u4e3a {0}\u3001{1} \u6216 {2}
+compiler.err.expected=\u9700\u8981 {0}
+compiler.err.expected2=\u9700\u8981\u4e3a {0} \u6216 {1}
+compiler.err.expected3=\u9700\u8981\u4e3a {0}\u3001{1} \u6216 {2}
 
-compiler.err.premature.eof=\
-\u8fdb\u884c\u8bed\u6cd5\u89e3\u6790\u65f6\u5df2\u5230\u8fbe\u6587\u4ef6\u7ed3\u5c3e
+compiler.err.premature.eof=\u8fdb\u884c\u8bed\u6cd5\u89e3\u6790\u65f6\u5df2\u5230\u8fbe\u6587\u4ef6\u7ed3\u5c3e
 
 ## The following are related in form, but do not easily fit the above paradigm.
-compiler.err.dot.class.expected=\
-\u9700\u8981 ".class"
+compiler.err.dot.class.expected=\u9700\u8981 ".class"
 
 ## The argument to this string will always be either 'case' or 'default'.
-compiler.err.orphaned=\
-\u5355\u4e2a {0}\uff1a
+compiler.err.orphaned=\u5355\u4e2a {0}\uff1a
+
+compiler.misc.anonymous.class=<\u533f\u540d {0}>
+
+compiler.misc.type.captureof=\u6355\u83b7 {1} \u4e2d\u7684 #{0} 
 
-compiler.misc.anonymous.class=\
-<\u533f\u540d {0}>
+compiler.misc.type.captureof.1=\u6355\u83b7 #{0}
+
+compiler.misc.type.none=<none>
+
+compiler.misc.unnamed.package=\u672a\u547d\u540d\u5305
 
 #####
 
-compiler.err.cant.access=\
-\u65e0\u6cd5\u8bbf\u95ee {0}\n\
-{1}
+compiler.err.cant.access=\u65e0\u6cd5\u8bbf\u95ee {0}\n{1}
 
-compiler.misc.bad.class.file.header=\
-\u9519\u8bef\u7684\u7c7b\u6587\u4ef6\uff1a {0}\n\
-{1}\n\
-\u8bf7\u5220\u9664\u8be5\u6587\u4ef6\u6216\u786e\u4fdd\u8be5\u6587\u4ef6\u4f4d\u4e8e\u6b63\u786e\u7684\u7c7b\u8def\u5f84\u5b50\u76ee\u5f55\u4e2d\u3002
+compiler.misc.bad.class.file.header=\u9519\u8bef\u7684\u7c7b\u6587\u4ef6\uff1a {0}\n{1}\n\u8bf7\u5220\u9664\u8be5\u6587\u4ef6\u6216\u786e\u4fdd\u8be5\u6587\u4ef6\u4f4d\u4e8e\u6b63\u786e\u7684\u7c7b\u8def\u5f84\u5b50\u76ee\u5f55\u4e2d\u3002
+compiler.misc.bad.source.file.header=\u9519\u8bef\u7684\u6e90\u6587\u4ef6\uff1a\u3000{0}\n{1}\n\u8bf7\u5220\u9664\u8be5\u6587\u4ef6\u6216\u786e\u4fdd\u8be5\u6587\u4ef6\u4f4d\u4e8e\u6b63\u786e\u7684\u6e90\u6587\u4ef6\u8def\u5f84\u5b50\u76ee\u5f55\u4e2d\u3002
 
 ## The following are all possible strings for the second argument ({1}) of the
 ## above strings.
-compiler.misc.bad.class.signature=\
-\u9519\u8bef\u7684\u7c7b\u7b7e\u540d\uff1a {0}
-compiler.misc.bad.enclosing.method=\
-\u95ed\u5408\u65b9\u6cd5\u5c5e\u6027 {0} \u65f6\u51fa\u9519
-compiler.misc.bad.runtime.invisible.param.annotations=\
-    RuntimeInvisibleParameterAnnotations \u5c5e\u6027\u9519\u8bef: {0}
-compiler.misc.bad.const.pool.tag=\
-\u9519\u8bef\u7684\u5e38\u91cf\u6c60\u6807\u8bb0\uff1a {0}
-compiler.misc.bad.const.pool.tag.at=\
-\u9519\u8bef\u7684\u5e38\u91cf\u6c60\u6807\u8bb0\uff1a{0}\uff0c\u4f4d\u4e8e {1}
-compiler.misc.bad.signature=\
-\u9519\u8bef\u7684\u7b7e\u540d\uff1a {0}
-compiler.misc.class.file.wrong.class=\
-\u7c7b\u6587\u4ef6\u5305\u542b\u9519\u8bef\u7684\u7c7b\uff1a {0}
-compiler.misc.class.file.not.found=\
-\u672a\u627e\u5230 {0} \u7684\u7c7b\u6587\u4ef6
-compiler.misc.file.doesnt.contain.class=\
-\u6587\u4ef6\u4e0d\u5305\u542b\u7c7b {0}
-compiler.misc.file.does.not.contain.package=\
-    \u6587\u4ef6\u4e0d\u5305\u542b\u8f6f\u4ef6\u5305 {0}
-compiler.misc.illegal.start.of.class.file=\
-\u975e\u6cd5\u7684\u7c7b\u6587\u4ef6\u5f00\u59cb
-compiler.misc.unable.to.access.file=\
-\u65e0\u6cd5\u8bbf\u95ee\u6587\u4ef6\uff1a {0}
-compiler.misc.unicode.str.not.supported=\
-\u4e0d\u652f\u6301\u7c7b\u6587\u4ef6\u4e2d\u7684 Unicode \u5b57\u7b26\u4e32
-compiler.misc.undecl.type.var=\
-\u672a\u58f0\u660e\u7684\u7c7b\u578b\u53d8\u91cf\uff1a {0}
-compiler.misc.wrong.version=\
-\u7c7b\u6587\u4ef6\u5177\u6709\u9519\u8bef\u7684\u7248\u672c {0}.{1}\uff0c\u5e94\u4e3a {2}.{3}
+compiler.misc.bad.class.signature=\u9519\u8bef\u7684\u7c7b\u7b7e\u540d\uff1a {0}
+compiler.misc.bad.enclosing.method=\u95ed\u5408\u65b9\u6cd5\u5c5e\u6027 {0} \u65f6\u51fa\u9519
+compiler.misc.bad.runtime.invisible.param.annotations=RuntimeInvisibleParameterAnnotations \u5c5e\u6027\u9519\u8bef: {0}
+compiler.misc.bad.const.pool.tag=\u9519\u8bef\u7684\u5e38\u91cf\u6c60\u6807\u8bb0\uff1a {0}
+compiler.misc.bad.const.pool.tag.at=\u9519\u8bef\u7684\u5e38\u91cf\u6c60\u6807\u8bb0\uff1a{0}\uff0c\u4f4d\u4e8e {1}
+compiler.misc.bad.signature=\u9519\u8bef\u7684\u7b7e\u540d\uff1a {0}
+compiler.misc.bad.type.annotation.value=\u9519\u8bef\u7c7b\u578b\u6ce8\u91ca\u76ee\u6807\u7c7b\u578b\u503c\uff1a{0}
+compiler.misc.class.file.wrong.class=\u7c7b\u6587\u4ef6\u5305\u542b\u9519\u8bef\u7684\u7c7b\uff1a {0}
+compiler.misc.class.file.not.found=\u672a\u627e\u5230 {0} \u7684\u7c7b\u6587\u4ef6
+compiler.misc.file.doesnt.contain.class=\u6587\u4ef6\u4e0d\u5305\u542b\u7c7b {0}
+compiler.misc.file.does.not.contain.package=\u6587\u4ef6\u4e0d\u5305\u542b\u8f6f\u4ef6\u5305 {0}
+compiler.misc.illegal.start.of.class.file=\u975e\u6cd5\u7684\u7c7b\u6587\u4ef6\u5f00\u59cb
+compiler.misc.unable.to.access.file=\u65e0\u6cd5\u8bbf\u95ee\u6587\u4ef6\uff1a {0}
+compiler.misc.unicode.str.not.supported=\u4e0d\u652f\u6301\u7c7b\u6587\u4ef6\u4e2d\u7684 Unicode \u5b57\u7b26\u4e32
+compiler.misc.undecl.type.var=\u672a\u58f0\u660e\u7684\u7c7b\u578b\u53d8\u91cf\uff1a {0}
+compiler.misc.wrong.version=\u7c7b\u6587\u4ef6\u5177\u6709\u9519\u8bef\u7684\u7248\u672c {0}.{1}\uff0c\u5e94\u4e3a {2}.{3}
 
 #####
 
-compiler.err.not.within.bounds=\
-\u7c7b\u578b\u53c2\u6570 {0} \u4e0d\u5728\u5176\u9650\u5236\u8303\u56f4\u4e4b\u5185
+compiler.err.not.within.bounds=\u7c7b\u578b\u53c2\u6570 {0} \u4e0d\u5728\u5176\u9650\u5236\u8303\u56f4\u4e4b\u5185
 
-compiler.err.not.within.bounds.explain=\
-\u7c7b\u578b\u53c2\u6570 {0} \u4e0d\u5728\u5176\u9650\u5236\u8303\u56f4\u4e4b\u5185\uff1b{1}
+compiler.err.not.within.bounds.explain=\u7c7b\u578b\u53c2\u6570 {0} \u4e0d\u5728\u5176\u9650\u5236\u8303\u56f4\u4e4b\u5185\uff1b{1}
 
 ## The following are all possible strings for the second argument ({1}) of the
 ## above string.
@@ -861,43 +569,26 @@
 
 #####
 
-compiler.err.prob.found.req=\
-{0}\n\
-\u627e\u5230\uff1a {1}\n\
-\u9700\u8981\uff1a {2}
-compiler.warn.prob.found.req=\
-{0}\n\
-\u627e\u5230\uff1a {1}\n\
-\u9700\u8981\uff1a {2}
-compiler.err.prob.found.req.1=\
-{0} {3}\n\
-\u627e\u5230\uff1a {1}\n\
-\u9700\u8981\uff1a {2}
+compiler.err.prob.found.req={0}\n\u8981\u6c42\uff1a{2}\n\u53d1\u73b0\uff1a   {1}
+compiler.warn.prob.found.req={0}\n\u8981\u6c42\uff1a{2}\n\u53d1\u73b0\uff1a   {1}
+compiler.err.prob.found.req.1={0} {3}\n\u8981\u6c42\uff1a{2}\n\u53d1\u73b0\uff1a   {1}
 
 ## The following are all possible strings for the first argument ({0}) of the
 ## above strings.
-compiler.misc.incompatible.types=\
-\u4e0d\u517c\u5bb9\u7684\u7c7b\u578b
-compiler.misc.incompatible.types.1=\
-\u4e0d\u517c\u5bb9\u7684\u7c7b\u578b\uff1b{0}
-compiler.misc.inconvertible.types=\
-\u4e0d\u53ef\u8f6c\u6362\u7684\u7c7b\u578b
-compiler.misc.possible.loss.of.precision=\
-\u53ef\u80fd\u635f\u5931\u7cbe\u5ea6
+compiler.misc.incompatible.types=\u4e0d\u517c\u5bb9\u7684\u7c7b\u578b
+compiler.misc.incompatible.types.1=\u4e0d\u517c\u5bb9\u7684\u7c7b\u578b\uff1b{0}
+compiler.misc.inconvertible.types=\u4e0d\u53ef\u8f6c\u6362\u7684\u7c7b\u578b
+compiler.misc.possible.loss.of.precision=\u53ef\u80fd\u635f\u5931\u7cbe\u5ea6
 
-compiler.misc.unchecked.assign=\
-[unchecked] \u672a\u7ecf\u68c0\u67e5\u7684\u8f6c\u6362
+compiler.misc.unchecked.assign=[unchecked] \u672a\u7ecf\u68c0\u67e5\u7684\u8f6c\u6362
 # compiler.misc.storecheck=\
 #     [unchecked] assignment might cause later store checks to fail
 # compiler.misc.unchecked=\
 #     [unchecked] assigned array cannot dynamically check its stores
-compiler.misc.unchecked.cast.to.type=\
-[unchecked] \u672a\u7ecf\u68c0\u67e5\u7684\u7c7b\u578b\u4f7f\u7528
+compiler.misc.unchecked.cast.to.type=[unchecked] \u672a\u7ecf\u68c0\u67e5\u7684\u7c7b\u578b\u4f7f\u7528
 
-compiler.misc.assignment.from.super-bound=\
-\u4ece super-bound \u7c7b\u578b {0} \u6307\u5b9a
-compiler.misc.assignment.to.extends-bound=\
-\u5bf9 extends-bound \u7c7b\u578b {0} \u8fdb\u884c\u6307\u5b9a
+compiler.misc.assignment.from.super-bound=\u4ece super-bound \u7c7b\u578b {0} \u6307\u5b9a
+compiler.misc.assignment.to.extends-bound=\u5bf9 extends-bound \u7c7b\u578b {0} \u8fdb\u884c\u6307\u5b9a
 # compiler.err.star.expected=\
 #     ''*'' expected
 # compiler.err.no.elem.type=\
@@ -905,221 +596,187 @@
 
 #####
 
-compiler.err.type.found.req=\
-\u610f\u5916\u7684\u7c7b\u578b\n\
-\u627e\u5230\uff1a {0}\n\
-\u9700\u8981\uff1a {1}
+compiler.err.type.found.req=\u4ee5\u5916\u7c7b\u578b\n\u8981\u6c42\uff1a {1}\n\u53d1\u73b0\uff1a   {0}
 
 ## The following are all possible strings for the first argument ({0}) of the
 ## above string.
-compiler.misc.type.req.class=\
-\u7c7b
-compiler.misc.type.req.class.array=\
-\u7c7b\u6216\u6570\u7ec4
-compiler.misc.type.req.ref=\
-\u5f15\u7528
-compiler.misc.type.req.exact=\
-\u4e0d\u5e26\u9650\u5236\u8303\u56f4\u7684\u7c7b\u6216\u63a5\u53e3
-compiler.misc.type.parameter=\
-\u7c7b\u578b\u53c2\u6570 {0} 
+compiler.misc.type.req.class=\u7c7b
+compiler.misc.type.req.class.array=\u7c7b\u6216\u6570\u7ec4
+compiler.misc.type.req.ref=\u5f15\u7528
+compiler.misc.type.req.exact=\u4e0d\u5e26\u9650\u5236\u8303\u56f4\u7684\u7c7b\u6216\u63a5\u53e3
+compiler.misc.type.parameter=\u7c7b\u578b\u53c2\u6570 {0}
 
 #####
 
 ## The following are all possible strings for the last argument of all those
 ## diagnostics whose key ends in ".1"
-compiler.misc.undetermined.type=\
-\u672a\u786e\u5b9a\u7684\u7c7b\u578b
-ncompiler.misc.type.variable.has.undetermined.type=\
-\u7c7b\u578b\u53d8\u91cf {0} \u5e26\u6709\u672a\u786e\u5b9a\u7684\u7c7b\u578b
-compiler.misc.no.unique.maximal.instance.exists=\
-\u5bf9\u4e8e\u4e0a\u9650\u4e3a {1} \u7684\u7c7b\u578b\u53d8\u91cf {0}\uff0c\u4e0d\u5b58\u5728\u552f\u4e00\u6700\u5927\u5b9e\u4f8b
-compiler.misc.no.unique.minimal.instance.exists=\
-\u5bf9\u4e8e\u4e0b\u9650\u4e3a {1} \u7684\u7c7b\u578b\u53d8\u91cf {0}\uff0c\u4e0d\u5b58\u5728\u552f\u4e00\u6700\u5c0f\u5b9e\u4f8b
-compiler.misc.no.conforming.instance.exists=\
-\u4e0d\u5b58\u5728\u7c7b\u578b\u53d8\u91cf {0} \u7684\u5b9e\u4f8b\uff0c\u4ee5\u4f7f {1} \u4e0e {2} \u4e00\u81f4
-compiler.misc.no.conforming.assignment.exists=\
-\u4e0d\u5b58\u5728\u7c7b\u578b\u53d8\u91cf {0} \u7684\u5b9e\u4f8b\uff0c\u4ee5\u4f7f\u53c2\u6570\u7c7b\u578b {1} \u4e0e\u5f62\u5f0f\u53c2\u6570\u7c7b\u578b {2} \u4e00\u81f4
-compiler.misc.arg.length.mismatch=\
-\u65e0\u6cd5\u4ece\u53c2\u6570\u8fdb\u884c\u5b9e\u4f8b\u5316\uff0c\u56e0\u4e3a\u5b9e\u9645\u53c2\u6570\u5217\u8868\u548c\u5f62\u5f0f\u53c2\u6570\u5217\u8868\u957f\u5ea6\u4e0d\u540c
-compiler.misc.inferred.do.not.conform.to.bounds=\
-\u63a8\u7406\u7c7b\u578b\u53c2\u6570 {0} \u4e0d\u7b26\u5408\u7c7b\u578b\u53d8\u91cf {1} \u7684\u9650\u5236\u8303\u56f4
+compiler.misc.undetermined.type=\u672a\u786e\u5b9a\u7684\u7c7b\u578b
+ncompiler.misc.type.variable.has.undetermined.type=\u7c7b\u578b\u53d8\u91cf {0} \u5e26\u6709\u672a\u786e\u5b9a\u7684\u7c7b\u578b
+compiler.misc.no.unique.maximal.instance.exists=\u5bf9\u4e8e\u4e0a\u9650\u4e3a {1} \u7684\u7c7b\u578b\u53d8\u91cf {0}\uff0c\u4e0d\u5b58\u5728\u552f\u4e00\u6700\u5927\u5b9e\u4f8b
+compiler.misc.no.unique.minimal.instance.exists=\u5bf9\u4e8e\u4e0b\u9650\u4e3a {1} \u7684\u7c7b\u578b\u53d8\u91cf {0}\uff0c\u4e0d\u5b58\u5728\u552f\u4e00\u6700\u5c0f\u5b9e\u4f8b
+compiler.misc.no.conforming.instance.exists=\u4e0d\u5b58\u5728\u7c7b\u578b\u53d8\u91cf {0} \u7684\u5b9e\u4f8b\uff0c\u4ee5\u4f7f {1} \u4e0e {2} \u4e00\u81f4
+compiler.misc.no.conforming.assignment.exists=\u4e0d\u5b58\u5728\u7c7b\u578b\u53d8\u91cf {0} \u7684\u5b9e\u4f8b\uff0c\u4ee5\u4f7f\u53c2\u6570\u7c7b\u578b {1} \u4e0e\u5f62\u5f0f\u53c2\u6570\u7c7b\u578b {2} \u4e00\u81f4
+compiler.misc.arg.length.mismatch=\u65e0\u6cd5\u4ece\u53c2\u6570\u8fdb\u884c\u5b9e\u4f8b\u5316\uff0c\u56e0\u4e3a\u5b9e\u9645\u53c2\u6570\u5217\u8868\u548c\u5f62\u5f0f\u53c2\u6570\u5217\u8868\u957f\u5ea6\u4e0d\u540c
+compiler.misc.inferred.do.not.conform.to.bounds=\u63a8\u65ad\u7c7b\u578b\u4e0d\u7b26\u5408\u58f0\u660e\u7684\u9650\u5236\u8303\u56f4\n\u63a8\u65ad\uff1a{0}\n\u9650\u5236\u8303\u56f4\uff1a{1}
+compiler.misc.inferred.do.not.conform.to.params=\u5b9e\u9645\u53c2\u6570\u4e0d\u7b26\u5408\u63a8\u65ad\u5f62\u5f0f\u53c2\u6570\n\u9700\u8981\uff1a{0}\n\u627e\u5230: {1}
 
 #####
 
 ## The first argument ({0}) is a "kindname".
-compiler.err.abstract.cant.be.accessed.directly=\
-\u65e0\u6cd5\u76f4\u63a5\u8bbf\u95ee {2} \u4e2d\u7684\u62bd\u8c61 {0} {1}
+compiler.err.abstract.cant.be.accessed.directly=\u65e0\u6cd5\u76f4\u63a5\u8bbf\u95ee {2} \u4e2d\u7684\u62bd\u8c61 {0} {1}
 
 ## The first argument ({0}) is a "kindname".
-compiler.err.non-static.cant.be.ref=\
-\u65e0\u6cd5\u4ece\u9759\u6001\u4e0a\u4e0b\u6587\u4e2d\u5f15\u7528\u975e\u9759\u6001 {0} {1}
+compiler.err.non-static.cant.be.ref=\u65e0\u6cd5\u4ece\u9759\u6001\u4e0a\u4e0b\u6587\u4e2d\u5f15\u7528\u975e\u9759\u6001 {0} {1}
 
 ## Both arguments ({0}, {1}) are "kindname"s.  {0} is a comma-separated list
 ## of kindnames (the list should be identical to that provided in source.
-compiler.err.unexpected.type=\
-\u610f\u5916\u7684\u7c7b\u578b\n\
-\u9700\u8981\uff1a {0}\n\
-\u627e\u5230\uff1a {1}
+compiler.err.unexpected.type=\u610f\u5916\u7684\u7c7b\u578b\n\u9700\u8981\uff1a {0}\n\u627e\u5230\uff1a {1}
+
+## The first argument {0} is a "kindname" (e.g. 'constructor', 'field', etc.)
+## The second argument {1} is the non-resolved symbol
+## The third argument {2} is a list of type parameters (non-empty if {1} is a method)
+## The fourth argument {3} is a list of argument types (non-empty if {1} is a method)
+compiler.err.cant.resolve=\u627e\u4e0d\u5230\u7b26\u53f7\n\u7b26\u53f7\uff1a {0} {3}{1}{2}
+
+compiler.err.cant.resolve.args=\u627e\u4e0d\u5230\u7b26\u53f7\n\u7b26\u53f7\uff1a {0} {1}({3})
 
-## The first argument ({0}) is a "kindname".
-compiler.err.cant.resolve=\
-\u627e\u4e0d\u5230\u7b26\u53f7\n\
-\u7b26\u53f7\uff1a {0} {3}{1}{2}
+compiler.err.cant.resolve.args.params=\u627e\u4e0d\u5230\u7b26\u53f7\n\u7b26\u53f7\uff1a {0} <{2}>{1}({3})
 
-## The first argument ({0}) and fifth argument ({4}) are "kindname"s.
-compiler.err.cant.resolve.location=\
-\u627e\u4e0d\u5230\u7b26\u53f7\n\
-\u7b26\u53f7\uff1a {0} {3}{1}{2}\n\
-\u4f4d\u7f6e\uff1a {4} {5}
+## arguments from {0} to {3} have the same meaning as above
+## The fifth argument {4} is the location "kindname" (e.g. 'constructor', 'field', etc.)
+## The sixth argument {5} is the location type
+compiler.err.cant.resolve.location=\u627e\u4e0d\u5230\u7b26\u53f7\n\u7b26\u53f7\uff1a {0} {3}{1}{2}\n\u4f4d\u7f6e\uff1a {4} {5}
+
+compiler.err.cant.resolve.location.args=\u627e\u4e0d\u5230\u7b26\u53f7\n\u7b26\u53f7\uff1a  {0} {1}({3})\nlocation: {4} {5}
+
+compiler.err.cant.resolve.location.args.params=\u627e\u4e0d\u5230\u7b26\u53f7\n\u7b26\u53f7\uff1a  {0} <{2}>{1}({3})\n\u4f4d\u7f6e\uff1a {4} {5}
+
+compiler.err.cant.apply.diamond=\u83f1\u5f62\u8fd0\u7b97\u7b26\u65e0\u6cd5\u63a8\u65ad {0} \u7684\u7c7b\u578b\uff1b\n\u539f\u56e0: {1}
 
 ## The following are all possible string for "kindname".
 ## They should be called whatever the JLS calls them after it been translated
 ## to the appropriate language.
 # compiler.misc.kindname.constructor=\
 #     static member
-compiler.misc.kindname.annotation=\
-@interface
-compiler.misc.kindname.constructor=\
-\u6784\u9020\u51fd\u6570
-compiler.misc.kindname.interface=\
-\u63a5\u53e3
-compiler.misc.kindname.static=\
-\u9759\u6001
-compiler.misc.kindname.type.variable=\
-\u7c7b\u578b\u53d8\u91cf\u7684\u9650\u5236\u8303\u56f4
-compiler.misc.kindname=\
-\u6807\u8bc6\u7b26 ({0})
-compiler.misc.kindname.variable=\
-\u53d8\u91cf
-compiler.misc.kindname.value=\
-\u503c
-compiler.misc.kindname.method=\
-\u65b9\u6cd5
-compiler.misc.kindname.variable.method=\
-\u53d8\u91cf\u3001\u65b9\u6cd5
-compiler.misc.kindname.value.method=\
-\u503c\u3001\u65b9\u6cd5
-compiler.misc.kindname.class=\
-\u7c7b
-compiler.misc.kindname.variable.class=\
-\u53d8\u91cf\u3001\u7c7b
-compiler.misc.kindname.value.class=\
-\u503c\u3001\u7c7b
-compiler.misc.kindname.method.class=\
-\u65b9\u6cd5\u3001\u7c7b
-compiler.misc.kindname.variable.method.class=\
-\u53d8\u91cf\u3001\u65b9\u6cd5\u3001\u7c7b
-compiler.misc.kindname.value.method.class=\
-\u503c\u3001\u65b9\u6cd5\u3001\u7c7b
-compiler.misc.kindname.package=\
-\u8f6f\u4ef6\u5305
-compiler.misc.kindname.variable.package=\
-\u53d8\u91cf\u3001\u8f6f\u4ef6\u5305
-compiler.misc.kindname.value.package=\
-\u503c\u3001\u8f6f\u4ef6\u5305
-compiler.misc.kindname.method.package=\
-\u65b9\u6cd5\u3001\u8f6f\u4ef6\u5305
-compiler.misc.kindname.variable.method.package=\
-\u53d8\u91cf\u3001\u65b9\u6cd5\u3001\u8f6f\u4ef6\u5305
-compiler.misc.kindname.value.method.package=\
-\u503c\u3001\u65b9\u6cd5\u3001\u8f6f\u4ef6\u5305
-compiler.misc.kindname.class.package=\
-\u7c7b\u3001\u8f6f\u4ef6\u5305
-compiler.misc.kindname.variable.class.package=\
-\u53d8\u91cf\u3001\u7c7b\u3001\u8f6f\u4ef6\u5305
-compiler.misc.kindname.value.class.package=\
-\u503c\u3001\u7c7b\u3001\u8f6f\u4ef6\u5305
-compiler.misc.kindname.method.class.package=\
-\u65b9\u6cd5\u3001\u7c7b\u3001\u8f6f\u4ef6\u5305
-compiler.misc.kindname.variable.method.class.package=\
-\u53d8\u91cf\u3001\u65b9\u6cd5\u3001\u7c7b\u3001\u8f6f\u4ef6\u5305
-compiler.misc.kindname.value.method.class.package=\
-\u503c\u3001\u65b9\u6cd5\u3001\u7c7b\u3001\u8f6f\u4ef6\u5305
-
+compiler.misc.kindname.annotation=@interface
+compiler.misc.kindname.constructor=\u6784\u9020\u51fd\u6570
+compiler.misc.kindname.interface=\u63a5\u53e3
+compiler.misc.kindname.static=\u9759\u6001
+compiler.misc.kindname.type.variable=\u7c7b\u578b\u53d8\u91cf
+compiler.misc.kindname.type.variable.bound=\u7c7b\u578b\u53d8\u91cf\u7684\u9650\u5236\u8303\u56f4
+compiler.misc.kindname.variable=\u53d8\u91cf
+compiler.misc.kindname.value=\u503c
+compiler.misc.kindname.method=\u65b9\u6cd5
+compiler.misc.kindname.class=\u7c7b
+compiler.misc.kindname.package=\u8f6f\u4ef6\u5305
 #####
 
-compiler.err.override.static=\
-{0}\uff1b\u8986\u76d6\u7684\u65b9\u6cd5\u4e3a\u9759\u6001
-compiler.err.override.meth=\
-{0}\uff1b\u88ab\u8986\u76d6\u7684\u65b9\u6cd5\u4e3a {1}
+compiler.misc.no.args=\u6ca1\u6709\u53c2\u6570
 
-compiler.err.override.meth.doesnt.throw=\
-{0}\uff1b\u88ab\u8986\u76d6\u7684\u65b9\u6cd5\u4e0d\u629b\u51fa {1}
+compiler.err.override.static={0}\n\u8986\u76d6\u7684\u65b9\u6cd5\u4e3a\u9759\u6001
+compiler.err.override.meth={0}\n\u8986\u76d6\u7684\u65b9\u6cd5\u4e3a {1}
+
+compiler.err.override.meth.doesnt.throw={0}\n\u88ab\u8986\u76d6\u7684\u65b9\u6cd5\u4e0d\u629b\u51fa {1}
 
 # In the following string {1} is a space separated list of Java Keywords, as
 # they would have been declared in the source code
-compiler.err.override.weaker.access=\
-{0}\uff1b\u6b63\u5728\u5c1d\u8bd5\u6307\u5b9a\u66f4\u4f4e\u7684\u8bbf\u95ee\u6743\u9650\uff1b\u4e3a {1}
+compiler.err.override.weaker.access={0}\n\u6b63\u5728\u5c1d\u8bd5\u6307\u5b9a\u66f4\u4f4e\u7684\u8bbf\u95ee\u6743\u9650\uff1b\u4e3a {1}
+
+compiler.err.override.incompatible.ret={0}\n\u8fd4\u56de\u7c7b\u578b {1} \u4e0e {2} \u4e0d\u517c\u5bb9
 
-compiler.misc.override.incompatible.ret=\
-{0}\uff1b\u6b63\u5728\u5c1d\u8bd5\u4f7f\u7528\u4e0d\u517c\u5bb9\u7684\u8fd4\u56de\u7c7b\u578b
+compiler.warn.override.unchecked.ret=[unchecked] {0}\n\u8fd4\u56de\u7c7b\u578b\u9700\u8981\u4ece {1} \u5230 {2} \u7684\u672a\u7ecf\u68c0\u67e5\u8f6c\u6362
 
-compiler.misc.override.unchecked.ret=\
-{0}\uff1b\u8fd4\u56de\u7c7b\u578b\u9700\u8981\u672a\u7ecf\u68c0\u67e5\u7684\u8f6c\u6362
+compiler.warn.override.unchecked.thrown=[unchecked] {0}\n\u88ab\u8986\u76d6\u7684\u65b9\u6cd5\u4e0d\u629b\u51fa {1}
 
 ## The following are all possible strings for the first argument ({0}) of the
 ## above strings.
-compiler.misc.cant.override=\
-{1} \u4e2d\u7684 {0} \u65e0\u6cd5\u8986\u76d6 {3} \u4e2d\u7684 {2}
-compiler.misc.cant.implement=\
-{1} \u4e2d\u7684 {0} \u65e0\u6cd5\u5b9e\u73b0 {3} \u4e2d\u7684 {2}
-compiler.misc.clashes.with=\
-{1} \u4e2d\u7684 {0} \u4e0e {3} \u4e2d\u7684 {2} \u51b2\u7a81
-compiler.misc.unchecked.override=\
-{1} \u4e2d\u7684 {0} \u8986\u76d6\u4e86 {3} \u4e2d\u7684 {2}
-compiler.misc.unchecked.implement=\
-{1} \u4e2d\u7684 {0} \u5b9e\u73b0\u4e86 {3} \u4e2d\u7684 {2}
-compiler.misc.unchecked.clash.with=\
-{1} \u4e2d\u7684 {0} \u8986\u76d6\u4e86 {3} \u4e2d\u7684 {2}
-compiler.misc.varargs.override=\
-{1} \u4e2d\u7684 {0} \u8986\u76d6\u4e86 {3} \u4e2d\u7684 {2}
-compiler.misc.varargs.implement=\
-{1} \u4e2d\u7684 {0} \u5b9e\u73b0\u4e86 {3} \u4e2d\u7684 {2}
-compiler.misc.varargs.clash.with=\
-{1} \u4e2d\u7684 {0} \u8986\u76d6\u4e86 {3} \u4e2d\u7684 {2}
+compiler.misc.cant.override={1} \u4e2d\u7684 {0} \u65e0\u6cd5\u8986\u76d6 {3} \u4e2d\u7684 {2}
+compiler.misc.cant.implement={1} \u4e2d\u7684 {0} \u65e0\u6cd5\u5b9e\u73b0 {3} \u4e2d\u7684 {2}
+compiler.misc.clashes.with={1} \u4e2d\u7684 {0} \u4e0e {3} \u4e2d\u7684 {2} \u51b2\u7a81
+compiler.misc.unchecked.override={1} \u4e2d\u7684 {0} \u8986\u76d6\u4e86 {3} \u4e2d\u7684 {2}
+compiler.misc.unchecked.implement={1} \u4e2d\u7684 {0} \u5b9e\u73b0\u4e86 {3} \u4e2d\u7684 {2}
+compiler.misc.unchecked.clash.with={1} \u4e2d\u7684 {0} \u8986\u76d6\u4e86 {3} \u4e2d\u7684 {2}
+compiler.misc.varargs.override={1} \u4e2d\u7684 {0} \u8986\u76d6\u4e86 {3} \u4e2d\u7684 {2}
+compiler.misc.varargs.implement={1} \u4e2d\u7684 {0} \u5b9e\u73b0\u4e86 {3} \u4e2d\u7684 {2}
+compiler.misc.varargs.clash.with={1} \u4e2d\u7684 {0} \u8986\u76d6\u4e86 {3} \u4e2d\u7684 {2}
 
 ########################################
 # Diagnostics for language feature changes
 ########################################
-compiler.err.unsupported.fp.lit=\
-\u5728 -source 5 \u4e4b\u524d\uff0c\u4e0d\u652f\u6301\u5341\u516d\u8fdb\u5236\u6d6e\u70b9\u5b57\u9762\u503c
+compiler.err.unsupported.fp.lit=-source {0} \u4e2d\u4e0d\u652f\u6301\u5341\u516d\u8fdb\u5236\u6d6e\u70b9\u5b57\u9762\u503c\n\uff08\u8bf7\u4f7f\u7528 -source 5 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u542f\u7528\u5341\u516d\u8fdb\u5236\u6d6e\u70b9\u5b57\u9762\u503c\uff09
+
+compiler.err.unsupported.binary.lit=-source {0} \u4e2d\u4e0d\u652f\u6301\u4e8c\u8fdb\u5236\u5b57\u9762\u503c\n\uff08\u8bf7\u4f7f\u7528 -source 7 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u542f\u7528\u4e8c\u8fdb\u5236\u5b57\u9762\u503c\uff09
+
+compiler.err.unsupported.underscore.lit=-source {0} \u4e2d\u4e0d\u652f\u6301\u5b57\u9762\u503c\u4f7f\u7528\u4e0b\u5212\u7ebf\n\uff08\u8bf7\u4f7f\u7528 -source 7 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u5141\u8bb8\u5b57\u9762\u503c\u4f7f\u7528\u4e0b\u5212\u7ebf\uff09
+
+compiler.warn.enum.as.identifier=\u4ece\u53d1\u884c\u7248 5 \u5f00\u59cb\uff0c"enum" \u4e3a\u5173\u952e\u5b57\uff0c\u800c\u4e0d\u7528\u4f5c\u6807\u8bc6\u7b26\n\uff08\u8bf7\u4f7f\u7528 -source 5 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u5c06 "enum"' \u7528\u4f5c\u5173\u952e\u5b57\uff09
 
-compiler.warn.enum.as.identifier=\
-\u4ece\u53d1\u884c\u7248 5 \u5f00\u59cb\uff0c"enum" \u4e3a\u5173\u952e\u5b57\uff0c\u800c\u4e0d\u7528\u4f5c\u6807\u8bc6\u7b26\n\
-\uff08\u8bf7\u4f7f\u7528 -source 5 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u5c06 "enum"' \u7528\u4f5c\u5173\u952e\u5b57\uff09
+compiler.warn.assert.as.identifier=\u4ece\u7248\u672c 1.4 \u5f00\u59cb\uff0c''assert'' \u662f\u4e00\u4e2a\u5173\u952e\u5b57\uff0c\u4f46\u4e0d\u80fd\u7528\u4f5c\u6807\u8bc6\u7b26\n\uff08\u8bf7\u4f7f\u7528 -source 1.4 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u4fbf\u5c06 ''assert'' \u7528\u4f5c\u5173\u952e\u5b57\uff09
+
+compiler.err.enum.as.identifier=\u4ece\u53d1\u884c\u7248 5 \u5f00\u59cb\uff0c"enum" \u4e3a\u5173\u952e\u5b57\uff0c\u800c\u4e0d\u7528\u4f5c\u6807\u8bc6\u7b26\n\uff08\u8bf7\u4f7f\u7528 -source 1.4 \u6216\u66f4\u4f4e\u7248\u672c\u4ee5\u5c06 "enum" \u7528\u4f5c\u6807\u8bc6\u7b26\uff09
+
+compiler.err.assert.as.identifier=\u4ece\u7248\u672c 1.4 \u5f00\u59cb\uff0c''assert'' \u662f\u4e00\u4e2a\u5173\u952e\u5b57\uff0c\u4f46\u4e0d\u80fd\u7528\u4f5c\u6807\u8bc6\u7b26\n\uff08\u8bf7\u4f7f\u7528 -source 1.3 \u6216\u66f4\u4f4e\u7248\u672c\u4ee5\u4fbf\u5c06 ''assert'' \u7528\u4f5c\u6807\u8bc6\u7b26\uff09
+
+compiler.err.generics.not.supported.in.source=-source {0} \u4e2d\u4e0d\u652f\u6301\u6cdb\u578b\n\uff08\u8bf7\u4f7f\u7528 -source 5 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u542f\u7528\u6cdb\u578b\uff09
+
+compiler.err.varargs.not.supported.in.source=-source {0} \u4e2d\u4e0d\u652f\u6301 variable-arity \u65b9\u6cd5\n\uff08\u8bf7\u4f7f\u7528 -source 5 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u542f\u7528 variable-arity \u65b9\u6cd5\uff09
 
-compiler.warn.assert.as.identifier=\
-\u4ece\u7248\u672c 1.4 \u5f00\u59cb\uff0c''assert'' \u662f\u4e00\u4e2a\u5173\u952e\u5b57\uff0c\u4f46\u4e0d\u80fd\u7528\u4f5c\u6807\u8bc6\u7b26\n\
-\uff08\u8bf7\u4f7f\u7528 -source 1.4 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u4fbf\u5c06 ''assert'' \u7528\u4f5c\u5173\u952e\u5b57\uff09
+compiler.err.annotations.not.supported.in.source=-source {0} \u4e2d\u4e0d\u652f\u6301\u6ce8\u91ca\n\uff08\u8bf7\u4f7f\u7528 -source 5 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u542f\u7528\u6ce8\u91ca\uff09
+
+compiler.err.type.annotations.not.supported.in.source=-source {0} \u4e2d\u4e0d\u652f\u6301\u7c7b\u578b\u6ce8\u91ca\n\uff08\u8bf7\u4f7f\u7528 -source 7 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u542f\u7528\u7c7b\u578b\u6ce8\u91ca\uff09
+
+compiler.err.foreach.not.supported.in.source=-source {0} \u4e2d\u4e0d\u652f\u6301 for-each \u5faa\u73af\n\uff08\u8bf7\u4f7f\u7528 -source 5 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u542f\u7528 for-each \u5faa\u73af\uff09
+
+compiler.err.static.import.not.supported.in.source=-source {0} \u4e2d\u4e0d\u652f\u6301\u9759\u6001\u5bfc\u5165\u58f0\u660e\n\uff08\u8bf7\u4f7f\u7528 -source 5 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u542f\u7528\u9759\u6001\u5bfc\u5165\u58f0\u660e\uff09
+
+compiler.err.enums.not.supported.in.source=-source {0} \u4e2d\u4e0d\u652f\u6301\u679a\u4e3e\n\uff08\u8bf7\u4f7f\u7528 -source 5 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u542f\u7528\u679a\u4e3e\uff09
 
-compiler.err.enum.as.identifier=\
-\u4ece\u53d1\u884c\u7248 5 \u5f00\u59cb\uff0c"enum" \u4e3a\u5173\u952e\u5b57\uff0c\u800c\u4e0d\u7528\u4f5c\u6807\u8bc6\u7b26\n\
-\uff08\u8bf7\u4f7f\u7528 -source 1.4 \u6216\u66f4\u4f4e\u7248\u672c\u4ee5\u5c06 "enum" \u7528\u4f5c\u6807\u8bc6\u7b26\uff09
+compiler.err.diamond.not.supported.in.source=-source {0} \u4e2d\u4e0d\u652f\u6301\u83f1\u5f62\u8fd0\u7b97\u7b26\n\uff08\u8bf7\u4f7f\u7528 -source 7 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u542f\u7528\u83f1\u5f62\u8fd0\u7b97\u7b26\uff09
+
+compiler.err.string.switch.not.supported.in.source=-source {0} \u4e2d\u4e0d\u652f\u6301 switch \u4f7f\u7528\u5b57\u7b26\u4e32\n\uff08\u8bf7\u4f7f\u7528 -source 7 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u5141\u8bb8 switch \u4f7f\u7528\u5b57\u7b26\u4e32\uff09
 
-compiler.err.assert.as.identifier=\
-\u4ece\u7248\u672c 1.4 \u5f00\u59cb\uff0c''assert'' \u662f\u4e00\u4e2a\u5173\u952e\u5b57\uff0c\u4f46\u4e0d\u80fd\u7528\u4f5c\u6807\u8bc6\u7b26\n\
-\uff08\u8bf7\u4f7f\u7528 -source 1.3 \u6216\u66f4\u4f4e\u7248\u672c\u4ee5\u4fbf\u5c06 ''assert'' \u7528\u4f5c\u6807\u8bc6\u7b26\uff09
+########################################
+# Diagnostics for where clause implementation
+# used by the RichDiagnosticFormatter.
+########################################
+
+compiler.misc.type.null=<null>
 
-compiler.err.generics.not.supported.in.source=\
--source {0} \u4e2d\u4e0d\u652f\u6301\u6cdb\u578b\n\
-\uff08\u8bf7\u4f7f\u7528 -source 5 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u542f\u7528\u6cdb\u578b\uff09
+# X#n (where n is an int id) is disambiguated tvar name
+compiler.misc.type.var={0}#{1}
+
+# CAP#n (where n is an int id) is an abbreviation for 'captured type'
+compiler.misc.captured.type=CAP#{0}
 
-compiler.err.varargs.not.supported.in.source=\
--source {0} \u4e2d\u4e0d\u652f\u6301 variable-arity \u65b9\u6cd5\n\
-\uff08\u8bf7\u4f7f\u7528 -source 5 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u542f\u7528 variable-arity \u65b9\u6cd5\uff09
+# <INT#n> (where n is an int id) is an abbreviation for 'intersection type'
+compiler.misc.intersection.type=INT#{0}
 
-compiler.err.annotations.not.supported.in.source=\
--source {0} \u4e2d\u4e0d\u652f\u6301\u6ce8\u91ca\n\
-\uff08\u8bf7\u4f7f\u7528 -source 5 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u542f\u7528\u6ce8\u91ca\uff09
+# where clause for captured type: contains upper ('extends {1}') and lower
+# ('super {2}') bound along with the wildcard that generated this captured type ({3})
+compiler.misc.where.captured={0} \u901a\u8fc7\u6355\u83b7 {3} \u6269\u5c55 {1} \u8d85\u7ea7\u7c7b\u578b\uff1a{2}
+
+# compact where clause for captured type: contains upper ('extends {1}') along
+# with the wildcard that generated this captured type ({3})
+compiler.misc.where.captured.1={0} \u901a\u8fc7\u6355\u83b7 {3} \u6269\u5c55 {1}
 
-compiler.err.foreach.not.supported.in.source=\
--source {0} \u4e2d\u4e0d\u652f\u6301 for-each \u5faa\u73af\n\
-\uff08\u8bf7\u4f7f\u7528 -source 5 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u542f\u7528 for-each \u5faa\u73af\uff09
+# where clause for type variable: contains upper bound(s) ('extends {1}') along with
+# the kindname ({2}) and location ({3}) in which the typevar has been declared
+compiler.misc.where.typevar={0} \u6269\u5c55 {2} {3} \u4e2d\u58f0\u660e\u7684 {1}
+
+# compact where clause for type variable: contains the kindname ({2}) and location ({3})
+# in which the typevar has been declared
+compiler.misc.where.typevar.1={2} {3} \u4e2d\u58f0\u660e\u7684 {0}
 
-compiler.err.static.import.not.supported.in.source=\
--source {0} \u4e2d\u4e0d\u652f\u6301\u9759\u6001\u5bfc\u5165\u58f0\u660e\n\
-\uff08\u8bf7\u4f7f\u7528 -source 5 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u542f\u7528\u9759\u6001\u5bfc\u5165\u58f0\u660e\uff09
+# where clause for type variable: contains all the upper bound(s) ('extends {1}')
+# of this intersection type
+compiler.misc.where.intersection={0} \u6269\u5c55 {1}
 
-compiler.err.enums.not.supported.in.source=\
--source {0} \u4e2d\u4e0d\u652f\u6301\u679a\u4e3e\n\
-\uff08\u8bf7\u4f7f\u7528 -source 5 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u542f\u7528\u679a\u4e3e\uff09
+### Where clause headers ###
+compiler.misc.where.description.captured=\u5176\u4e2d {0} \u662f\u4e00\u4e2a\u65b0\u7684\u7c7b\u578b\u53d8\u91cf\uff1a
+compiler.misc.where.description.typevar=\u5176\u4e2d {0} \u662f\u4e00\u4e2a\u7c7b\u578b\u53d8\u91cf\uff1a
+compiler.misc.where.description.intersection=\u5176\u4e2d {0} \u662f\u4ea4\u96c6\u7c7b\u578b\uff1a
+compiler.misc.where.description.captured.1=\u5176\u4e2d {0} \u662f\u65b0\u7684\u7c7b\u578b\u53d8\u91cf\uff1a
+compiler.misc.where.description.typevar.1=\u5176\u4e2d {0} \u662f\u7c7b\u578b\u53d8\u91cf\uff1a
+compiler.misc.where.description.intersection.1=\u5176\u4e2d {0} \u662f\u4ea4\u96c6\u7c7b\u578b\uff1a
+
+
--- a/langtools/src/share/classes/com/sun/tools/javac/resources/javac_ja.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javac/resources/javac_ja.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright 1999-2006 Sun Microsystems, Inc.  All Rights Reserved.
+# Copyright 1999-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
@@ -25,184 +25,100 @@
 
 ## standard options
 
-javac.opt.g=\
-    \u3059\u3079\u3066\u306e\u30c7\u30d0\u30c3\u30b0\u60c5\u5831\u3092\u751f\u6210\u3059\u308b
-javac.opt.g.none=\
-    \u30c7\u30d0\u30c3\u30b0\u60c5\u5831\u3092\u751f\u6210\u3057\u306a\u3044
-javac.opt.g.lines.vars.source=\
-    \u3044\u304f\u3064\u304b\u306e\u30c7\u30d0\u30c3\u30b0\u60c5\u5831\u3060\u3051\u3092\u751f\u6210\u3059\u308b
-javac.opt.nowarn=\
-    \u8b66\u544a\u3092\u767a\u751f\u3055\u305b\u306a\u3044
-javac.opt.verbose=\
-    \u30b3\u30f3\u30d1\u30a4\u30e9\u306e\u52d5\u4f5c\u306b\u3064\u3044\u3066\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u51fa\u529b\u3059\u308b
-javac.opt.deprecation=\
-    \u63a8\u5968\u3055\u308c\u306a\u3044 API \u304c\u4f7f\u7528\u3055\u308c\u3066\u3044\u308b\u30bd\u30fc\u30b9\u306e\u4f4d\u7f6e\u3092\u51fa\u529b\u3059\u308b
-javac.opt.classpath=\
-    \u30e6\u30fc\u30b6\u30fc\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u304a\u3088\u3073\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u3092\u691c\u7d22\u3059\u308b\u4f4d\u7f6e\u3092\u6307\u5b9a\u3059\u308b
-javac.opt.sourcepath=\
-    \u5165\u529b\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22\u3059\u308b\u4f4d\u7f6e\u3092\u6307\u5b9a\u3059\u308b
-javac.opt.bootclasspath=\
-    \u30d6\u30fc\u30c8\u30b9\u30c8\u30e9\u30c3\u30d7\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u4f4d\u7f6e\u3092\u7f6e\u304d\u63db\u3048\u308b
-javac.opt.Xbootclasspath.p=\
-    \u30d6\u30fc\u30c8\u30b9\u30c8\u30e9\u30c3\u30d7\u30af\u30e9\u30b9\u306b\u4ed8\u52a0\u3059\u308b
-javac.opt.Xbootclasspath.a=\
-    \u30d6\u30fc\u30c8\u30b9\u30c8\u30e9\u30c3\u30d7\u30af\u30e9\u30b9\u306b\u8ffd\u52a0\u3059\u308b
-javac.opt.endorseddirs=\
-    \u63a8\u5968\u898f\u683c\u30d1\u30b9\u306e\u4f4d\u7f6e\u3092\u7f6e\u304d\u63db\u3048\u308b
-javac.opt.extdirs=\
-    \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u6e08\u307f\u62e1\u5f35\u6a5f\u80fd\u306e\u4f4d\u7f6e\u3092\u7f6e\u304d\u63db\u3048\u308b
-javac.opt.processorpath=\
-    \u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u3092\u691c\u7d22\u3059\u308b\u4f4d\u7f6e\u3092\u6307\u5b9a\u3059\u308b
-javac.opt.processor=\
-    \u5b9f\u884c\u3059\u308b\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u306e\u540d\u524d\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u691c\u51fa\u51e6\u7406\u3092\u30d0\u30a4\u30d1\u30b9
-javac.opt.proc.none.only=\
-    \u6ce8\u91c8\u51e6\u7406\u3084\u30b3\u30f3\u30d1\u30a4\u30eb\u3092\u5b9f\u884c\u3059\u308b\u304b\u3069\u3046\u304b\u3092\u5236\u5fa1\u3057\u307e\u3059\u3002
-javac.opt.d=\
-    \u751f\u6210\u3055\u308c\u305f\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u683c\u7d0d\u3059\u308b\u4f4d\u7f6e\u3092\u6307\u5b9a\u3059\u308b
-javac.opt.sourceDest=\
-    \u751f\u6210\u3055\u308c\u305f\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u683c\u7d0d\u3059\u308b\u5834\u6240\u3092\u6307\u5b9a\u3059\u308b
-javac.opt.J=\
-    <flag> \u3092\u5b9f\u884c\u30b7\u30b9\u30c6\u30e0\u306b\u76f4\u63a5\u6e21\u3059
-javac.opt.encoding=\
-    \u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u304c\u4f7f\u7528\u3059\u308b\u6587\u5b57\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3092\u6307\u5b9a\u3059\u308b
-javac.opt.target=\
-    \u7279\u5b9a\u306e VM \u30d0\u30fc\u30b8\u30e7\u30f3\u7528\u306e\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u751f\u6210\u3059\u308b
-javac.opt.source=\
-    \u6307\u5b9a\u3055\u308c\u305f\u30ea\u30ea\u30fc\u30b9\u3068\u30bd\u30fc\u30b9\u306e\u4e92\u63db\u6027\u3092\u4fdd\u3064
-javac.opt.A=\
-    \u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u306b\u6e21\u3055\u308c\u308b\u30aa\u30d7\u30b7\u30e7\u30f3
-javac.opt.implicit=\
-    \u6697\u9ed9\u7684\u306b\u53c2\u7167\u3055\u308c\u308b\u30d5\u30a1\u30a4\u30eb\u306b\u3064\u3044\u3066\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u751f\u6210\u3059\u308b\u304b\u3069\u3046\u304b\u3092\u6307\u5b9a\u3059\u308b 
-javac.opt.arg.class=\
-    <class>
-javac.opt.arg.class.list=\
-    <class1>[,<class2>,<class3>...]
-javac.opt.arg.flag=\
-    <flag>
-javac.opt.arg.key.equals.value=\
-    key[=value]
-javac.opt.arg.path=\
-    <path>
-javac.opt.arg.dirs=\
-    <dirs>
-javac.opt.arg.directory=\
-    <directory>
-javac.opt.arg.encoding=\
-    <encoding>
-javac.opt.arg.release=\
-    <release>
-javac.opt.arg.number=\
-    <number>
+javac.opt.g=\u3059\u3079\u3066\u306e\u30c7\u30d0\u30c3\u30b0\u60c5\u5831\u3092\u751f\u6210\u3059\u308b
+javac.opt.g.none=\u30c7\u30d0\u30c3\u30b0\u60c5\u5831\u3092\u751f\u6210\u3057\u306a\u3044
+javac.opt.g.lines.vars.source=\u3044\u304f\u3064\u304b\u306e\u30c7\u30d0\u30c3\u30b0\u60c5\u5831\u3060\u3051\u3092\u751f\u6210\u3059\u308b
+javac.opt.nowarn=\u8b66\u544a\u3092\u767a\u751f\u3055\u305b\u306a\u3044
+javac.opt.verbose=\u30b3\u30f3\u30d1\u30a4\u30e9\u306e\u52d5\u4f5c\u306b\u3064\u3044\u3066\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u51fa\u529b\u3059\u308b
+javac.opt.deprecation=\u63a8\u5968\u3055\u308c\u306a\u3044 API \u304c\u4f7f\u7528\u3055\u308c\u3066\u3044\u308b\u30bd\u30fc\u30b9\u306e\u4f4d\u7f6e\u3092\u51fa\u529b\u3059\u308b
+javac.opt.classpath=\u30e6\u30fc\u30b6\u30fc\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u304a\u3088\u3073\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u3092\u691c\u7d22\u3059\u308b\u4f4d\u7f6e\u3092\u6307\u5b9a\u3059\u308b
+javac.opt.sourcepath=\u5165\u529b\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22\u3059\u308b\u4f4d\u7f6e\u3092\u6307\u5b9a\u3059\u308b
+javac.opt.bootclasspath=\u30d6\u30fc\u30c8\u30b9\u30c8\u30e9\u30c3\u30d7\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u4f4d\u7f6e\u3092\u7f6e\u304d\u63db\u3048\u308b
+javac.opt.Xbootclasspath.p=\u30d6\u30fc\u30c8\u30b9\u30c8\u30e9\u30c3\u30d7\u30af\u30e9\u30b9\u306b\u4ed8\u52a0\u3059\u308b
+javac.opt.Xbootclasspath.a=\u30d6\u30fc\u30c8\u30b9\u30c8\u30e9\u30c3\u30d7\u30af\u30e9\u30b9\u306b\u8ffd\u52a0\u3059\u308b
+javac.opt.endorseddirs=\u63a8\u5968\u898f\u683c\u30d1\u30b9\u306e\u4f4d\u7f6e\u3092\u7f6e\u304d\u63db\u3048\u308b
+javac.opt.extdirs=\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u6e08\u307f\u62e1\u5f35\u6a5f\u80fd\u306e\u4f4d\u7f6e\u3092\u7f6e\u304d\u63db\u3048\u308b
+javac.opt.processorpath=\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u3092\u691c\u7d22\u3059\u308b\u4f4d\u7f6e\u3092\u6307\u5b9a\u3059\u308b
+javac.opt.processor=\u5b9f\u884c\u3059\u308b\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u306e\u540d\u524d\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u691c\u51fa\u51e6\u7406\u3092\u30d0\u30a4\u30d1\u30b9
+javac.opt.proc.none.only=\u6ce8\u91c8\u51e6\u7406\u3084\u30b3\u30f3\u30d1\u30a4\u30eb\u3092\u5b9f\u884c\u3059\u308b\u304b\u3069\u3046\u304b\u3092\u5236\u5fa1\u3057\u307e\u3059\u3002
+javac.opt.d=\u751f\u6210\u3055\u308c\u305f\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u683c\u7d0d\u3059\u308b\u4f4d\u7f6e\u3092\u6307\u5b9a\u3059\u308b
+javac.opt.sourceDest=\u751f\u6210\u3055\u308c\u305f\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u683c\u7d0d\u3059\u308b\u5834\u6240\u3092\u6307\u5b9a\u3059\u308b
+javac.opt.J=<flag> \u3092\u5b9f\u884c\u30b7\u30b9\u30c6\u30e0\u306b\u76f4\u63a5\u6e21\u3059
+javac.opt.encoding=\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u304c\u4f7f\u7528\u3059\u308b\u6587\u5b57\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3092\u6307\u5b9a\u3059\u308b
+javac.opt.target=\u7279\u5b9a\u306e VM \u30d0\u30fc\u30b8\u30e7\u30f3\u7528\u306e\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u751f\u6210\u3059\u308b
+javac.opt.source=\u6307\u5b9a\u3055\u308c\u305f\u30ea\u30ea\u30fc\u30b9\u3068\u30bd\u30fc\u30b9\u306e\u4e92\u63db\u6027\u3092\u4fdd\u3064
+javac.opt.Werror=\u8b66\u544a\u304c\u767a\u751f\u3057\u305f\u5834\u5408\u306b\u30b3\u30f3\u30d1\u30a4\u30eb\u3092\u7d42\u4e86\u3059\u308b
+javac.opt.A=\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u306b\u6e21\u3055\u308c\u308b\u30aa\u30d7\u30b7\u30e7\u30f3
+javac.opt.implicit=\u6697\u9ed9\u7684\u306b\u53c2\u7167\u3055\u308c\u308b\u30d5\u30a1\u30a4\u30eb\u306b\u3064\u3044\u3066\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u751f\u6210\u3059\u308b\u304b\u3069\u3046\u304b\u3092\u6307\u5b9a\u3059\u308b 
+javac.opt.arg.class=<class>
+javac.opt.arg.class.list=<class1>[,<class2>,<class3>...]
+javac.opt.arg.flag=<flag>
+javac.opt.arg.key.equals.value=key[=value]
+javac.opt.arg.path=<path>
+javac.opt.arg.dirs=<dirs>
+javac.opt.arg.directory=<directory>
+javac.opt.arg.encoding=<encoding>
+javac.opt.arg.release=<release>
+javac.opt.arg.number=<number>
 
 ## extended options
 
-javac.opt.maxerrs=\
-    \u51fa\u529b\u3059\u308b\u30a8\u30e9\u30fc\u306e\u6700\u5927\u6570\u3092\u8a2d\u5b9a\u3059\u308b
-javac.opt.maxwarns=\
-    \u51fa\u529b\u3059\u308b\u8b66\u544a\u306e\u6700\u5927\u6570\u3092\u8a2d\u5b9a\u3059\u308b
-javac.opt.nogj=\
-    \u8a00\u8a9e\u306e\u6c4e\u7528\u6027\u3092\u53d7\u3051\u4ed8\u3051\u306a\u3044
-javac.opt.moreinfo=\
-    \u578b\u5909\u6570\u306e\u62e1\u5f35\u60c5\u5831\u3092\u51fa\u529b\u3059\u308b
-javac.opt.printflat=\
-    \u5185\u90e8\u30af\u30e9\u30b9\u306e\u5909\u63db\u5f8c\u306b\u62bd\u8c61\u69cb\u6587\u30c4\u30ea\u30fc\u3092\u51fa\u529b\u3059\u308b
-javac.opt.printsearch=\
-    \u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u691c\u7d22\u4f4d\u7f6e\u60c5\u5831\u3092\u51fa\u529b\u3059\u308b
-javac.opt.prompt=\
-    \u5404\u30a8\u30e9\u30fc\u3067\u505c\u6b62\u3059\u308b
-javac.opt.retrofit=\
-    \u65e2\u5b58\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u6c4e\u7528\u578b\u3067\u7d44\u307f\u66ff\u3048\u308b
-javac.opt.s=\
-    \u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u4ee3\u308f\u308a\u306b java \u30bd\u30fc\u30b9\u3092\u767a\u884c\u3059\u308b
-javac.opt.scramble=\
-    \u30d0\u30a4\u30c8\u30b3\u30fc\u30c9\u306e private \u8b58\u5225\u5b50\u306b\u30b9\u30af\u30e9\u30f3\u30d6\u30eb\u3092\u304b\u3051\u308b
-javac.opt.scrambleall=\
-    \u30d0\u30a4\u30c8\u30b3\u30fc\u30c9\u306e package \u53ef\u8996\u8b58\u5225\u5b50\u306b\u30b9\u30af\u30e9\u30f3\u30d6\u30eb\u3092\u304b\u3051\u308b
-javac.opt.version=\
-    \u30d0\u30fc\u30b8\u30e7\u30f3\u60c5\u5831
-javac.opt.arg.pathname=\
-    <pathname>
-javac.opt.arg.file=\
-    <filename>
-javac.opt.Xlint=\
-    \u63a8\u5968\u306e\u8b66\u544a\u3092\u6709\u52b9\u306b\u3059\u308b
-javac.opt.Xlint.suboptlist=\
-    \u7279\u5b9a\u306e\u8b66\u544a\u3092\u6709\u52b9\u307e\u305f\u306f\u7121\u52b9\u306b\u3059\u308b
-javac.opt.Xstdout=\
-    \u6a19\u6e96\u51fa\u529b\u3092\u30ea\u30c0\u30a4\u30ec\u30af\u30c8\u3059\u308b
-javac.opt.X=\
-    \u975e\u6a19\u6e96\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u6982\u8981\u3092\u51fa\u529b\u3059\u308b
-javac.opt.help=\
-    \u6a19\u6e96\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u6982\u8981\u3092\u51fa\u529b\u3059\u308b
-javac.opt.print=\
-    \u6307\u5b9a\u3057\u305f\u578b\u306e\u30c6\u30ad\u30b9\u30c8\u8868\u793a\u3092\u51fa\u529b\u3059\u308b
-javac.opt.printRounds=\
-    \u6ce8\u91c8\u51e6\u7406\u306e\u5f80\u5fa9\u306b\u3064\u3044\u3066\u306e\u60c5\u5831\u3092\u5370\u5237\u3059\u308b
-javac.opt.printProcessorInfo=\
-    \u30d7\u30ed\u30bb\u30c3\u30b5\u304c\u51e6\u7406\u3092\u4f9d\u983c\u3055\u308c\u308b\u6ce8\u91c8\u306b\u3064\u3044\u3066\u306e\u60c5\u5831\u3092\u5370\u5237\u3059\u308b
-javac.opt.prefer=\
-    \u6697\u9ed9\u7684\u306b\u30b3\u30f3\u30d1\u30a4\u30eb\u3055\u308c\u308b\u30af\u30e9\u30b9\u306b\u3064\u3044\u3066\u3001\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3068\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u4e21\u65b9\u304c\u898b\u3064\u304b\u3063\u305f\u969b\u3069\u3061\u3089\u3092\u8aad\u307f\u8fbc\u3080\u304b\u6307\u5b9a\u3059\u308b
+javac.opt.maxerrs=\u51fa\u529b\u3059\u308b\u30a8\u30e9\u30fc\u306e\u6700\u5927\u6570\u3092\u8a2d\u5b9a\u3059\u308b
+javac.opt.maxwarns=\u51fa\u529b\u3059\u308b\u8b66\u544a\u306e\u6700\u5927\u6570\u3092\u8a2d\u5b9a\u3059\u308b
+javac.opt.nogj=\u8a00\u8a9e\u306e\u6c4e\u7528\u6027\u3092\u53d7\u3051\u4ed8\u3051\u306a\u3044
+javac.opt.moreinfo=\u578b\u5909\u6570\u306e\u62e1\u5f35\u60c5\u5831\u3092\u51fa\u529b\u3059\u308b
+javac.opt.printflat=\u5185\u90e8\u30af\u30e9\u30b9\u306e\u5909\u63db\u5f8c\u306b\u62bd\u8c61\u69cb\u6587\u30c4\u30ea\u30fc\u3092\u51fa\u529b\u3059\u308b
+javac.opt.printsearch=\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u691c\u7d22\u4f4d\u7f6e\u60c5\u5831\u3092\u51fa\u529b\u3059\u308b
+javac.opt.prompt=\u5404\u30a8\u30e9\u30fc\u3067\u505c\u6b62\u3059\u308b
+javac.opt.retrofit=\u65e2\u5b58\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u6c4e\u7528\u578b\u3067\u7d44\u307f\u66ff\u3048\u308b
+javac.opt.s=\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u4ee3\u308f\u308a\u306b java \u30bd\u30fc\u30b9\u3092\u767a\u884c\u3059\u308b
+javac.opt.scramble=\u30d0\u30a4\u30c8\u30b3\u30fc\u30c9\u306e private \u8b58\u5225\u5b50\u306b\u30b9\u30af\u30e9\u30f3\u30d6\u30eb\u3092\u304b\u3051\u308b
+javac.opt.scrambleall=\u30d0\u30a4\u30c8\u30b3\u30fc\u30c9\u306e package \u53ef\u8996\u8b58\u5225\u5b50\u306b\u30b9\u30af\u30e9\u30f3\u30d6\u30eb\u3092\u304b\u3051\u308b
+javac.opt.version=\u30d0\u30fc\u30b8\u30e7\u30f3\u60c5\u5831
+javac.opt.arg.pathname=<pathname>
+javac.opt.arg.file=<filename>
+javac.opt.Xlint=\u63a8\u5968\u306e\u8b66\u544a\u3092\u6709\u52b9\u306b\u3059\u308b
+javac.opt.Xlint.suboptlist=\u7279\u5b9a\u306e\u8b66\u544a\u3092\u6709\u52b9\u307e\u305f\u306f\u7121\u52b9\u306b\u3059\u308b
+javac.opt.Xstdout=\u6a19\u6e96\u51fa\u529b\u3092\u30ea\u30c0\u30a4\u30ec\u30af\u30c8\u3059\u308b
+javac.opt.X=\u975e\u6a19\u6e96\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u6982\u8981\u3092\u51fa\u529b\u3059\u308b
+javac.opt.help=\u6a19\u6e96\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u6982\u8981\u3092\u51fa\u529b\u3059\u308b
+javac.opt.print=\u6307\u5b9a\u3057\u305f\u578b\u306e\u30c6\u30ad\u30b9\u30c8\u8868\u793a\u3092\u51fa\u529b\u3059\u308b
+javac.opt.printRounds=\u6ce8\u91c8\u51e6\u7406\u306e\u5f80\u5fa9\u306b\u3064\u3044\u3066\u306e\u60c5\u5831\u3092\u5370\u5237\u3059\u308b
+javac.opt.printProcessorInfo=\u30d7\u30ed\u30bb\u30c3\u30b5\u304c\u51e6\u7406\u3092\u4f9d\u983c\u3055\u308c\u308b\u6ce8\u91c8\u306b\u3064\u3044\u3066\u306e\u60c5\u5831\u3092\u5370\u5237\u3059\u308b
+javac.opt.prefer=\u6697\u9ed9\u7684\u306b\u30b3\u30f3\u30d1\u30a4\u30eb\u3055\u308c\u308b\u30af\u30e9\u30b9\u306b\u3064\u3044\u3066\u3001\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3068\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u4e21\u65b9\u304c\u898b\u3064\u304b\u3063\u305f\u969b\u3069\u3061\u3089\u3092\u8aad\u307f\u8fbc\u3080\u304b\u6307\u5b9a\u3059\u308b
 
 ## errors
 
-javac.err.empty.A.argument=\
-    -A \u306b\u306f\u5f15\u6570\u304c\u5fc5\u8981\u3067\u3059\u3002''-Akey'' \u307e\u305f\u306f ''-Akey=value'' \u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044
-javac.err.invalid.arg=\
-    {0} \u306f\u7121\u52b9\u306a\u5f15\u6570\u3067\u3059\u3002
-javac.err.invalid.A.key=\
-     \u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u30aa\u30d7\u30b7\u30e7\u30f3 ''{0}'' \u306e\u30ad\u30fc\u306b\u6307\u5b9a\u3055\u308c\u3066\u3044\u308b\u4e00\u9023\u306e\u8b58\u5225\u5b50\u304c\u3001\u30c9\u30c3\u30c8\u3067\u533a\u5207\u3089\u308c\u3066\u3044\u307e\u305b\u3093
-javac.err.invalid.flag=\
-    {0} \u306f\u7121\u52b9\u306a\u30d5\u30e9\u30b0\u3067\u3059\u3002
-javac.err.invalid.target=\
-    {0} \u306f\u7121\u52b9\u306a VM \u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u3059\u3002
-javac.err.no.source.files=\
-    \u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-javac.err.req.arg=\
-    {0} \u306b\u306f\u5f15\u6570\u304c\u5fc5\u8981\u3067\u3059
-javac.err.invalid.source=\
-    {0} \u306f\u7121\u52b9\u306a\u30bd\u30fc\u30b9\u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u3059\u3002
-javac.err.error.writing.file=\
-    {0} \u306e\u66f8\u304d\u8fbc\u307f\u30a8\u30e9\u30fc\u3067\u3059\u3002{1}
-javac.warn.source.target.conflict=\
-    \u30ea\u30ea\u30fc\u30b9 {0} \u306e\u30bd\u30fc\u30b9\u306b\u306f\u30ea\u30ea\u30fc\u30b9 {1} \u306e\u30bf\u30fc\u30b2\u30c3\u30c8\u304c\u5fc5\u8981\u3067\u3059\u3002
-javac.warn.target.default.source.conflict=\
-    \u30bf\u30fc\u30b2\u30c3\u30c8\u30ea\u30ea\u30fc\u30b9 {0} \u304c\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30bd\u30fc\u30b9\u30ea\u30ea\u30fc\u30b9 {1} \u3068\u7af6\u5408\u3057\u3066\u3044\u307e\u3059\u3002
-javac.err.file.not.found=\
-    \u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093: {0}
-javac.err.file.not.directory=\
-    \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3067\u306f\u3042\u308a\u307e\u305b\u3093: {0}
-javac.err.file.not.file=\
-    \u30d5\u30a1\u30a4\u30eb\u3067\u306f\u3042\u308a\u307e\u305b\u3093: {0}
+javac.err.empty.A.argument=-A \u306b\u306f\u5f15\u6570\u304c\u5fc5\u8981\u3067\u3059\u3002''-Akey'' \u307e\u305f\u306f ''-Akey=value'' \u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044
+javac.err.invalid.arg={0} \u306f\u7121\u52b9\u306a\u5f15\u6570\u3067\u3059\u3002
+javac.err.invalid.A.key=\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u30aa\u30d7\u30b7\u30e7\u30f3 ''{0}'' \u306e\u30ad\u30fc\u306b\u6307\u5b9a\u3055\u308c\u3066\u3044\u308b\u4e00\u9023\u306e\u8b58\u5225\u5b50\u304c\u3001\u30c9\u30c3\u30c8\u3067\u533a\u5207\u3089\u308c\u3066\u3044\u307e\u305b\u3093
+javac.err.invalid.flag={0} \u306f\u7121\u52b9\u306a\u30d5\u30e9\u30b0\u3067\u3059\u3002
+javac.err.invalid.target={0} \u306f\u7121\u52b9\u306a VM \u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u3059\u3002
+javac.err.no.source.files=\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u305b\u3093\u3002
+javac.err.req.arg={0} \u306b\u306f\u5f15\u6570\u304c\u5fc5\u8981\u3067\u3059
+javac.err.invalid.source={0} \u306f\u7121\u52b9\u306a\u30bd\u30fc\u30b9\u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u3059\u3002
+javac.err.error.writing.file={0} \u306e\u66f8\u304d\u8fbc\u307f\u30a8\u30e9\u30fc\u3067\u3059\u3002{1}
+javac.warn.source.target.conflict=\u30ea\u30ea\u30fc\u30b9 {0} \u306e\u30bd\u30fc\u30b9\u306b\u306f\u30ea\u30ea\u30fc\u30b9 {1} \u306e\u30bf\u30fc\u30b2\u30c3\u30c8\u304c\u5fc5\u8981\u3067\u3059\u3002
+javac.warn.target.default.source.conflict=\u30bf\u30fc\u30b2\u30c3\u30c8\u30ea\u30ea\u30fc\u30b9 {0} \u304c\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30bd\u30fc\u30b9\u30ea\u30ea\u30fc\u30b9 {1} \u3068\u7af6\u5408\u3057\u3066\u3044\u307e\u3059\u3002
+javac.err.dir.not.found=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304c\u3042\u308a\u307e\u305b\u3093: {0}
+javac.err.file.not.found=\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093: {0}
+javac.err.file.not.directory=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3067\u306f\u3042\u308a\u307e\u305b\u3093: {0}
+javac.err.file.not.file=\u30d5\u30a1\u30a4\u30eb\u3067\u306f\u3042\u308a\u307e\u305b\u3093: {0}
 ## messages
 
-javac.msg.usage.header=\
-\u4f7f\u3044\u65b9: {0} <options> <source files>\n\
-\u4f7f\u7528\u53ef\u80fd\u306a\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u306f\u6b21\u306e\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002
+javac.msg.usage.header=\u4f7f\u3044\u65b9: {0} <options> <source files>\n\u4f7f\u7528\u53ef\u80fd\u306a\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u306f\u6b21\u306e\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002
 
-javac.msg.usage=\
-    \u4f7f\u3044\u65b9: {0} <options> <source files>\n\
-    \u4f7f\u7528\u53ef\u80fd\u306a\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u30ea\u30b9\u30c8\u306b\u3064\u3044\u3066\u306f\u3001-help \u3092\u4f7f\u7528\u3057\u307e\u3059
+javac.msg.usage=\u4f7f\u3044\u65b9: {0} <options> <source files>\n\u4f7f\u7528\u53ef\u80fd\u306a\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u30ea\u30b9\u30c8\u306b\u3064\u3044\u3066\u306f\u3001-help \u3092\u4f7f\u7528\u3057\u307e\u3059
 
-javac.msg.usage.nonstandard.footer=\
-\u3053\u308c\u3089\u306f\u975e\u6a19\u6e96\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3042\u308a\u4e88\u544a\u306a\u3057\u306b\u5909\u66f4\u3055\u308c\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002
+javac.msg.usage.nonstandard.footer=\u3053\u308c\u3089\u306f\u975e\u6a19\u6e96\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3042\u308a\u4e88\u544a\u306a\u3057\u306b\u5909\u66f4\u3055\u308c\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002
 	
-javac.msg.bug=\
-\u30b3\u30f3\u30d1\u30a4\u30e9\u3067\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f ({0})\u3002\
-Bug Parade \u306b\u540c\u3058\u30d0\u30b0\u304c\u767b\u9332\u3055\u308c\u3066\u3044\u306a\u3044\u3053\u3068\u3092\u3054\u78ba\u8a8d\u306e\u4e0a\u3001Java Developer Connection \
-(http://java.sun.com/webapps/bugreport) \u306b\u3066\u30d0\u30b0\u306e\u767b\u9332\u3092\u304a\u9858\u3044\u3044\u305f\u3057\u307e\u3059\u3002\
-\u30ec\u30dd\u30fc\u30c8\u306b\u306f\u3001\u305d\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3068\u4e0b\u8a18\u306e\u8a3a\u65ad\u5185\u5bb9\u3092\u542b\u3081\u3066\u304f\u3060\u3055\u3044\u3002\u3054\u5354\u529b\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3059\u3002
+javac.msg.bug=\u30b3\u30f3\u30d1\u30a4\u30e9\u3067\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f ({0})\u3002Bug Parade \u306b\u540c\u3058\u30d0\u30b0\u304c\u767b\u9332\u3055\u308c\u3066\u3044\u306a\u3044\u3053\u3068\u3092\u3054\u78ba\u8a8d\u306e\u4e0a\u3001Java Developer Connection (http://java.sun.com/webapps/bugreport) \u306b\u3066\u30d0\u30b0\u306e\u767b\u9332\u3092\u304a\u9858\u3044\u3044\u305f\u3057\u307e\u3059\u3002\u30ec\u30dd\u30fc\u30c8\u306b\u306f\u3001\u305d\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3068\u4e0b\u8a18\u306e\u8a3a\u65ad\u5185\u5bb9\u3092\u542b\u3081\u3066\u304f\u3060\u3055\u3044\u3002\u3054\u5354\u529b\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3059\u3002
+
+javac.msg.io=\n\n\u5165\u51fa\u529b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\n\u8a73\u7d30\u306f\u6b21\u306e\u30b9\u30bf\u30c3\u30af\u30c8\u30ec\u30fc\u30b9\u3067\u8abf\u67fb\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n
 
-javac.msg.io=\
-\n\n\u5165\u51fa\u529b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\n\
-\u8a73\u7d30\u306f\u6b21\u306e\u30b9\u30bf\u30c3\u30af\u30c8\u30ec\u30fc\u30b9\u3067\u8abf\u67fb\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n
+javac.msg.proc.annotation.uncaught.exception=\n\n\u6ce8\u91c8\u51e6\u7406\u3067\u30ad\u30e3\u30c3\u30c1\u3055\u308c\u306a\u3044\u4f8b\u5916\u304c\u30b9\u30ed\u30fc\u3055\u308c\u307e\u3057\u305f\u3002\n\u8a73\u7d30\u306f\u6b21\u306e\u30b9\u30bf\u30c3\u30af\u30c8\u30ec\u30fc\u30b9\u3067\u8abf\u67fb\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n
 
-javac.msg.proc.annotation.uncaught.exception=\
-\n\n\u6ce8\u91c8\u51e6\u7406\u3067\u30ad\u30e3\u30c3\u30c1\u3055\u308c\u306a\u3044\u4f8b\u5916\u304c\u30b9\u30ed\u30fc\u3055\u308c\u307e\u3057\u305f\u3002\n\
-\u8a73\u7d30\u306f\u6b21\u306e\u30b9\u30bf\u30c3\u30af\u30c8\u30ec\u30fc\u30b9\u3067\u8abf\u67fb\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n
-
-javac.msg.resource=\
-\n\n\u30b7\u30b9\u30c6\u30e0\u30ea\u30bd\u30fc\u30b9\u304c\u4e0d\u8db3\u3057\u3066\u3044\u307e\u3059\u3002\n\
-\u8a73\u7d30\u306f\u6b21\u306e\u30b9\u30bf\u30c3\u30af\u30c8\u30ec\u30fc\u30b9\u3067\u8abf\u67fb\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n
+javac.msg.resource=\n\n\u30b7\u30b9\u30c6\u30e0\u30ea\u30bd\u30fc\u30b9\u304c\u4e0d\u8db3\u3057\u3066\u3044\u307e\u3059\u3002\n\u8a73\u7d30\u306f\u6b21\u306e\u30b9\u30bf\u30c3\u30af\u30c8\u30ec\u30fc\u30b9\u3067\u8abf\u67fb\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n
 
 javac.version={0} {1}
 javac.fullVersion={0} \u30d5\u30eb\u30d0\u30fc\u30b8\u30e7\u30f3 "{1}"
--- a/langtools/src/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties	Wed Jul 05 17:10:46 2017 +0200
@@ -1,5 +1,5 @@
 #
-# Copyright 2005-2006 Sun Microsystems, Inc.  All Rights Reserved.
+# Copyright 1999-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
@@ -25,184 +25,100 @@
 
 ## standard options
 
-javac.opt.g=\
-\u751f\u6210\u6240\u6709\u8c03\u8bd5\u4fe1\u606f
-javac.opt.g.none=\
-\u4e0d\u751f\u6210\u4efb\u4f55\u8c03\u8bd5\u4fe1\u606f
-javac.opt.g.lines.vars.source=\
-\u53ea\u751f\u6210\u67d0\u4e9b\u8c03\u8bd5\u4fe1\u606f
-javac.opt.nowarn=\
-\u4e0d\u751f\u6210\u4efb\u4f55\u8b66\u544a
-javac.opt.verbose=\
-\u8f93\u51fa\u6709\u5173\u7f16\u8bd1\u5668\u6b63\u5728\u6267\u884c\u7684\u64cd\u4f5c\u7684\u6d88\u606f
-javac.opt.deprecation=\
-\u8f93\u51fa\u4f7f\u7528\u5df2\u8fc7\u65f6\u7684 API \u7684\u6e90\u4f4d\u7f6e
-javac.opt.classpath=\
-\u6307\u5b9a\u67e5\u627e\u7528\u6237\u7c7b\u6587\u4ef6\u548c\u6ce8\u91ca\u5904\u7406\u7a0b\u5e8f\u7684\u4f4d\u7f6e
-javac.opt.sourcepath=\
-\u6307\u5b9a\u67e5\u627e\u8f93\u5165\u6e90\u6587\u4ef6\u7684\u4f4d\u7f6e
-javac.opt.bootclasspath=\
-\u8986\u76d6\u5f15\u5bfc\u7c7b\u6587\u4ef6\u7684\u4f4d\u7f6e
-javac.opt.Xbootclasspath.p=\
-\u7f6e\u4e8e\u5f15\u5bfc\u7c7b\u8def\u5f84\u4e4b\u524d
-javac.opt.Xbootclasspath.a=\
-\u7f6e\u4e8e\u5f15\u5bfc\u7c7b\u8def\u5f84\u4e4b\u540e
-javac.opt.endorseddirs=\
-\u8986\u76d6\u7b7e\u540d\u7684\u6807\u51c6\u8def\u5f84\u7684\u4f4d\u7f6e
-javac.opt.extdirs=\
-\u8986\u76d6\u5b89\u88c5\u7684\u6269\u5c55\u76ee\u5f55\u7684\u4f4d\u7f6e
-javac.opt.processorpath=\
-\u6307\u5b9a\u67e5\u627e\u6ce8\u91ca\u5904\u7406\u7a0b\u5e8f\u7684\u4f4d\u7f6e
-javac.opt.processor=\
-\u8981\u8fd0\u884c\u7684\u6ce8\u91ca\u5904\u7406\u7a0b\u5e8f\u7684\u540d\u79f0\uff1b\u7ed5\u8fc7\u9ed8\u8ba4\u7684\u641c\u7d22\u8fdb\u7a0b
-javac.opt.proc.none.only=\
-\u63a7\u5236\u662f\u5426\u6267\u884c\u6ce8\u91ca\u5904\u7406\u548c/\u6216\u7f16\u8bd1\u3002
-javac.opt.d=\
-\u6307\u5b9a\u5b58\u653e\u751f\u6210\u7684\u7c7b\u6587\u4ef6\u7684\u4f4d\u7f6e
-javac.opt.sourceDest=\
-\u6307\u5b9a\u5b58\u653e\u751f\u6210\u7684\u6e90\u6587\u4ef6\u7684\u4f4d\u7f6e
-javac.opt.J=\
-\u76f4\u63a5\u5c06 <\u6807\u5fd7> \u4f20\u9012\u7ed9\u8fd0\u884c\u65f6\u7cfb\u7edf
-javac.opt.encoding=\
-\u6307\u5b9a\u6e90\u6587\u4ef6\u4f7f\u7528\u7684\u5b57\u7b26\u7f16\u7801
-javac.opt.target=\
-\u751f\u6210\u7279\u5b9a VM \u7248\u672c\u7684\u7c7b\u6587\u4ef6
-javac.opt.source=\
-\u63d0\u4f9b\u4e0e\u6307\u5b9a\u7248\u672c\u7684\u6e90\u517c\u5bb9\u6027
-javac.opt.A=\
-\u4f20\u9012\u7ed9\u6ce8\u91ca\u5904\u7406\u7a0b\u5e8f\u7684\u9009\u9879
-javac.opt.implicit=\
-    \u6307\u5b9a\u662f\u5426\u4e3a\u9690\u5f0f\u5f15\u7528\u6587\u4ef6\u751f\u6210\u7c7b\u6587\u4ef6 
-javac.opt.arg.class=\
-<class>
-javac.opt.arg.class.list=\
-<class1>[,<class2>,<class3>...]
-javac.opt.arg.flag=\
-<\u6807\u5fd7>
-javac.opt.arg.key.equals.value=\
-    key[=value]
-javac.opt.arg.path=\
-<\u8def\u5f84>
-javac.opt.arg.dirs=\
-<\u76ee\u5f55>
-javac.opt.arg.directory=\
-<\u76ee\u5f55>
-javac.opt.arg.encoding=\
-<\u7f16\u7801>
-javac.opt.arg.release=\
-<\u7248\u672c>
-javac.opt.arg.number=\
-<\u7f16\u53f7>
+javac.opt.g=\u751f\u6210\u6240\u6709\u8c03\u8bd5\u4fe1\u606f
+javac.opt.g.none=\u4e0d\u751f\u6210\u4efb\u4f55\u8c03\u8bd5\u4fe1\u606f
+javac.opt.g.lines.vars.source=\u53ea\u751f\u6210\u67d0\u4e9b\u8c03\u8bd5\u4fe1\u606f
+javac.opt.nowarn=\u4e0d\u751f\u6210\u4efb\u4f55\u8b66\u544a
+javac.opt.verbose=\u8f93\u51fa\u6709\u5173\u7f16\u8bd1\u5668\u6b63\u5728\u6267\u884c\u7684\u64cd\u4f5c\u7684\u6d88\u606f
+javac.opt.deprecation=\u8f93\u51fa\u4f7f\u7528\u5df2\u8fc7\u65f6\u7684 API \u7684\u6e90\u4f4d\u7f6e
+javac.opt.classpath=\u6307\u5b9a\u67e5\u627e\u7528\u6237\u7c7b\u6587\u4ef6\u548c\u6ce8\u91ca\u5904\u7406\u7a0b\u5e8f\u7684\u4f4d\u7f6e
+javac.opt.sourcepath=\u6307\u5b9a\u67e5\u627e\u8f93\u5165\u6e90\u6587\u4ef6\u7684\u4f4d\u7f6e
+javac.opt.bootclasspath=\u8986\u76d6\u5f15\u5bfc\u7c7b\u6587\u4ef6\u7684\u4f4d\u7f6e
+javac.opt.Xbootclasspath.p=\u7f6e\u4e8e\u5f15\u5bfc\u7c7b\u8def\u5f84\u4e4b\u524d
+javac.opt.Xbootclasspath.a=\u7f6e\u4e8e\u5f15\u5bfc\u7c7b\u8def\u5f84\u4e4b\u540e
+javac.opt.endorseddirs=\u8986\u76d6\u7b7e\u540d\u7684\u6807\u51c6\u8def\u5f84\u7684\u4f4d\u7f6e
+javac.opt.extdirs=\u8986\u76d6\u5b89\u88c5\u7684\u6269\u5c55\u76ee\u5f55\u7684\u4f4d\u7f6e
+javac.opt.processorpath=\u6307\u5b9a\u67e5\u627e\u6ce8\u91ca\u5904\u7406\u7a0b\u5e8f\u7684\u4f4d\u7f6e
+javac.opt.processor=\u8981\u8fd0\u884c\u7684\u6ce8\u91ca\u5904\u7406\u7a0b\u5e8f\u7684\u540d\u79f0\uff1b\u7ed5\u8fc7\u9ed8\u8ba4\u7684\u641c\u7d22\u8fdb\u7a0b
+javac.opt.proc.none.only=\u63a7\u5236\u662f\u5426\u6267\u884c\u6ce8\u91ca\u5904\u7406\u548c/\u6216\u7f16\u8bd1\u3002
+javac.opt.d=\u6307\u5b9a\u5b58\u653e\u751f\u6210\u7684\u7c7b\u6587\u4ef6\u7684\u4f4d\u7f6e
+javac.opt.sourceDest=\u6307\u5b9a\u5b58\u653e\u751f\u6210\u7684\u6e90\u6587\u4ef6\u7684\u4f4d\u7f6e
+javac.opt.J=\u76f4\u63a5\u5c06 <\u6807\u5fd7> \u4f20\u9012\u7ed9\u8fd0\u884c\u65f6\u7cfb\u7edf
+javac.opt.encoding=\u6307\u5b9a\u6e90\u6587\u4ef6\u4f7f\u7528\u7684\u5b57\u7b26\u7f16\u7801
+javac.opt.target=\u751f\u6210\u7279\u5b9a VM \u7248\u672c\u7684\u7c7b\u6587\u4ef6
+javac.opt.source=\u63d0\u4f9b\u4e0e\u6307\u5b9a\u7248\u672c\u7684\u6e90\u517c\u5bb9\u6027
+javac.opt.Werror=\u51fa\u73b0\u8b66\u544a\u5219\u4e2d\u6b62\u7f16\u8bd1
+javac.opt.A=\u4f20\u9012\u7ed9\u6ce8\u91ca\u5904\u7406\u7a0b\u5e8f\u7684\u9009\u9879
+javac.opt.implicit=\u6307\u5b9a\u662f\u5426\u4e3a\u9690\u5f0f\u5f15\u7528\u6587\u4ef6\u751f\u6210\u7c7b\u6587\u4ef6 
+javac.opt.arg.class=<class>
+javac.opt.arg.class.list=<class1>[,<class2>,<class3>...]
+javac.opt.arg.flag=<\u6807\u5fd7>
+javac.opt.arg.key.equals.value=key[=value]
+javac.opt.arg.path=<\u8def\u5f84>
+javac.opt.arg.dirs=<\u76ee\u5f55>
+javac.opt.arg.directory=<\u76ee\u5f55>
+javac.opt.arg.encoding=<\u7f16\u7801>
+javac.opt.arg.release=<\u7248\u672c>
+javac.opt.arg.number=<\u7f16\u53f7>
 
 ## extended options
 
-javac.opt.maxerrs=\
-\u8bbe\u7f6e\u8981\u8f93\u51fa\u7684\u9519\u8bef\u7684\u6700\u5927\u6570\u76ee
-javac.opt.maxwarns=\
-\u8bbe\u7f6e\u8981\u8f93\u51fa\u7684\u8b66\u544a\u7684\u6700\u5927\u6570\u76ee
-javac.opt.nogj=\
-\u8bed\u8a00\u4e2d\u4e0d\u63a5\u53d7\u6cdb\u578b
-javac.opt.moreinfo=\
-\u8f93\u51fa\u7c7b\u578b\u53d8\u91cf\u7684\u6269\u5c55\u4fe1\u606f
-javac.opt.printflat=\
-\u5728\u5185\u90e8\u7c7b\u8f6c\u6362\u4e4b\u540e\u8f93\u51fa\u62bd\u8c61\u8bed\u6cd5\u6811
-javac.opt.printsearch=\
-\u8f93\u51fa\u6709\u5173\u641c\u7d22\u7c7b\u6587\u4ef6\u7684\u4f4d\u7f6e\u7684\u4fe1\u606f
-javac.opt.prompt=\
-\u5728\u6bcf\u6b21\u51fa\u9519\u540e\u505c\u6b62
-javac.opt.retrofit=\
-\u66f4\u65b0\u4f7f\u7528\u6cdb\u578b\u7684\u73b0\u6709\u7c7b\u6587\u4ef6
-javac.opt.s=\
-\u53d1\u51fa java \u6e90\u800c\u4e0d\u662f\u7c7b\u6587\u4ef6
-javac.opt.scramble=\
-\u5728\u5b57\u8282\u7801\u4e2d\u6df7\u6dc6\u4e13\u7528\u6807\u8bc6\u7b26
-javac.opt.scrambleall=\
-\u5728\u5b57\u8282\u7801\u4e2d\u6df7\u6dc6\u8f6f\u4ef6\u5305\u53ef\u89c1\u6807\u8bc6\u7b26
-javac.opt.version=\
-\u7248\u672c\u4fe1\u606f
-javac.opt.arg.pathname=\
-<\u8def\u5f84\u540d>
-javac.opt.arg.file=\
-<\u6587\u4ef6\u540d>
-javac.opt.Xlint=\
-\u542f\u7528\u5efa\u8bae\u7684\u8b66\u544a
-javac.opt.Xlint.suboptlist=\
-\u542f\u7528\u6216\u7981\u7528\u7279\u5b9a\u7684\u8b66\u544a
-javac.opt.Xstdout=\
-\u91cd\u5b9a\u5411\u6807\u51c6\u8f93\u51fa
-javac.opt.X=\
-\u8f93\u51fa\u975e\u6807\u51c6\u9009\u9879\u7684\u63d0\u8981
-javac.opt.help=\
-\u8f93\u51fa\u6807\u51c6\u9009\u9879\u7684\u63d0\u8981
-javac.opt.print=\
-\u8f93\u51fa\u6307\u5b9a\u7c7b\u578b\u7684\u6587\u672c\u8868\u793a
-javac.opt.printRounds=\
-\u8f93\u51fa\u6709\u5173\u6ce8\u91ca\u5904\u7406\u5faa\u73af\u7684\u4fe1\u606f
-javac.opt.printProcessorInfo=\
-\u8f93\u51fa\u6709\u5173\u8bf7\u6c42\u5904\u7406\u7a0b\u5e8f\u5904\u7406\u54ea\u4e9b\u6ce8\u91ca\u7684\u4fe1\u606f
-javac.opt.prefer=\
-    \u6307\u5b9a\u8bfb\u53d6\u6587\u4ef6\uff0c\u5f53\u540c\u65f6\u627e\u5230\u9690\u5f0f\u7f16\u8bd1\u7c7b\u7684\u6e90\u6587\u4ef6\u548c\u7c7b\u6587\u4ef6\u65f6
+javac.opt.maxerrs=\u8bbe\u7f6e\u8981\u8f93\u51fa\u7684\u9519\u8bef\u7684\u6700\u5927\u6570\u76ee
+javac.opt.maxwarns=\u8bbe\u7f6e\u8981\u8f93\u51fa\u7684\u8b66\u544a\u7684\u6700\u5927\u6570\u76ee
+javac.opt.nogj=\u8bed\u8a00\u4e2d\u4e0d\u63a5\u53d7\u6cdb\u578b
+javac.opt.moreinfo=\u8f93\u51fa\u7c7b\u578b\u53d8\u91cf\u7684\u6269\u5c55\u4fe1\u606f
+javac.opt.printflat=\u5728\u5185\u90e8\u7c7b\u8f6c\u6362\u4e4b\u540e\u8f93\u51fa\u62bd\u8c61\u8bed\u6cd5\u6811
+javac.opt.printsearch=\u8f93\u51fa\u6709\u5173\u641c\u7d22\u7c7b\u6587\u4ef6\u7684\u4f4d\u7f6e\u7684\u4fe1\u606f
+javac.opt.prompt=\u5728\u6bcf\u6b21\u51fa\u9519\u540e\u505c\u6b62
+javac.opt.retrofit=\u66f4\u65b0\u4f7f\u7528\u6cdb\u578b\u7684\u73b0\u6709\u7c7b\u6587\u4ef6
+javac.opt.s=\u53d1\u51fa java \u6e90\u800c\u4e0d\u662f\u7c7b\u6587\u4ef6
+javac.opt.scramble=\u5728\u5b57\u8282\u7801\u4e2d\u6df7\u6dc6\u4e13\u7528\u6807\u8bc6\u7b26
+javac.opt.scrambleall=\u5728\u5b57\u8282\u7801\u4e2d\u6df7\u6dc6\u8f6f\u4ef6\u5305\u53ef\u89c1\u6807\u8bc6\u7b26
+javac.opt.version=\u7248\u672c\u4fe1\u606f
+javac.opt.arg.pathname=<\u8def\u5f84\u540d>
+javac.opt.arg.file=<\u6587\u4ef6\u540d>
+javac.opt.Xlint=\u542f\u7528\u5efa\u8bae\u7684\u8b66\u544a
+javac.opt.Xlint.suboptlist=\u542f\u7528\u6216\u7981\u7528\u7279\u5b9a\u7684\u8b66\u544a
+javac.opt.Xstdout=\u91cd\u5b9a\u5411\u6807\u51c6\u8f93\u51fa
+javac.opt.X=\u8f93\u51fa\u975e\u6807\u51c6\u9009\u9879\u7684\u63d0\u8981
+javac.opt.help=\u8f93\u51fa\u6807\u51c6\u9009\u9879\u7684\u63d0\u8981
+javac.opt.print=\u8f93\u51fa\u6307\u5b9a\u7c7b\u578b\u7684\u6587\u672c\u8868\u793a
+javac.opt.printRounds=\u8f93\u51fa\u6709\u5173\u6ce8\u91ca\u5904\u7406\u5faa\u73af\u7684\u4fe1\u606f
+javac.opt.printProcessorInfo=\u8f93\u51fa\u6709\u5173\u8bf7\u6c42\u5904\u7406\u7a0b\u5e8f\u5904\u7406\u54ea\u4e9b\u6ce8\u91ca\u7684\u4fe1\u606f
+javac.opt.prefer=\u6307\u5b9a\u8bfb\u53d6\u6587\u4ef6\uff0c\u5f53\u540c\u65f6\u627e\u5230\u9690\u5f0f\u7f16\u8bd1\u7c7b\u7684\u6e90\u6587\u4ef6\u548c\u7c7b\u6587\u4ef6\u65f6
 
 ## errors
 
-javac.err.empty.A.argument=\
-    -A \u9700\u8981\u4e00\u4e2a\u53c2\u6570\uff1b\u4f7f\u7528 ''-Akey'' \u6216 ''-Akey=value''
-javac.err.invalid.arg=\
-\u65e0\u6548\u7684\u53c2\u6570\uff1a {0}
-javac.err.invalid.A.key=\
-     \u6ce8\u91ca\u5904\u7406\u5668\u9009\u9879"{0}"\u4e2d\u7684\u5173\u952e\u5b57\u4e0d\u662f\u4ee5\u70b9\u5206\u9694\u7684\u6807\u8bc6\u7b26\u5e8f\u5217
-javac.err.invalid.flag=\
-\u65e0\u6548\u7684\u6807\u5fd7\uff1a {0}
-javac.err.invalid.target=\
-\u65e0\u6548\u7684\u76ee\u6807\u7248\u672c\uff1a {0}
-javac.err.no.source.files=\
-\u65e0\u6e90\u6587\u4ef6
-javac.err.req.arg=\
-{0} \u9700\u8981\u53c2\u6570
-javac.err.invalid.source=\
-\u65e0\u6548\u7684\u6e90\u7248\u672c\uff1a {0}
-javac.err.error.writing.file=\
-\u5199\u5165 {0} \u65f6\u51fa\u9519\uff1b{1}
-javac.warn.source.target.conflict=\
-\u6e90\u7248\u672c {0} \u9700\u8981\u76ee\u6807\u7248\u672c {1}
-javac.warn.target.default.source.conflict=\
-\u76ee\u6807\u7248\u672c {0} \u4e0e\u9ed8\u8ba4\u7684\u6e90\u7248\u672c {1} \u51b2\u7a81
-javac.err.file.not.found=\
-\u627e\u4e0d\u5230\u6587\u4ef6\uff1a {0}
-javac.err.file.not.directory=\
-    \u4e0d\u662f\u76ee\u5f55: {0}
-javac.err.file.not.file=\
-    \u4e0d\u662f\u6587\u4ef6: {0}
+javac.err.empty.A.argument=-A \u9700\u8981\u4e00\u4e2a\u53c2\u6570\uff1b\u4f7f\u7528 ''-Akey'' \u6216 ''-Akey=value''
+javac.err.invalid.arg=\u65e0\u6548\u7684\u53c2\u6570\uff1a {0}
+javac.err.invalid.A.key=\u6ce8\u91ca\u5904\u7406\u5668\u9009\u9879"{0}"\u4e2d\u7684\u5173\u952e\u5b57\u4e0d\u662f\u4ee5\u70b9\u5206\u9694\u7684\u6807\u8bc6\u7b26\u5e8f\u5217
+javac.err.invalid.flag=\u65e0\u6548\u7684\u6807\u5fd7\uff1a {0}
+javac.err.invalid.target=\u65e0\u6548\u7684\u76ee\u6807\u7248\u672c\uff1a {0}
+javac.err.no.source.files=\u65e0\u6e90\u6587\u4ef6
+javac.err.req.arg={0} \u9700\u8981\u53c2\u6570
+javac.err.invalid.source=\u65e0\u6548\u7684\u6e90\u7248\u672c\uff1a {0}
+javac.err.error.writing.file=\u5199\u5165 {0} \u65f6\u51fa\u9519\uff1b{1}
+javac.warn.source.target.conflict=\u6e90\u7248\u672c {0} \u9700\u8981\u76ee\u6807\u7248\u672c {1}
+javac.warn.target.default.source.conflict=\u76ee\u6807\u7248\u672c {0} \u4e0e\u9ed8\u8ba4\u7684\u6e90\u7248\u672c {1} \u51b2\u7a81
+javac.err.dir.not.found=\u627e\u4e0d\u5230\u76ee\u5f55: {0}
+javac.err.file.not.found=\u627e\u4e0d\u5230\u6587\u4ef6\uff1a {0}
+javac.err.file.not.directory=\u4e0d\u662f\u76ee\u5f55: {0}
+javac.err.file.not.file=\u4e0d\u662f\u6587\u4ef6: {0}
 ## messages
 
-javac.msg.usage.header=\
-\u7528\u6cd5\uff1a{0} <\u9009\u9879> <\u6e90\u6587\u4ef6>\n\
-\u5176\u4e2d\uff0c\u53ef\u80fd\u7684\u9009\u9879\u5305\u62ec\uff1a
+javac.msg.usage.header=\u7528\u6cd5\uff1a{0} <\u9009\u9879> <\u6e90\u6587\u4ef6>\n\u5176\u4e2d\uff0c\u53ef\u80fd\u7684\u9009\u9879\u5305\u62ec\uff1a
 
-javac.msg.usage=\
-    \u7528\u6cd5: {0} <options> <source files>\n\
-    -help \u7528\u4e8e\u5217\u51fa\u53ef\u80fd\u7684\u9009\u9879
+javac.msg.usage=\u7528\u6cd5: {0} <options> <source files>\n-help \u7528\u4e8e\u5217\u51fa\u53ef\u80fd\u7684\u9009\u9879
 
-javac.msg.usage.nonstandard.footer=\
-\u8fd9\u4e9b\u9009\u9879\u90fd\u662f\u975e\u6807\u51c6\u9009\u9879\uff0c\u5982\u6709\u66f4\u6539\uff0c\u6055\u4e0d\u53e6\u884c\u901a\u77e5\u3002
+javac.msg.usage.nonstandard.footer=\u8fd9\u4e9b\u9009\u9879\u90fd\u662f\u975e\u6807\u51c6\u9009\u9879\uff0c\u5982\u6709\u66f4\u6539\uff0c\u6055\u4e0d\u53e6\u884c\u901a\u77e5\u3002
 	
-javac.msg.bug=\
-\u7f16\u8bd1\u5668 ({0}) \u4e2d\u51fa\u73b0\u5f02\u5e38\u3002 \
-\u5982\u679c\u5728 Bug Parade \u4e2d\u6ca1\u6709\u627e\u5230\u8be5\u9519\u8bef\uff0c\u8bf7\u5728 Java Developer Connection (http://java.sun.com/webapps/bugreport)  \
-\u5bf9\u8be5\u9519\u8bef\u8fdb\u884c\u5f52\u6863\u3002 \
-\u8bf7\u5728\u62a5\u544a\u4e2d\u9644\u4e0a\u60a8\u7684\u7a0b\u5e8f\u548c\u4ee5\u4e0b\u8bca\u65ad\u4fe1\u606f\u3002\u8c22\u8c22\u60a8\u7684\u5408\u4f5c\u3002
+javac.msg.bug=\u7f16\u8bd1\u5668 ({0}) \u4e2d\u51fa\u73b0\u5f02\u5e38\u3002 \u5982\u679c\u5728 Bug Parade \u4e2d\u6ca1\u6709\u627e\u5230\u8be5\u9519\u8bef\uff0c\u8bf7\u5728 Java Developer Connection (http://java.sun.com/webapps/bugreport)  \u5bf9\u8be5\u9519\u8bef\u8fdb\u884c\u5f52\u6863\u3002 \u8bf7\u5728\u62a5\u544a\u4e2d\u9644\u4e0a\u60a8\u7684\u7a0b\u5e8f\u548c\u4ee5\u4e0b\u8bca\u65ad\u4fe1\u606f\u3002\u8c22\u8c22\u60a8\u7684\u5408\u4f5c\u3002
+
+javac.msg.io=\n\n\u53d1\u751f\u8f93\u5165/\u8f93\u51fa\u9519\u8bef\u3002\n\u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u4ee5\u4e0b\u5806\u6808\u8ffd\u8e2a\u3002\n
 
-javac.msg.io=\
-\n\n\u53d1\u751f\u8f93\u5165/\u8f93\u51fa\u9519\u8bef\u3002\n\
-\u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u4ee5\u4e0b\u5806\u6808\u8ffd\u8e2a\u3002\n
+javac.msg.proc.annotation.uncaught.exception=\n\n\u6ce8\u91ca\u5904\u7406\u7a0b\u5e8f\u629b\u51fa\u672a\u6355\u83b7\u7684\u5f02\u5e38\u3002\n\u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u4ee5\u4e0b\u5806\u6808\u8ffd\u8e2a\u3002\n
 
-javac.msg.proc.annotation.uncaught.exception=\
-\n\n\u6ce8\u91ca\u5904\u7406\u7a0b\u5e8f\u629b\u51fa\u672a\u6355\u83b7\u7684\u5f02\u5e38\u3002\n\
-\u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u4ee5\u4e0b\u5806\u6808\u8ffd\u8e2a\u3002\n
-
-javac.msg.resource=\
-\n\n\u7cfb\u7edf\u8d44\u6e90\u4e0d\u8db3\u3002\n\
-\u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u4ee5\u4e0b\u5806\u6808\u8ffd\u8e2a\u3002\n
+javac.msg.resource=\n\n\u7cfb\u7edf\u8d44\u6e90\u4e0d\u8db3\u3002\n\u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u4ee5\u4e0b\u5806\u6808\u8ffd\u8e2a\u3002\n
 
 javac.version={0} {1}
 javac.fullVersion={0} \u5b8c\u6574\u7248\u672c "{1}"
--- a/langtools/test/tools/javac/6840059/T6840059.out	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/test/tools/javac/6840059/T6840059.out	Wed Jul 05 17:10:46 2017 +0200
@@ -1,3 +1,3 @@
-T6840059.java:15:9: compiler.err.cant.resolve.location.args: kindname.constructor, T6840059, , java.lang.String, kindname.class, T6840059
-T6840059.java:15:25: compiler.err.cant.resolve.location.args: kindname.constructor, T6840059, , , kindname.class, T6840059
+T6840059.java:15:9: compiler.err.cant.apply.symbol: kindname.constructor, T6840059, java.lang.Integer, java.lang.String, kindname.class, T6840059, null
+T6840059.java:15:25: compiler.err.cant.apply.symbol: kindname.constructor, T6840059, java.lang.Integer, compiler.misc.no.args, kindname.class, T6840059, null
 2 errors
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/T6942649.java	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,59 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+
+/*
+ * @test
+ * @bug 6942649
+ * @summary add hidden option to identify location and version of javac classes
+ */
+
+import java.io.*;
+
+public class T6942649 {
+    public static void main(String... args) throws Exception {
+        new T6942649().run();
+    }
+
+    void run() throws Exception {
+        test("-XDshowClass", "com.sun.tools.javac.Main");
+        test("-XDshowClass=com.sun.tools.javac.util.Log", "com.sun.tools.javac.util.Log");
+    }
+
+    void test(String opt, String clazz) throws Exception {
+        System.err.println("test " + opt);
+        StringWriter sw = new StringWriter();
+        PrintWriter pw = new PrintWriter(sw);
+        int rc = com.sun.tools.javac.Main.compile(new String[] { opt }, pw);
+        pw.close();
+        String out = sw.toString();
+        System.err.println("javac rc=" + rc + "\n" + out);
+        if (!out.contains(clazz))
+            throw new Exception("class name not found in output");
+        int lastDot = clazz.lastIndexOf(".");
+        if (!out.contains(clazz.substring(lastDot + 1) + ".class"))
+            throw new Exception("location of class not found in output");
+        if (!out.contains("MD5 checksum: "))
+            throw new Exception("checksum not found in output");
+    }
+}
--- a/langtools/test/tools/javac/generics/diamond/neg/Neg01.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg01.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,10 +1,10 @@
 /*
  * @test /nodynamiccopyright/
- * @bug 6840638
+ * @bug 6939620
  *
- * @summary  Project Coin: Improved Type Inference for Generic Instance Creation (aka 'diamond')
+ * @summary  Switch to 'complex' diamond inference scheme
  * @author mcimadamore
- * @compile/fail/ref=Neg01.out Neg01.java -source 1.7 -XDrawDiagnostics
+ * @compile/fail/ref=Neg01.out Neg01.java -XDrawDiagnostics
  *
  */
 
@@ -15,24 +15,24 @@
     <Z> Neg01(X x, Z z) {}
 
     void test() {
-        Neg01<String> n1 = new Neg01<>(""); //new Foo<Integer> created
-        Neg01<? extends String> n2 = new Neg01<>(""); //new Foo<Integer> created
-        Neg01<?> n3 = new Neg01<>(""); //new Foo<Object> created
-        Neg01<? super String> n4 = new Neg01<>(""); //new Foo<Object> created
+        Neg01<String> n1 = new Neg01<>("");
+        Neg01<? extends String> n2 = new Neg01<>("");
+        Neg01<?> n3 = new Neg01<>("");
+        Neg01<? super String> n4 = new Neg01<>("");
 
-        Neg01<String> n5 = new Neg01<>(""){}; //new Foo<Integer> created
-        Neg01<? extends String> n6 = new Neg01<>(""){}; //new Foo<Integer> created
-        Neg01<?> n7 = new Neg01<>(""){}; //new Foo<Object> created
-        Neg01<? super String> n8 = new Neg01<>(""){}; //new Foo<Object> created
+        Neg01<String> n5 = new Neg01<>(""){};
+        Neg01<? extends String> n6 = new Neg01<>(""){};
+        Neg01<?> n7 = new Neg01<>(""){};
+        Neg01<? super String> n8 = new Neg01<>(""){};
 
-        Neg01<String> n9 = new Neg01<>("", ""); //new Foo<Integer> created
-        Neg01<? extends String> n10 = new Neg01<>("", ""); //new Foo<Integer> created
-        Neg01<?> n11 = new Neg01<>("", ""); //new Foo<Object> created
-        Foo<? super String> n12 = new Neg01<>("", ""); //new Foo<Object> created
+        Neg01<String> n9 = new Neg01<>("", "");
+        Neg01<? extends String> n10 = new Neg01<>("", "");
+        Neg01<?> n11 = new Neg01<>("", "");
+        Foo<? super String> n12 = new Neg01<>("", "");
 
-        Neg01<String> n13 = new Neg01<>("", ""){}; //new Foo<Integer> created
-        Neg01<? extends String> n14 = new Neg01<>("", ""){}; //new Foo<Integer> created
-        Neg01<?> n15 = new Neg01<>("", ""){}; //new Foo<Object> created
-        Neg01<? super String> n16 = new Neg01<>("", ""){}; //new Foo<Object> created
+        Neg01<String> n13 = new Neg01<>("", ""){};
+        Neg01<? extends String> n14 = new Neg01<>("", ""){};
+        Neg01<?> n15 = new Neg01<>("", ""){};
+        Neg01<? super String> n16 = new Neg01<>("", ""){};
     }
 }
--- a/langtools/test/tools/javac/generics/diamond/neg/Neg01.out	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg01.out	Wed Jul 05 17:10:46 2017 +0200
@@ -1,31 +1,29 @@
 Neg01.java:18:15: compiler.err.not.within.bounds: java.lang.String
-Neg01.java:18:37: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg01<X>, Neg01<java.lang.String>)
+Neg01.java:18:28: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
 Neg01.java:19:15: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg01.java:19:47: compiler.err.cant.apply.diamond: X, (compiler.misc.no.unique.maximal.instance.exists: X, java.lang.String,java.lang.Number)
-Neg01.java:20:23: compiler.err.cant.resolve.location.args: kindname.constructor, Neg01, , java.lang.String, kindname.class, Neg01<java.lang.Number>
+Neg01.java:19:38: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
+Neg01.java:20:23: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
 Neg01.java:21:15: compiler.err.not.within.bounds: ? super java.lang.String
-Neg01.java:21:45: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg01<X>, Neg01<? super java.lang.String>)
+Neg01.java:21:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
 Neg01.java:23:15: compiler.err.not.within.bounds: java.lang.String
-Neg01.java:23:37: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg01<X>, Neg01<java.lang.String>)
+Neg01.java:23:28: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
 Neg01.java:24:15: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg01.java:24:47: compiler.err.cant.apply.diamond: X, (compiler.misc.no.unique.maximal.instance.exists: X, java.lang.String,java.lang.Number)
-Neg01.java:25:23: compiler.err.cant.resolve.location.args: kindname.constructor, Neg01, , java.lang.String, kindname.class, Neg01<java.lang.Number>
-Neg01.java:25:38: compiler.err.cant.resolve.location.args: kindname.constructor, Neg01, , , kindname.class, Neg01<java.lang.Number>
+Neg01.java:24:38: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
+Neg01.java:25:23: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
 Neg01.java:26:15: compiler.err.not.within.bounds: ? super java.lang.String
-Neg01.java:26:45: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg01<X>, Neg01<? super java.lang.String>)
+Neg01.java:26:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
 Neg01.java:28:15: compiler.err.not.within.bounds: java.lang.String
-Neg01.java:28:37: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg01<X>, Neg01<java.lang.String>)
+Neg01.java:28:28: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
 Neg01.java:29:15: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg01.java:29:48: compiler.err.cant.apply.diamond: X, (compiler.misc.no.unique.maximal.instance.exists: X, java.lang.String,java.lang.Number)
-Neg01.java:30:24: compiler.err.cant.resolve.location.args: kindname.constructor, Neg01, , java.lang.String,java.lang.String, kindname.class, Neg01<java.lang.Number>
+Neg01.java:29:39: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
+Neg01.java:30:24: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
 Neg01.java:31:9: compiler.err.cant.resolve.location: kindname.class, Foo, , , kindname.class, Neg01<X>
-Neg01.java:31:35: compiler.err.cant.resolve.location.args: kindname.constructor, Neg01, , java.lang.String,java.lang.String, kindname.class, Neg01<java.lang.Number>
+Neg01.java:31:35: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
 Neg01.java:33:15: compiler.err.not.within.bounds: java.lang.String
-Neg01.java:33:38: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg01<X>, Neg01<java.lang.String>)
+Neg01.java:33:29: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
 Neg01.java:34:15: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg01.java:34:48: compiler.err.cant.apply.diamond: X, (compiler.misc.no.unique.maximal.instance.exists: X, java.lang.String,java.lang.Number)
-Neg01.java:35:24: compiler.err.cant.resolve.location.args: kindname.constructor, Neg01, , java.lang.String,java.lang.String, kindname.class, Neg01<java.lang.Number>
-Neg01.java:35:43: compiler.err.cant.resolve.location.args: kindname.constructor, Neg01, , , kindname.class, Neg01<java.lang.Number>
+Neg01.java:34:39: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
+Neg01.java:35:24: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
 Neg01.java:36:15: compiler.err.not.within.bounds: ? super java.lang.String
-Neg01.java:36:46: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg01<X>, Neg01<? super java.lang.String>)
-30 errors
+Neg01.java:36:37: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
+28 errors
--- a/langtools/test/tools/javac/generics/diamond/neg/Neg02.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg02.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,10 +1,10 @@
 /*
  * @test /nodynamiccopyright/
- * @bug 6840638
+ * @bug 6939620
  *
- * @summary  Project Coin: Improved Type Inference for Generic Instance Creation (aka 'diamond')
+ * @summary  Switch to 'complex' diamond inference scheme
  * @author mcimadamore
- * @compile/fail/ref=Neg02.out Neg02.java -source 1.7 -XDrawDiagnostics
+ * @compile/fail/ref=Neg02.out Neg02.java -XDrawDiagnostics
  *
  */
 
@@ -16,46 +16,46 @@
     }
 
     void testSimple() {
-        Foo<String> f1 = new Foo<>(""); //new Foo<Integer> created
-        Foo<? extends String> f2 = new Foo<>(""); //new Foo<Integer> created
-        Foo<?> f3 = new Foo<>(""); //new Foo<Object> created
-        Foo<? super String> f4 = new Foo<>(""); //new Foo<Object> created
+        Foo<String> f1 = new Foo<>("");
+        Foo<? extends String> f2 = new Foo<>("");
+        Foo<?> f3 = new Foo<>("");
+        Foo<? super String> f4 = new Foo<>("");
 
-        Foo<String> f5 = new Foo<>(""){}; //new Foo<Integer> created
-        Foo<? extends String> f6 = new Foo<>(""){}; //new Foo<Integer> created
-        Foo<?> f7 = new Foo<>(""){}; //new Foo<Object> created
-        Foo<? super String> f8 = new Foo<>(""){}; //new Foo<Object> created
+        Foo<String> f5 = new Foo<>(""){};
+        Foo<? extends String> f6 = new Foo<>(""){};
+        Foo<?> f7 = new Foo<>(""){};
+        Foo<? super String> f8 = new Foo<>(""){};
 
-        Foo<String> f9 = new Foo<>("", ""); //new Foo<Integer> created
-        Foo<? extends String> f10 = new Foo<>("", ""); //new Foo<Integer> created
-        Foo<?> f11 = new Foo<>("", ""); //new Foo<Object> created
-        Foo<? super String> f12 = new Foo<>("", ""); //new Foo<Object> created
+        Foo<String> f9 = new Foo<>("", "");
+        Foo<? extends String> f10 = new Foo<>("", "");
+        Foo<?> f11 = new Foo<>("", "");
+        Foo<? super String> f12 = new Foo<>("", "");
 
-        Foo<String> f13 = new Foo<>("", ""){}; //new Foo<Integer> created
-        Foo<? extends String> f14 = new Foo<>("", ""){}; //new Foo<Integer> created
-        Foo<?> f15 = new Foo<>("", ""){}; //new Foo<Object> created
-        Foo<? super String> f16 = new Foo<>("", ""){}; //new Foo<Object> created
+        Foo<String> f13 = new Foo<>("", ""){};
+        Foo<? extends String> f14 = new Foo<>("", ""){};
+        Foo<?> f15 = new Foo<>("", ""){};
+        Foo<? super String> f16 = new Foo<>("", ""){};
     }
 
     void testQualified() {
-        Foo<String> f1 = new Neg02.Foo<>(""); //new Foo<Integer> created
-        Foo<? extends String> f2 = new Neg02.Foo<>(""); //new Foo<Integer> created
-        Foo<?> f3 = new Neg02.Foo<>(""); //new Foo<Object> created
-        Foo<? super String> f4 = new Neg02.Foo<>(""); //new Foo<Object> created
+        Foo<String> f1 = new Neg02.Foo<>("");
+        Foo<? extends String> f2 = new Neg02.Foo<>("");
+        Foo<?> f3 = new Neg02.Foo<>("");
+        Foo<? super String> f4 = new Neg02.Foo<>("");
 
-        Foo<String> f5 = new Neg02.Foo<>(""){}; //new Foo<Integer> created
-        Foo<? extends String> f6 = new Neg02.Foo<>(""){}; //new Foo<Integer> created
-        Foo<?> f7 = new Neg02.Foo<>(""){}; //new Foo<Object> created
-        Foo<? super String> f8 = new Neg02.Foo<>(""){}; //new Foo<Object> created
+        Foo<String> f5 = new Neg02.Foo<>(""){};
+        Foo<? extends String> f6 = new Neg02.Foo<>(""){};
+        Foo<?> f7 = new Neg02.Foo<>(""){};
+        Foo<? super String> f8 = new Neg02.Foo<>(""){};
 
-        Foo<String> f9 = new Neg02.Foo<>("", ""); //new Foo<Integer> created
-        Foo<? extends String> f10 = new Neg02.Foo<>("", ""); //new Foo<Integer> created
-        Foo<?> f11 = new Neg02.Foo<>("", ""); //new Foo<Object> created
-        Foo<? super String> f12 = new Neg02.Foo<>("", ""); //new Foo<Object> created
+        Foo<String> f9 = new Neg02.Foo<>("", "");
+        Foo<? extends String> f10 = new Neg02.Foo<>("", "");
+        Foo<?> f11 = new Neg02.Foo<>("", "");
+        Foo<? super String> f12 = new Neg02.Foo<>("", "");
 
-        Foo<String> f13 = new Neg02.Foo<>("", ""){}; //new Foo<Integer> created
-        Foo<? extends String> f14 = new Neg02.Foo<>("", ""){}; //new Foo<Integer> created
-        Foo<?> f15 = new Neg02.Foo<>("", ""){}; //new Foo<Object> created
-        Foo<? super String> f16 = new Neg02.Foo<>("", ""){}; //new Foo<Object> created
+        Foo<String> f13 = new Neg02.Foo<>("", ""){};
+        Foo<? extends String> f14 = new Neg02.Foo<>("", ""){};
+        Foo<?> f15 = new Neg02.Foo<>("", ""){};
+        Foo<? super String> f16 = new Neg02.Foo<>("", ""){};
     }
 }
--- a/langtools/test/tools/javac/generics/diamond/neg/Neg02.out	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg02.out	Wed Jul 05 17:10:46 2017 +0200
@@ -1,61 +1,57 @@
 Neg02.java:19:13: compiler.err.not.within.bounds: java.lang.String
-Neg02.java:19:33: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<java.lang.String>)
+Neg02.java:19:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
 Neg02.java:20:13: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg02.java:20:43: compiler.err.cant.apply.diamond: X, (compiler.misc.no.unique.maximal.instance.exists: X, java.lang.String,java.lang.Number)
-Neg02.java:21:21: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String, kindname.class, Neg02.Foo<java.lang.Number>
+Neg02.java:20:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
+Neg02.java:21:21: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
 Neg02.java:22:13: compiler.err.not.within.bounds: ? super java.lang.String
-Neg02.java:22:41: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<? super java.lang.String>)
+Neg02.java:22:34: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
 Neg02.java:24:13: compiler.err.not.within.bounds: java.lang.String
-Neg02.java:24:33: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<java.lang.String>)
+Neg02.java:24:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
 Neg02.java:25:13: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg02.java:25:43: compiler.err.cant.apply.diamond: X, (compiler.misc.no.unique.maximal.instance.exists: X, java.lang.String,java.lang.Number)
-Neg02.java:26:21: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String, kindname.class, Neg02.Foo<java.lang.Number>
-Neg02.java:26:34: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , , kindname.class, Neg02.Foo<java.lang.Number>
+Neg02.java:25:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
+Neg02.java:26:21: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
 Neg02.java:27:13: compiler.err.not.within.bounds: ? super java.lang.String
-Neg02.java:27:41: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<? super java.lang.String>)
+Neg02.java:27:34: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
 Neg02.java:29:13: compiler.err.not.within.bounds: java.lang.String
-Neg02.java:29:33: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<java.lang.String>)
+Neg02.java:29:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
 Neg02.java:30:13: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg02.java:30:44: compiler.err.cant.apply.diamond: X, (compiler.misc.no.unique.maximal.instance.exists: X, java.lang.String,java.lang.Number)
-Neg02.java:31:22: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String,java.lang.String, kindname.class, Neg02.Foo<java.lang.Number>
+Neg02.java:30:37: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
+Neg02.java:31:22: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
 Neg02.java:32:13: compiler.err.not.within.bounds: ? super java.lang.String
-Neg02.java:32:42: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<? super java.lang.String>)
+Neg02.java:32:35: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
 Neg02.java:34:13: compiler.err.not.within.bounds: java.lang.String
-Neg02.java:34:34: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<java.lang.String>)
+Neg02.java:34:27: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
 Neg02.java:35:13: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg02.java:35:44: compiler.err.cant.apply.diamond: X, (compiler.misc.no.unique.maximal.instance.exists: X, java.lang.String,java.lang.Number)
-Neg02.java:36:22: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String,java.lang.String, kindname.class, Neg02.Foo<java.lang.Number>
-Neg02.java:36:39: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , , kindname.class, Neg02.Foo<java.lang.Number>
+Neg02.java:35:37: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
+Neg02.java:36:22: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
 Neg02.java:37:13: compiler.err.not.within.bounds: ? super java.lang.String
-Neg02.java:37:42: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<? super java.lang.String>)
+Neg02.java:37:35: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
 Neg02.java:41:13: compiler.err.not.within.bounds: java.lang.String
-Neg02.java:41:39: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<java.lang.String>)
+Neg02.java:41:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
 Neg02.java:42:13: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg02.java:42:49: compiler.err.cant.apply.diamond: X, (compiler.misc.no.unique.maximal.instance.exists: X, java.lang.String,java.lang.Number)
-Neg02.java:43:21: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String, kindname.class, Neg02.Foo<java.lang.Number>
+Neg02.java:42:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
+Neg02.java:43:21: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
 Neg02.java:44:13: compiler.err.not.within.bounds: ? super java.lang.String
-Neg02.java:44:47: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<? super java.lang.String>)
+Neg02.java:44:34: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
 Neg02.java:46:13: compiler.err.not.within.bounds: java.lang.String
-Neg02.java:46:39: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<java.lang.String>)
+Neg02.java:46:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
 Neg02.java:47:13: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg02.java:47:49: compiler.err.cant.apply.diamond: X, (compiler.misc.no.unique.maximal.instance.exists: X, java.lang.String,java.lang.Number)
-Neg02.java:48:21: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String, kindname.class, Neg02.Foo<java.lang.Number>
-Neg02.java:48:40: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , , kindname.class, Neg02.Foo<java.lang.Number>
+Neg02.java:47:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
+Neg02.java:48:21: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
 Neg02.java:49:13: compiler.err.not.within.bounds: ? super java.lang.String
-Neg02.java:49:47: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<? super java.lang.String>)
+Neg02.java:49:34: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
 Neg02.java:51:13: compiler.err.not.within.bounds: java.lang.String
-Neg02.java:51:39: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<java.lang.String>)
+Neg02.java:51:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
 Neg02.java:52:13: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg02.java:52:50: compiler.err.cant.apply.diamond: X, (compiler.misc.no.unique.maximal.instance.exists: X, java.lang.String,java.lang.Number)
-Neg02.java:53:22: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String,java.lang.String, kindname.class, Neg02.Foo<java.lang.Number>
+Neg02.java:52:37: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
+Neg02.java:53:22: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
 Neg02.java:54:13: compiler.err.not.within.bounds: ? super java.lang.String
-Neg02.java:54:48: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<? super java.lang.String>)
+Neg02.java:54:35: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
 Neg02.java:56:13: compiler.err.not.within.bounds: java.lang.String
-Neg02.java:56:40: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<java.lang.String>)
+Neg02.java:56:27: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
 Neg02.java:57:13: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg02.java:57:50: compiler.err.cant.apply.diamond: X, (compiler.misc.no.unique.maximal.instance.exists: X, java.lang.String,java.lang.Number)
-Neg02.java:58:22: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String,java.lang.String, kindname.class, Neg02.Foo<java.lang.Number>
-Neg02.java:58:45: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , , kindname.class, Neg02.Foo<java.lang.Number>
+Neg02.java:57:37: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
+Neg02.java:58:22: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
 Neg02.java:59:13: compiler.err.not.within.bounds: ? super java.lang.String
-Neg02.java:59:48: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<? super java.lang.String>)
-60 errors
+Neg02.java:59:35: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
+56 errors
--- a/langtools/test/tools/javac/generics/diamond/neg/Neg03.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg03.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,10 +1,10 @@
 /*
  * @test /nodynamiccopyright/
- * @bug 6840638
+ * @bug 6939620
  *
- * @summary  Project Coin: Improved Type Inference for Generic Instance Creation (aka 'diamond')
+ * @summary  Switch to 'complex' diamond inference scheme
  * @author mcimadamore
- * @compile/fail/ref=Neg03.out Neg03.java -source 1.7 -XDrawDiagnostics
+ * @compile/fail/ref=Neg03.out Neg03.java -XDrawDiagnostics
  *
  */
 
@@ -16,68 +16,68 @@
     }
 
     void testSimple() {
-        Foo<String> f1 = new Foo<>(""); //new Foo<Integer> created
-        Foo<? extends String> f2 = new Foo<>(""); //new Foo<Integer> created
-        Foo<?> f3 = new Foo<>(""); //new Foo<Object> created
-        Foo<? super String> f4 = new Foo<>(""); //new Foo<Object> created
+        Foo<String> f1 = new Foo<>("");
+        Foo<? extends String> f2 = new Foo<>("");
+        Foo<?> f3 = new Foo<>("");
+        Foo<? super String> f4 = new Foo<>("");
 
-        Foo<String> f5 = new Foo<>(""){}; //new Foo<Integer> created
-        Foo<? extends String> f6 = new Foo<>(""){}; //new Foo<Integer> created
-        Foo<?> f7 = new Foo<>(""){}; //new Foo<Object> created
-        Foo<? super String> f8 = new Foo<>(""){}; //new Foo<Object> created
+        Foo<String> f5 = new Foo<>(""){};
+        Foo<? extends String> f6 = new Foo<>(""){};
+        Foo<?> f7 = new Foo<>(""){};
+        Foo<? super String> f8 = new Foo<>(""){};
 
-        Foo<String> f9 = new Foo<>("", ""); //new Foo<Integer> created
-        Foo<? extends String> f10 = new Foo<>("", ""); //new Foo<Integer> created
-        Foo<?> f11 = new Foo<>("", ""); //new Foo<Object> created
-        Foo<? super String> f12 = new Foo<>("", ""); //new Foo<Object> created
+        Foo<String> f9 = new Foo<>("", "");
+        Foo<? extends String> f10 = new Foo<>("", "");
+        Foo<?> f11 = new Foo<>("", "");
+        Foo<? super String> f12 = new Foo<>("", "");
 
-        Foo<String> f13 = new Foo<>("", ""){}; //new Foo<Integer> created
-        Foo<? extends String> f14 = new Foo<>("", ""){}; //new Foo<Integer> created
-        Foo<?> f15 = new Foo<>("", ""){}; //new Foo<Object> created
-        Foo<? super String> f16 = new Foo<>("", ""){}; //new Foo<Object> created
+        Foo<String> f13 = new Foo<>("", ""){};
+        Foo<? extends String> f14 = new Foo<>("", ""){};
+        Foo<?> f15 = new Foo<>("", ""){};
+        Foo<? super String> f16 = new Foo<>("", ""){};
     }
 
     void testQualified_1() {
-        Foo<String> f1 = new Neg03<U>.Foo<>(""); //new Foo<Integer> created
-        Foo<? extends String> f2 = new Neg03<U>.Foo<>(""); //new Foo<Integer> created
-        Foo<?> f3 = new Neg03<U>.Foo<>(""); //new Foo<Object> created
-        Foo<? super String> f4 = new Neg03<U>.Foo<>(""); //new Foo<Object> created
+        Foo<String> f1 = new Neg03<U>.Foo<>("");
+        Foo<? extends String> f2 = new Neg03<U>.Foo<>("");
+        Foo<?> f3 = new Neg03<U>.Foo<>("");
+        Foo<? super String> f4 = new Neg03<U>.Foo<>("");
 
-        Foo<String> f5 = new Neg03<U>.Foo<>(""){}; //new Foo<Integer> created
-        Foo<? extends String> f6 = new Neg03<U>.Foo<>(""){}; //new Foo<Integer> created
-        Foo<?> f7 = new Neg03<U>.Foo<>(""){}; //new Foo<Object> created
-        Foo<? super String> f8 = new Neg03<U>.Foo<>(""){}; //new Foo<Object> created
+        Foo<String> f5 = new Neg03<U>.Foo<>(""){};
+        Foo<? extends String> f6 = new Neg03<U>.Foo<>(""){};
+        Foo<?> f7 = new Neg03<U>.Foo<>(""){};
+        Foo<? super String> f8 = new Neg03<U>.Foo<>(""){};
 
-        Foo<String> f9 = new Neg03<U>.Foo<>("", ""); //new Foo<Integer> created
-        Foo<? extends String> f10 = new Neg03<U>.Foo<>("", ""); //new Foo<Integer> created
-        Foo<?> f11 = new Neg03<U>.Foo<>("", ""); //new Foo<Object> created
-        Foo<? super String> f12 = new Neg03<U>.Foo<>("", ""); //new Foo<Object> created
+        Foo<String> f9 = new Neg03<U>.Foo<>("", "");
+        Foo<? extends String> f10 = new Neg03<U>.Foo<>("", "");
+        Foo<?> f11 = new Neg03<U>.Foo<>("", "");
+        Foo<? super String> f12 = new Neg03<U>.Foo<>("", "");
 
-        Foo<String> f13 = new Neg03<U>.Foo<>("", ""){}; //new Foo<Integer> created
-        Foo<? extends String> f14 = new Neg03<U>.Foo<>("", ""){}; //new Foo<Integer> created
-        Foo<?> f15 = new Neg03<U>.Foo<>("", ""){}; //new Foo<Object> created
-        Foo<? super String> f16 = new Neg03<U>.Foo<>("", ""){}; //new Foo<Object> created
+        Foo<String> f13 = new Neg03<U>.Foo<>("", ""){};
+        Foo<? extends String> f14 = new Neg03<U>.Foo<>("", ""){};
+        Foo<?> f15 = new Neg03<U>.Foo<>("", ""){};
+        Foo<? super String> f16 = new Neg03<U>.Foo<>("", ""){};
     }
 
     void testQualified_2(Neg03<U> n) {
-        Foo<String> f1 = n.new Foo<>(""); //new Foo<Integer> created
-        Foo<? extends String> f2 = n.new Foo<>(""); //new Foo<Integer> created
-        Foo<?> f3 = n.new Foo<>(""); //new Foo<Integer> created
-        Foo<? super String> f4 = n.new Foo<>(""); //new Foo<Integer> created
+        Foo<String> f1 = n.new Foo<>("");
+        Foo<? extends String> f2 = n.new Foo<>("");
+        Foo<?> f3 = n.new Foo<>("");
+        Foo<? super String> f4 = n.new Foo<>("");
 
-        Foo<String> f5 = n.new Foo<>(""){}; //new Foo<Integer> created
-        Foo<? extends String> f6 = n.new Foo<>(""){}; //new Foo<Integer> created
-        Foo<?> f7 = n.new Foo<>(""){}; //new Foo<Integer> created
-        Foo<? super String> f8 = n.new Foo<>(""){}; //new Foo<Integer> created
+        Foo<String> f5 = n.new Foo<>(""){};
+        Foo<? extends String> f6 = n.new Foo<>(""){};
+        Foo<?> f7 = n.new Foo<>(""){};
+        Foo<? super String> f8 = n.new Foo<>(""){};
 
-        Foo<String> f9 = n.new Foo<>("", ""); //new Foo<Integer> created
-        Foo<? extends String> f10 = n.new Foo<>("", ""); //new Foo<Integer> created
-        Foo<?> f11 = n.new Foo<>("", ""); //new Foo<Integer> created
-        Foo<? super String> f12 = n.new Foo<>("", ""); //new Foo<Integer> created
+        Foo<String> f9 = n.new Foo<>("", "");
+        Foo<? extends String> f10 = n.new Foo<>("", "");
+        Foo<?> f11 = n.new Foo<>("", "");
+        Foo<? super String> f12 = n.new Foo<>("", "");
 
-        Foo<String> f13 = n.new Foo<>("", ""){}; //new Foo<Integer> created
-        Foo<? extends String> f14 = n.new Foo<>("", ""){}; //new Foo<Integer> created
-        Foo<?> f15 = n.new Foo<>("", ""){}; //new Foo<Integer> created
-        Foo<? super String> f16 = n.new Foo<>("", ""){}; //new Foo<Integer> created
+        Foo<String> f13 = n.new Foo<>("", ""){};
+        Foo<? extends String> f14 = n.new Foo<>("", ""){};
+        Foo<?> f15 = n.new Foo<>("", ""){};
+        Foo<? super String> f16 = n.new Foo<>("", ""){};
     }
 }
--- a/langtools/test/tools/javac/generics/diamond/neg/Neg03.out	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg03.out	Wed Jul 05 17:10:46 2017 +0200
@@ -1,91 +1,85 @@
 Neg03.java:19:13: compiler.err.not.within.bounds: java.lang.String
-Neg03.java:19:33: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<java.lang.String>)
+Neg03.java:19:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:20:13: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg03.java:20:43: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
-Neg03.java:21:21: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String, kindname.class, Neg03<U>.Foo<java.lang.Number>
+Neg03.java:20:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
+Neg03.java:21:21: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:22:13: compiler.err.not.within.bounds: ? super java.lang.String
-Neg03.java:22:41: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<? super java.lang.String>)
+Neg03.java:22:34: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:24:13: compiler.err.not.within.bounds: java.lang.String
-Neg03.java:24:33: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<java.lang.String>)
+Neg03.java:24:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:25:13: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg03.java:25:43: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
-Neg03.java:26:21: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String, kindname.class, Neg03<U>.Foo<java.lang.Number>
-Neg03.java:26:34: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , , kindname.class, Neg03<U>.Foo<java.lang.Number>
+Neg03.java:25:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
+Neg03.java:26:21: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:27:13: compiler.err.not.within.bounds: ? super java.lang.String
-Neg03.java:27:41: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<? super java.lang.String>)
+Neg03.java:27:34: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:29:13: compiler.err.not.within.bounds: java.lang.String
-Neg03.java:29:33: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<java.lang.String>)
+Neg03.java:29:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:30:13: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg03.java:30:44: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
-Neg03.java:31:22: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String,java.lang.String, kindname.class, Neg03<U>.Foo<java.lang.Number>
+Neg03.java:30:37: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
+Neg03.java:31:22: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:32:13: compiler.err.not.within.bounds: ? super java.lang.String
-Neg03.java:32:42: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<? super java.lang.String>)
+Neg03.java:32:35: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:34:13: compiler.err.not.within.bounds: java.lang.String
-Neg03.java:34:34: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<java.lang.String>)
+Neg03.java:34:27: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:35:13: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg03.java:35:44: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
-Neg03.java:36:22: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String,java.lang.String, kindname.class, Neg03<U>.Foo<java.lang.Number>
-Neg03.java:36:39: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , , kindname.class, Neg03<U>.Foo<java.lang.Number>
+Neg03.java:35:37: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
+Neg03.java:36:22: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:37:13: compiler.err.not.within.bounds: ? super java.lang.String
-Neg03.java:37:42: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<? super java.lang.String>)
+Neg03.java:37:35: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:41:13: compiler.err.not.within.bounds: java.lang.String
-Neg03.java:41:42: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<java.lang.String>)
+Neg03.java:41:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:42:13: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg03.java:42:52: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
-Neg03.java:43:21: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String, kindname.class, Neg03<U>.Foo<java.lang.Number>
+Neg03.java:42:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
+Neg03.java:43:21: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:44:13: compiler.err.not.within.bounds: ? super java.lang.String
-Neg03.java:44:50: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<? super java.lang.String>)
+Neg03.java:44:34: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:46:13: compiler.err.not.within.bounds: java.lang.String
-Neg03.java:46:42: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<java.lang.String>)
+Neg03.java:46:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:47:13: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg03.java:47:52: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
-Neg03.java:48:21: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String, kindname.class, Neg03<U>.Foo<java.lang.Number>
-Neg03.java:48:43: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , , kindname.class, Neg03<U>.Foo<java.lang.Number>
+Neg03.java:47:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
+Neg03.java:48:21: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:49:13: compiler.err.not.within.bounds: ? super java.lang.String
-Neg03.java:49:50: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<? super java.lang.String>)
+Neg03.java:49:34: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:51:13: compiler.err.not.within.bounds: java.lang.String
-Neg03.java:51:42: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<java.lang.String>)
+Neg03.java:51:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:52:13: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg03.java:52:53: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
-Neg03.java:53:22: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String,java.lang.String, kindname.class, Neg03<U>.Foo<java.lang.Number>
+Neg03.java:52:37: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
+Neg03.java:53:22: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:54:13: compiler.err.not.within.bounds: ? super java.lang.String
-Neg03.java:54:51: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<? super java.lang.String>)
+Neg03.java:54:35: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:56:13: compiler.err.not.within.bounds: java.lang.String
-Neg03.java:56:43: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<java.lang.String>)
+Neg03.java:56:27: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:57:13: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg03.java:57:53: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
-Neg03.java:58:22: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String,java.lang.String, kindname.class, Neg03<U>.Foo<java.lang.Number>
-Neg03.java:58:48: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , , kindname.class, Neg03<U>.Foo<java.lang.Number>
+Neg03.java:57:37: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
+Neg03.java:58:22: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:59:13: compiler.err.not.within.bounds: ? super java.lang.String
-Neg03.java:59:51: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<? super java.lang.String>)
+Neg03.java:59:35: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:63:13: compiler.err.not.within.bounds: java.lang.String
-Neg03.java:63:28: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<java.lang.String>)
+Neg03.java:63:28: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:64:13: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg03.java:64:38: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
-Neg03.java:65:23: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String, kindname.class, Neg03<U>.Foo<java.lang.Number>
+Neg03.java:64:38: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
+Neg03.java:65:23: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:66:13: compiler.err.not.within.bounds: ? super java.lang.String
-Neg03.java:66:36: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<? super java.lang.String>)
+Neg03.java:66:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:68:13: compiler.err.not.within.bounds: java.lang.String
-Neg03.java:68:28: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<java.lang.String>)
+Neg03.java:68:28: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:69:13: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg03.java:69:38: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
-Neg03.java:70:23: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String, kindname.class, Neg03<U>.Foo<java.lang.Number>
-Neg03.java:70:36: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , , kindname.class, Neg03<U>.Foo<java.lang.Number>
+Neg03.java:69:38: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
+Neg03.java:70:23: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:71:13: compiler.err.not.within.bounds: ? super java.lang.String
-Neg03.java:71:36: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<? super java.lang.String>)
+Neg03.java:71:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:73:13: compiler.err.not.within.bounds: java.lang.String
-Neg03.java:73:28: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<java.lang.String>)
+Neg03.java:73:28: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:74:13: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg03.java:74:39: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
-Neg03.java:75:24: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String,java.lang.String, kindname.class, Neg03<U>.Foo<java.lang.Number>
+Neg03.java:74:39: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
+Neg03.java:75:24: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:76:13: compiler.err.not.within.bounds: ? super java.lang.String
-Neg03.java:76:37: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<? super java.lang.String>)
+Neg03.java:76:37: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:78:13: compiler.err.not.within.bounds: java.lang.String
-Neg03.java:78:29: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<java.lang.String>)
+Neg03.java:78:29: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:79:13: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg03.java:79:39: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
-Neg03.java:80:24: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String,java.lang.String, kindname.class, Neg03<U>.Foo<java.lang.Number>
-Neg03.java:80:41: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , , kindname.class, Neg03<U>.Foo<java.lang.Number>
+Neg03.java:79:39: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
+Neg03.java:80:24: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
 Neg03.java:81:13: compiler.err.not.within.bounds: ? super java.lang.String
-Neg03.java:81:37: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<? super java.lang.String>)
-90 errors
+Neg03.java:81:37: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
+84 errors
--- a/langtools/test/tools/javac/generics/diamond/neg/Neg04.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg04.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,10 +1,10 @@
 /*
  * @test /nodynamiccopyright/
- * @bug 6840638
+ * @bug 6939620
  *
- * @summary  Project Coin: Improved Type Inference for Generic Instance Creation (aka 'diamond')
+ * @summary  Switch to 'complex' diamond inference scheme
  * @author mcimadamore
- * @compile/fail/ref=Neg04.out Neg04.java -source 1.7 -XDrawDiagnostics
+ * @compile/fail/ref=Neg04.out Neg04.java -XDrawDiagnostics
  *
  */
 
@@ -15,24 +15,24 @@
             Foo(V x) {}
             <Z> Foo(V x, Z z) {}
         }
-        Foo<String> n1 = new Foo<>(""); //new Foo<Integer> created
-        Foo<? extends String> n2 = new Foo<>(""); //new Foo<Integer> created
-        Foo<?> n3 = new Foo<>(""); //new Foo<Object> created
-        Foo<? super String> n4 = new Foo<>(""); //new Foo<Object> created
+        Foo<String> n1 = new Foo<>("");
+        Foo<? extends String> n2 = new Foo<>("");
+        Foo<?> n3 = new Foo<>("");
+        Foo<? super String> n4 = new Foo<>("");
 
-        Foo<String> n5 = new Foo<>(""){}; //new Foo<Integer> created
-        Foo<? extends String> n6 = new Foo<>(""){}; //new Foo<Integer> created
-        Foo<?> n7 = new Foo<>(""){}; //new Foo<Object> created
-        Foo<? super String> n8 = new Foo<>(""){}; //new Foo<Object> created
+        Foo<String> n5 = new Foo<>(""){};
+        Foo<? extends String> n6 = new Foo<>(""){};
+        Foo<?> n7 = new Foo<>(""){};
+        Foo<? super String> n8 = new Foo<>(""){};
 
-        Foo<String> n9 = new Foo<>("", ""); //new Foo<Integer> created
-        Foo<? extends String> n10 = new Foo<>("", ""); //new Foo<Integer> created
-        Foo<?> n11 = new Foo<>("", ""); //new Foo<Object> created
-        Foo<? super String> n12 = new Foo<>("", ""); //new Foo<Object> created
+        Foo<String> n9 = new Foo<>("", "");
+        Foo<? extends String> n10 = new Foo<>("", "");
+        Foo<?> n11 = new Foo<>("", "");
+        Foo<? super String> n12 = new Foo<>("", "");
 
-        Foo<String> n13 = new Foo<>("", ""){}; //new Foo<Integer> created
-        Foo<? extends String> n14 = new Foo<>("", ""){}; //new Foo<Integer> created
-        Foo<?> n15 = new Foo<>("", ""){}; //new Foo<Object> created
-        Foo<? super String> n16 = new Foo<>("", ""){}; //new Foo<Object> created
+        Foo<String> n13 = new Foo<>("", ""){};
+        Foo<? extends String> n14 = new Foo<>("", ""){};
+        Foo<?> n15 = new Foo<>("", ""){};
+        Foo<? super String> n16 = new Foo<>("", ""){};
     }
 }
--- a/langtools/test/tools/javac/generics/diamond/neg/Neg04.out	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg04.out	Wed Jul 05 17:10:46 2017 +0200
@@ -1,31 +1,29 @@
 Neg04.java:18:13: compiler.err.not.within.bounds: java.lang.String
-Neg04.java:18:33: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Foo<V>, Foo<java.lang.String>)
+Neg04.java:18:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
 Neg04.java:19:13: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg04.java:19:43: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
-Neg04.java:20:21: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String, kindname.class, Foo<java.lang.Number>
+Neg04.java:19:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
+Neg04.java:20:21: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
 Neg04.java:21:13: compiler.err.not.within.bounds: ? super java.lang.String
-Neg04.java:21:41: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Foo<V>, Foo<? super java.lang.String>)
+Neg04.java:21:34: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
 Neg04.java:23:13: compiler.err.not.within.bounds: java.lang.String
-Neg04.java:23:33: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Foo<V>, Foo<java.lang.String>)
+Neg04.java:23:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
 Neg04.java:24:13: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg04.java:24:43: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
-Neg04.java:25:21: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String, kindname.class, Foo<java.lang.Number>
-Neg04.java:25:34: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , , kindname.class, Foo<java.lang.Number>
+Neg04.java:24:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
+Neg04.java:25:21: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
 Neg04.java:26:13: compiler.err.not.within.bounds: ? super java.lang.String
-Neg04.java:26:41: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Foo<V>, Foo<? super java.lang.String>)
+Neg04.java:26:34: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
 Neg04.java:28:13: compiler.err.not.within.bounds: java.lang.String
-Neg04.java:28:33: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Foo<V>, Foo<java.lang.String>)
+Neg04.java:28:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
 Neg04.java:29:13: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg04.java:29:44: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
-Neg04.java:30:22: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String,java.lang.String, kindname.class, Foo<java.lang.Number>
+Neg04.java:29:37: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
+Neg04.java:30:22: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
 Neg04.java:31:13: compiler.err.not.within.bounds: ? super java.lang.String
-Neg04.java:31:42: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Foo<V>, Foo<? super java.lang.String>)
+Neg04.java:31:35: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
 Neg04.java:33:13: compiler.err.not.within.bounds: java.lang.String
-Neg04.java:33:34: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Foo<V>, Foo<java.lang.String>)
+Neg04.java:33:27: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
 Neg04.java:34:13: compiler.err.not.within.bounds: ? extends java.lang.String
-Neg04.java:34:44: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
-Neg04.java:35:22: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String,java.lang.String, kindname.class, Foo<java.lang.Number>
-Neg04.java:35:39: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , , kindname.class, Foo<java.lang.Number>
+Neg04.java:34:37: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
+Neg04.java:35:22: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
 Neg04.java:36:13: compiler.err.not.within.bounds: ? super java.lang.String
-Neg04.java:36:42: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Foo<V>, Foo<? super java.lang.String>)
-30 errors
+Neg04.java:36:35: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
+28 errors
--- a/langtools/test/tools/javac/generics/diamond/neg/Neg05.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg05.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,10 +1,10 @@
 /*
  * @test /nodynamiccopyright/
- * @bug 6840638
+ * @bug 6939620
  *
- * @summary  Project Coin: Improved Type Inference for Generic Instance Creation (aka 'diamond')
+ * @summary  Switch to 'complex' diamond inference scheme
  * @author mcimadamore
- * @compile/fail/ref=Neg05.out Neg05.java -source 1.7 -XDrawDiagnostics
+ * @compile/fail/ref=Neg05.out Neg05.java -XDrawDiagnostics
  *
  */
 
@@ -16,46 +16,46 @@
     }
 
     void testRare_1() {
-        Neg05<?>.Foo<String> f1 = new Neg05.Foo<>(""); //new Foo<Integer> created
-        Neg05<?>.Foo<? extends String> f2 = new Neg05.Foo<>(""); //new Foo<Integer> created
-        Neg05<?>.Foo<?> f3 = new Neg05.Foo<>(""); //new Foo<Object> created
-        Neg05<?>.Foo<? super String> f4 = new Neg05.Foo<>(""); //new Foo<Object> created
+        Neg05<?>.Foo<String> f1 = new Neg05.Foo<>("");
+        Neg05<?>.Foo<? extends String> f2 = new Neg05.Foo<>("");
+        Neg05<?>.Foo<?> f3 = new Neg05.Foo<>("");
+        Neg05<?>.Foo<? super String> f4 = new Neg05.Foo<>("");
 
-        Neg05<?>.Foo<String> f5 = new Neg05.Foo<>(""){}; //new Foo<Integer> created
-        Neg05<?>.Foo<? extends String> f6 = new Neg05.Foo<>(""){}; //new Foo<Integer> created
-        Neg05<?>.Foo<?> f7 = new Neg05.Foo<>(""){}; //new Foo<Object> created
-        Neg05<?>.Foo<? super String> f8 = new Neg05.Foo<>(""){}; //new Foo<Object> created
+        Neg05<?>.Foo<String> f5 = new Neg05.Foo<>(""){};
+        Neg05<?>.Foo<? extends String> f6 = new Neg05.Foo<>(""){};
+        Neg05<?>.Foo<?> f7 = new Neg05.Foo<>(""){};
+        Neg05<?>.Foo<? super String> f8 = new Neg05.Foo<>(""){};
 
-        Neg05<?>.Foo<String> f9 = new Neg05.Foo<>("", ""); //new Foo<Integer> created
-        Neg05<?>.Foo<? extends String> f10 = new Neg05.Foo<>("", ""); //new Foo<Integer> created
-        Neg05<?>.Foo<?> f11 = new Neg05.Foo<>("", ""); //new Foo<Object> created
-        Neg05<?>.Foo<? super String> f12 = new Neg05.Foo<>("", ""); //new Foo<Object> created
+        Neg05<?>.Foo<String> f9 = new Neg05.Foo<>("", "");
+        Neg05<?>.Foo<? extends String> f10 = new Neg05.Foo<>("", "");
+        Neg05<?>.Foo<?> f11 = new Neg05.Foo<>("", "");
+        Neg05<?>.Foo<? super String> f12 = new Neg05.Foo<>("", "");
 
-        Neg05<?>.Foo<String> f13 = new Neg05.Foo<>("", ""){}; //new Foo<Integer> created
-        Neg05<?>.Foo<? extends String> f14 = new Neg05.Foo<>("", ""){}; //new Foo<Integer> created
-        Neg05<?>.Foo<?> f15 = new Neg05.Foo<>("", ""){}; //new Foo<Object> created
-        Neg05<?>.Foo<? super String> f16 = new Neg05.Foo<>("", ""){}; //new Foo<Object> created
+        Neg05<?>.Foo<String> f13 = new Neg05.Foo<>("", ""){};
+        Neg05<?>.Foo<? extends String> f14 = new Neg05.Foo<>("", ""){};
+        Neg05<?>.Foo<?> f15 = new Neg05.Foo<>("", ""){};
+        Neg05<?>.Foo<? super String> f16 = new Neg05.Foo<>("", ""){};
     }
 
     void testRare_2(Neg05 n) {
-        Neg05<?>.Foo<String> f1 = n.new Foo<>(""); //new Foo<Integer> created
-        Neg05<?>.Foo<? extends String> f2 = n.new Foo<>(""); //new Foo<Integer> created
-        Neg05<?>.Foo<?> f3 = n.new Foo<>(""); //new Foo<Integer> created
-        Neg05<?>.Foo<? super String> f4 = n.new Foo<>(""); //new Foo<Integer> created
+        Neg05<?>.Foo<String> f1 = n.new Foo<>("");
+        Neg05<?>.Foo<? extends String> f2 = n.new Foo<>("");
+        Neg05<?>.Foo<?> f3 = n.new Foo<>("");
+        Neg05<?>.Foo<? super String> f4 = n.new Foo<>("");
 
-        Neg05<?>.Foo<String> f5 = n.new Foo<>(""){}; //new Foo<Integer> created
-        Neg05<?>.Foo<? extends String> f6 = n.new Foo<>(""){}; //new Foo<Integer> created
-        Neg05<?>.Foo<?> f7 = n.new Foo<>(""){}; //new Foo<Integer> created
-        Neg05<?>.Foo<? super String> f8 = n.new Foo<>(""){}; //new Foo<Integer> created
+        Neg05<?>.Foo<String> f5 = n.new Foo<>(""){};
+        Neg05<?>.Foo<? extends String> f6 = n.new Foo<>(""){};
+        Neg05<?>.Foo<?> f7 = n.new Foo<>(""){};
+        Neg05<?>.Foo<? super String> f8 = n.new Foo<>(""){};
 
-        Neg05<?>.Foo<String> f9 = n.new Foo<>("", ""); //new Foo<Integer> created
-        Neg05<?>.Foo<? extends String> f10 = n.new Foo<>("", ""); //new Foo<Integer> created
-        Neg05<?>.Foo<?> f11 = n.new Foo<>("", ""); //new Foo<Integer> created
-        Neg05<?>.Foo<? super String> f12 = n.new Foo<>("", ""); //new Foo<Integer> created
+        Neg05<?>.Foo<String> f9 = n.new Foo<>("", "");
+        Neg05<?>.Foo<? extends String> f10 = n.new Foo<>("", "");
+        Neg05<?>.Foo<?> f11 = n.new Foo<>("", "");
+        Neg05<?>.Foo<? super String> f12 = n.new Foo<>("", "");
 
-        Neg05<?>.Foo<String> f13 = n.new Foo<>("", ""){}; //new Foo<Integer> created
-        Neg05<?>.Foo<? extends String> f14 = n.new Foo<>("", ""){}; //new Foo<Integer> created
-        Neg05<?>.Foo<?> f15 = n.new Foo<>("", ""){}; //new Foo<Integer> created
-        Neg05<?>.Foo<? super String> f16 = n.new Foo<>("", ""){}; //new Foo<Integer> created
+        Neg05<?>.Foo<String> f13 = n.new Foo<>("", ""){};
+        Neg05<?>.Foo<? extends String> f14 = n.new Foo<>("", ""){};
+        Neg05<?>.Foo<?> f15 = n.new Foo<>("", ""){};
+        Neg05<?>.Foo<? super String> f16 = n.new Foo<>("", ""){};
     }
 }
--- a/langtools/test/tools/javac/generics/diamond/neg/Neg05.out	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg05.out	Wed Jul 05 17:10:46 2017 +0200
@@ -1,19 +1,35 @@
 Neg05.java:19:48: compiler.err.improperly.formed.type.inner.raw.param
+Neg05.java:19:35: compiler.err.prob.found.req: (compiler.misc.incompatible.types), Neg05.Foo<java.lang.String>, Neg05<?>.Foo<java.lang.String>
 Neg05.java:20:58: compiler.err.improperly.formed.type.inner.raw.param
+Neg05.java:20:45: compiler.err.prob.found.req: (compiler.misc.incompatible.types), Neg05.Foo<java.lang.String>, Neg05<?>.Foo<? extends java.lang.String>
 Neg05.java:21:43: compiler.err.improperly.formed.type.inner.raw.param
+Neg05.java:21:30: compiler.err.prob.found.req: (compiler.misc.incompatible.types), Neg05.Foo<java.lang.String>, Neg05<?>.Foo<?>
 Neg05.java:22:56: compiler.err.improperly.formed.type.inner.raw.param
+Neg05.java:22:43: compiler.err.prob.found.req: (compiler.misc.incompatible.types), Neg05.Foo<java.lang.String>, Neg05<?>.Foo<? super java.lang.String>
 Neg05.java:24:48: compiler.err.improperly.formed.type.inner.raw.param
+Neg05.java:24:35: compiler.err.prob.found.req: (compiler.misc.incompatible.types), compiler.misc.anonymous.class: Neg05.Foo<java.lang.String>, Neg05<?>.Foo<java.lang.String>
 Neg05.java:25:58: compiler.err.improperly.formed.type.inner.raw.param
+Neg05.java:25:45: compiler.err.prob.found.req: (compiler.misc.incompatible.types), compiler.misc.anonymous.class: Neg05.Foo<java.lang.String>, Neg05<?>.Foo<? extends java.lang.String>
 Neg05.java:26:43: compiler.err.improperly.formed.type.inner.raw.param
+Neg05.java:26:30: compiler.err.prob.found.req: (compiler.misc.incompatible.types), compiler.misc.anonymous.class: Neg05.Foo<java.lang.String>, Neg05<?>.Foo<?>
 Neg05.java:27:56: compiler.err.improperly.formed.type.inner.raw.param
+Neg05.java:27:43: compiler.err.prob.found.req: (compiler.misc.incompatible.types), compiler.misc.anonymous.class: Neg05.Foo<java.lang.String>, Neg05<?>.Foo<? super java.lang.String>
 Neg05.java:29:48: compiler.err.improperly.formed.type.inner.raw.param
+Neg05.java:29:35: compiler.err.prob.found.req: (compiler.misc.incompatible.types), Neg05.Foo<java.lang.String>, Neg05<?>.Foo<java.lang.String>
 Neg05.java:30:59: compiler.err.improperly.formed.type.inner.raw.param
+Neg05.java:30:46: compiler.err.prob.found.req: (compiler.misc.incompatible.types), Neg05.Foo<java.lang.String>, Neg05<?>.Foo<? extends java.lang.String>
 Neg05.java:31:44: compiler.err.improperly.formed.type.inner.raw.param
+Neg05.java:31:31: compiler.err.prob.found.req: (compiler.misc.incompatible.types), Neg05.Foo<java.lang.String>, Neg05<?>.Foo<?>
 Neg05.java:32:57: compiler.err.improperly.formed.type.inner.raw.param
+Neg05.java:32:44: compiler.err.prob.found.req: (compiler.misc.incompatible.types), Neg05.Foo<java.lang.String>, Neg05<?>.Foo<? super java.lang.String>
 Neg05.java:34:49: compiler.err.improperly.formed.type.inner.raw.param
+Neg05.java:34:36: compiler.err.prob.found.req: (compiler.misc.incompatible.types), compiler.misc.anonymous.class: Neg05.Foo<java.lang.String>, Neg05<?>.Foo<java.lang.String>
 Neg05.java:35:59: compiler.err.improperly.formed.type.inner.raw.param
+Neg05.java:35:46: compiler.err.prob.found.req: (compiler.misc.incompatible.types), compiler.misc.anonymous.class: Neg05.Foo<java.lang.String>, Neg05<?>.Foo<? extends java.lang.String>
 Neg05.java:36:44: compiler.err.improperly.formed.type.inner.raw.param
+Neg05.java:36:31: compiler.err.prob.found.req: (compiler.misc.incompatible.types), compiler.misc.anonymous.class: Neg05.Foo<java.lang.String>, Neg05<?>.Foo<?>
 Neg05.java:37:57: compiler.err.improperly.formed.type.inner.raw.param
+Neg05.java:37:44: compiler.err.prob.found.req: (compiler.misc.incompatible.types), compiler.misc.anonymous.class: Neg05.Foo<java.lang.String>, Neg05<?>.Foo<? super java.lang.String>
 Neg05.java:41:37: compiler.err.improperly.formed.type.inner.raw.param
 Neg05.java:42:47: compiler.err.improperly.formed.type.inner.raw.param
 Neg05.java:43:32: compiler.err.improperly.formed.type.inner.raw.param
@@ -30,4 +46,4 @@
 Neg05.java:57:48: compiler.err.improperly.formed.type.inner.raw.param
 Neg05.java:58:33: compiler.err.improperly.formed.type.inner.raw.param
 Neg05.java:59:46: compiler.err.improperly.formed.type.inner.raw.param
-32 errors
+48 errors
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg06.java	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,21 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 6939620
+ *
+ * @summary  Switch to 'complex' diamond inference scheme
+ * @author mcimadamore
+ * @compile/fail/ref=Neg06.out Neg06.java -XDrawDiagnostics
+ *
+ */
+
+class Neg06 {
+   interface ISuperFoo<X> {}
+   interface IFoo<X extends Number> extends ISuperFoo<X> {}
+
+   static class CSuperFoo<X> {}
+   static class CFoo<X extends Number> extends CSuperFoo<X> {}
+
+   ISuperFoo<String> isf = new IFoo<>() {};
+   CSuperFoo<String> csf1 = new CFoo<>();
+   CSuperFoo<String> csf2 = new CFoo<>() {};
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg06.out	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,4 @@
+Neg06.java:18:36: compiler.err.cant.apply.diamond.1: (compiler.misc.diamond: Neg06.IFoo), (compiler.misc.no.conforming.instance.exists: X, Neg06.IFoo<X>, Neg06.ISuperFoo<java.lang.String>)
+Neg06.java:19:37: compiler.err.cant.apply.diamond.1: (compiler.misc.diamond: Neg06.CFoo), (compiler.misc.no.conforming.instance.exists: X, Neg06.CFoo<X>, Neg06.CSuperFoo<java.lang.String>)
+Neg06.java:20:37: compiler.err.cant.apply.diamond.1: (compiler.misc.diamond: Neg06.CFoo), (compiler.misc.no.conforming.instance.exists: X, Neg06.CFoo<X>, Neg06.CSuperFoo<java.lang.String>)
+3 errors
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg07.java	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,19 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 6939620
+ *
+ * @summary  Switch to 'complex' diamond inference scheme
+ * @author mcimadamore
+ * @compile/fail/ref=Neg07.out Neg07.java -XDrawDiagnostics
+ *
+ */
+
+class Neg07 {
+   static class SuperFoo<X> {}
+   static class Foo<X extends Number> extends SuperFoo<X> {
+       Foo(X x) {}
+   }
+
+   SuperFoo<String> sf1 = new Foo<>("");
+   SuperFoo<String> sf2 = new Foo<>("") {};
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg07.out	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,3 @@
+Neg07.java:17:27: compiler.err.cant.apply.diamond.1: (compiler.misc.diamond: Neg07.Foo), (compiler.misc.inferred.do.not.conform.to.bounds: java.lang.String, java.lang.Number)
+Neg07.java:18:27: compiler.err.cant.apply.diamond.1: (compiler.misc.diamond: Neg07.Foo), (compiler.misc.inferred.do.not.conform.to.bounds: java.lang.String, java.lang.Number)
+2 errors
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg08.java	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,30 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 6939620 6894753
+ *
+ * @summary  Switch to 'complex' diamond inference scheme
+ * @author mcimadamore
+ * @compile/fail/ref=Neg08.out Neg08.java -XDrawDiagnostics
+ *
+ */
+
+class Neg08 {
+    static class Foo<X> {
+        Foo(X x) {  }
+    }
+
+    static class DoubleFoo<X,Y> {
+        DoubleFoo(X x,Y y) {  }
+    }
+
+    static class TripleFoo<X,Y,Z> {
+        TripleFoo(X x,Y y,Z z) {  }
+    }
+
+    Foo<? extends Integer> fi = new Foo<>(1);
+    Foo<?> fw = new Foo<>(fi);
+    Foo<? extends Double> fd = new Foo<>(3.0);
+    DoubleFoo<?,?> dw = new DoubleFoo<>(fi,fd);
+    Foo<String> fs = new Foo<>("one");
+    TripleFoo<?,?,?> tw = new TripleFoo<>(fi,fd,fs);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg08.out	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,4 @@
+Neg08.java:25:24: compiler.err.cant.apply.diamond.1: (compiler.misc.diamond: Neg08.Foo), (compiler.misc.diamond.invalid.arg: Neg08.Foo<compiler.misc.type.captureof: 1, ? extends java.lang.Integer>, (compiler.misc.diamond: Neg08.Foo))
+Neg08.java:27:38: compiler.err.cant.apply.diamond.1: (compiler.misc.diamond: Neg08.DoubleFoo), (compiler.misc.diamond.invalid.args: Neg08.Foo<compiler.misc.type.captureof: 1, ? extends java.lang.Integer>,Neg08.Foo<compiler.misc.type.captureof: 2, ? extends java.lang.Double>, (compiler.misc.diamond: Neg08.DoubleFoo))
+Neg08.java:29:40: compiler.err.cant.apply.diamond.1: (compiler.misc.diamond: Neg08.TripleFoo), (compiler.misc.diamond.invalid.args: Neg08.Foo<compiler.misc.type.captureof: 1, ? extends java.lang.Integer>,Neg08.Foo<compiler.misc.type.captureof: 2, ? extends java.lang.Double>, (compiler.misc.diamond: Neg08.TripleFoo))
+3 errors
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg09.java	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,22 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 6939620 6894753
+ *
+ * @summary  Switch to 'complex' diamond inference scheme
+ * @author mcimadamore
+ * @compile/fail/ref=Neg09.out Neg09.java -XDrawDiagnostics
+ *
+ */
+
+class Neg09 {
+    static class Foo<X extends Number & Comparable<Number>> {}
+    static class DoubleFoo<X extends Number & Comparable<Number>,
+                           Y extends Number & Comparable<Number>> {}
+    static class TripleFoo<X extends Number & Comparable<Number>,
+                           Y extends Number & Comparable<Number>,
+                           Z> {}
+
+    Foo<?> fw = new Foo<>();
+    DoubleFoo<?,?> dw = new DoubleFoo<>();
+    TripleFoo<?,?,?> tw = new TripleFoo<>();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg09.out	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,4 @@
+Neg09.java:19:24: compiler.err.cant.apply.diamond.1: (compiler.misc.diamond: Neg09.Foo), (compiler.misc.diamond.invalid.arg: java.lang.Number&java.lang.Comparable<java.lang.Number>, (compiler.misc.diamond: Neg09.Foo))
+Neg09.java:20:38: compiler.err.cant.apply.diamond.1: (compiler.misc.diamond: Neg09.DoubleFoo), (compiler.misc.diamond.invalid.args: java.lang.Number&java.lang.Comparable<java.lang.Number>,java.lang.Number&java.lang.Comparable<java.lang.Number>, (compiler.misc.diamond: Neg09.DoubleFoo))
+Neg09.java:21:40: compiler.err.cant.apply.diamond.1: (compiler.misc.diamond: Neg09.TripleFoo), (compiler.misc.diamond.invalid.args: java.lang.Number&java.lang.Comparable<java.lang.Number>,java.lang.Number&java.lang.Comparable<java.lang.Number>, (compiler.misc.diamond: Neg09.TripleFoo))
+3 errors
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg10.java	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,17 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 6939620
+ *
+ * @summary  Switch to 'complex' diamond inference scheme
+ * @author mcimadamore
+ * @compile/fail/ref=Neg10.out Neg10.java -XDrawDiagnostics
+ *
+ */
+
+class Neg10 {
+    static class Foo<X> {
+        Foo(X x) {}
+    }
+
+    Foo<Number> fw = new Foo<>(1);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg10.out	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,2 @@
+Neg10.java:16:22: compiler.err.prob.found.req: (compiler.misc.incompatible.types), Neg10.Foo<java.lang.Integer>, Neg10.Foo<java.lang.Number>
+1 error
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg11.java	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,18 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 6939620
+ *
+ * @summary  Switch to 'complex' diamond inference scheme
+ * @author mcimadamore
+ * @compile/fail/ref=Neg11.out Neg11.java -XDrawDiagnostics
+ *
+ */
+
+class Neg11 {
+
+    void test() {
+        class Foo<X extends Number> { }
+        Foo<?> f1 = new UndeclaredName<>(); //this is deliberate: aim is to test erroneous path
+        Foo<?> f2 = new UndeclaredName<>() {}; //this is deliberate: aim is to test erroneous path
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg11.out	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,3 @@
+Neg11.java:15:25: compiler.err.cant.resolve.location: kindname.class, UndeclaredName, , , kindname.class, Neg11
+Neg11.java:16:25: compiler.err.cant.resolve.location: kindname.class, UndeclaredName, , , kindname.class, Neg11
+2 errors
--- a/langtools/test/tools/javac/generics/diamond/pos/Pos01.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/test/tools/javac/generics/diamond/pos/Pos01.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,10 +1,33 @@
 /*
- * @test /nodynamiccopyright/
- * @bug 6840638
+ * 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.
+ *
+ * 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).
  *
- * @summary  Project Coin: Improved Type Inference for Generic Instance Creation (aka 'diamond')
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 6939620
+ *
+ * @summary  Switch to 'complex' diamond inference scheme
  * @author mcimadamore
- * @compile Pos01.java -source 1.7
+ * @compile Pos01.java
  * @run main Pos01
  *
  */
@@ -16,25 +39,25 @@
     <Z> Pos01(X x, Z z) {}
 
     void test() {
-        Pos01<Integer> p1 = new Pos01<>(1); //new Foo<Integer> created
-        Pos01<? extends Integer> p2 = new Pos01<>(1); //new Foo<Integer> created
-        Pos01<?> p3 = new Pos01<>(1); //new Foo<Object> created
-        Pos01<? super Integer> p4 = new Pos01<>(1); //new Foo<Object> created
+        Pos01<Integer> p1 = new Pos01<>(1);
+        Pos01<? extends Integer> p2 = new Pos01<>(1);
+        Pos01<?> p3 = new Pos01<>(1);
+        Pos01<? super Integer> p4 = new Pos01<>(1);
 
-        Pos01<Integer> p5 = new Pos01<>(1){}; //new Foo<Integer> created
-        Pos01<? extends Integer> p6 = new Pos01<>(1){}; //new Foo<Integer> created
-        Pos01<?> p7 = new Pos01<>(1){}; //new Foo<Object> created
-        Pos01<? super Integer> p8 = new Pos01<>(1){}; //new Foo<Object> created
+        Pos01<Integer> p5 = new Pos01<>(1){};
+        Pos01<? extends Integer> p6 = new Pos01<>(1){};
+        Pos01<?> p7 = new Pos01<>(1){};
+        Pos01<? super Integer> p8 = new Pos01<>(1){};
 
-        Pos01<Integer> p9 = new Pos01<>(1, ""); //new Foo<Integer> created
-        Pos01<? extends Integer> p10 = new Pos01<>(1, ""); //new Foo<Integer> created
-        Pos01<?> p11 = new Pos01<>(1, ""); //new Foo<Object> created
-        Pos01<? super Integer> p12 = new Pos01<>(1, ""); //new Foo<Object> created
+        Pos01<Integer> p9 = new Pos01<>(1, "");
+        Pos01<? extends Integer> p10 = new Pos01<>(1, "");
+        Pos01<?> p11 = new Pos01<>(1, "");
+        Pos01<? super Integer> p12 = new Pos01<>(1, "");
 
-        Pos01<Integer> p13 = new Pos01<>(1, ""){}; //new Foo<Integer> created
-        Pos01<? extends Integer> p14= new Pos01<>(1, ""){}; //new Foo<Integer> created
-        Pos01<?> p15 = new Pos01<>(1, ""){}; //new Foo<Object> created
-        Pos01<? super Integer> p16 = new Pos01<>(1, ""){}; //new Foo<Object> created
+        Pos01<Integer> p13 = new Pos01<>(1, ""){};
+        Pos01<? extends Integer> p14= new Pos01<>(1, ""){};
+        Pos01<?> p15 = new Pos01<>(1, ""){};
+        Pos01<? super Integer> p16 = new Pos01<>(1, ""){};
     }
 
     public static void main(String[] args) {
--- a/langtools/test/tools/javac/generics/diamond/pos/Pos02.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/test/tools/javac/generics/diamond/pos/Pos02.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,10 +1,33 @@
 /*
- * @test /nodynamiccopyright/
- * @bug 6840638
+ * 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.
+ *
+ * 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).
  *
- * @summary  Project Coin: Improved Type Inference for Generic Instance Creation (aka 'diamond')
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 6939620
+ *
+ * @summary  Switch to 'complex' diamond inference scheme
  * @author mcimadamore
- * @compile Pos02.java -source 1.7
+ * @compile Pos02.java
  * @run main Pos02
  */
 
@@ -16,47 +39,47 @@
     }
 
     void testSimple() {
-        Foo<Integer> f1 = new Foo<>(1); //new Foo<Integer> created
-        Foo<? extends Integer> f2 = new Foo<>(1); //new Foo<Integer> created
-        Foo<?> f3 = new Foo<>(1); //new Foo<Object> created
-        Foo<? super Integer> f4 = new Foo<>(1); //new Foo<Object> created
+        Foo<Integer> f1 = new Foo<>(1);
+        Foo<? extends Integer> f2 = new Foo<>(1);
+        Foo<?> f3 = new Foo<>(1);
+        Foo<? super Integer> f4 = new Foo<>(1);
 
-        Foo<Integer> f5 = new Foo<>(1){}; //new Foo<Integer> created
-        Foo<? extends Integer> f6 = new Foo<>(1){}; //new Foo<Integer> created
-        Foo<?> f7 = new Foo<>(1){}; //new Foo<Object> created
-        Foo<? super Integer> f8 = new Foo<>(1){}; //new Foo<Object> created
+        Foo<Integer> f5 = new Foo<>(1){};
+        Foo<? extends Integer> f6 = new Foo<>(1){};
+        Foo<?> f7 = new Foo<>(1){};
+        Foo<? super Integer> f8 = new Foo<>(1){};
 
-        Foo<Integer> f9 = new Foo<>(1, ""); //new Foo<Integer> created
-        Foo<? extends Integer> f10 = new Foo<>(1, ""); //new Foo<Integer> created
-        Foo<?> f11 = new Foo<>(1, ""); //new Foo<Object> created
-        Foo<? super Integer> f12 = new Foo<>(1, ""); //new Foo<Object> created
+        Foo<Integer> f9 = new Foo<>(1, "");
+        Foo<? extends Integer> f10 = new Foo<>(1, "");
+        Foo<?> f11 = new Foo<>(1, "");
+        Foo<? super Integer> f12 = new Foo<>(1, "");
 
-        Foo<Integer> f13 = new Foo<>(1, ""){}; //new Foo<Integer> created
-        Foo<? extends Integer> f14 = new Foo<>(1, ""){}; //new Foo<Integer> created
-        Foo<?> f15 = new Foo<>(1, ""){}; //new Foo<Object> created
-        Foo<? super Integer> f16 = new Foo<>(1, ""){}; //new Foo<Object> created
+        Foo<Integer> f13 = new Foo<>(1, ""){};
+        Foo<? extends Integer> f14 = new Foo<>(1, ""){};
+        Foo<?> f15 = new Foo<>(1, ""){};
+        Foo<? super Integer> f16 = new Foo<>(1, ""){};
     }
 
     void testQualified() {
-        Foo<Integer> f1 = new Pos02.Foo<>(1); //new Foo<Integer> created
-        Foo<? extends Integer> f2 = new Pos02.Foo<>(1); //new Foo<Integer> created
-        Foo<?> f3 = new Pos02.Foo<>(1); //new Foo<Object> created
-        Foo<? super Integer> f4 = new Pos02.Foo<>(1); //new Foo<Object> created
+        Foo<Integer> f1 = new Pos02.Foo<>(1);
+        Foo<? extends Integer> f2 = new Pos02.Foo<>(1);
+        Foo<?> f3 = new Pos02.Foo<>(1);
+        Foo<? super Integer> f4 = new Pos02.Foo<>(1);
 
-        Foo<Integer> f5 = new Pos02.Foo<>(1){}; //new Foo<Integer> created
-        Foo<? extends Integer> f6 = new Pos02.Foo<>(1){}; //new Foo<Integer> created
-        Foo<?> f7 = new Pos02.Foo<>(1){}; //new Foo<Object> created
-        Foo<? super Integer> f8 = new Pos02.Foo<>(1){}; //new Foo<Object> created
+        Foo<Integer> f5 = new Pos02.Foo<>(1){};
+        Foo<? extends Integer> f6 = new Pos02.Foo<>(1){};
+        Foo<?> f7 = new Pos02.Foo<>(1){};
+        Foo<? super Integer> f8 = new Pos02.Foo<>(1){};
 
-        Foo<Integer> f9 = new Pos02.Foo<>(1, ""); //new Foo<Integer> created
-        Foo<? extends Integer> f10 = new Pos02.Foo<>(1, ""); //new Foo<Integer> created
-        Foo<?> f11 = new Pos02.Foo<>(1, ""); //new Foo<Object> created
-        Foo<? super Integer> f12 = new Pos02.Foo<>(1, ""); //new Foo<Object> created
+        Foo<Integer> f9 = new Pos02.Foo<>(1, "");
+        Foo<? extends Integer> f10 = new Pos02.Foo<>(1, "");
+        Foo<?> f11 = new Pos02.Foo<>(1, "");
+        Foo<? super Integer> f12 = new Pos02.Foo<>(1, "");
 
-        Foo<Integer> f13 = new Pos02.Foo<>(1, ""){}; //new Foo<Integer> created
-        Foo<? extends Integer> f14 = new Pos02.Foo<>(1, ""){}; //new Foo<Integer> created
-        Foo<?> f15 = new Pos02.Foo<>(1, ""){}; //new Foo<Object> created
-        Foo<? super Integer> f16 = new Pos02.Foo<>(1, ""){}; //new Foo<Object> created
+        Foo<Integer> f13 = new Pos02.Foo<>(1, ""){};
+        Foo<? extends Integer> f14 = new Pos02.Foo<>(1, ""){};
+        Foo<?> f15 = new Pos02.Foo<>(1, ""){};
+        Foo<? super Integer> f16 = new Pos02.Foo<>(1, ""){};
     }
 
     public static void main(String[] args) {
--- a/langtools/test/tools/javac/generics/diamond/pos/Pos03.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/test/tools/javac/generics/diamond/pos/Pos03.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,10 +1,33 @@
 /*
- * @test /nodynamiccopyright/
- * @bug 6840638
+ * 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.
+ *
+ * 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).
  *
- * @summary  Project Coin: Improved Type Inference for Generic Instance Creation (aka 'diamond')
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 6939620
+ *
+ * @summary  Switch to 'complex' diamond inference scheme
  * @author mcimadamore
- * @compile Pos03.java -source 1.7
+ * @compile Pos03.java
  * @run main Pos03
  *
  */
@@ -17,69 +40,69 @@
     }
 
     void testSimple() {
-        Foo<Integer> f1 = new Foo<>(1); //new Foo<Integer> created
-        Foo<? extends Integer> f2 = new Foo<>(1); //new Foo<Integer> created
-        Foo<?> f3 = new Foo<>(1); //new Foo<Object> created
-        Foo<? super Integer> f4 = new Foo<>(1); //new Foo<Object> created
+        Foo<Integer> f1 = new Foo<>(1);
+        Foo<? extends Integer> f2 = new Foo<>(1);
+        Foo<?> f3 = new Foo<>(1);
+        Foo<? super Integer> f4 = new Foo<>(1);
 
-        Foo<Integer> f5 = new Foo<>(1){}; //new Foo<Integer> created
-        Foo<? extends Integer> f6 = new Foo<>(1){}; //new Foo<Integer> created
-        Foo<?> f7 = new Foo<>(1){}; //new Foo<Object> created
-        Foo<? super Integer> f8 = new Foo<>(1){}; //new Foo<Object> created
+        Foo<Integer> f5 = new Foo<>(1){};
+        Foo<? extends Integer> f6 = new Foo<>(1){};
+        Foo<?> f7 = new Foo<>(1){};
+        Foo<? super Integer> f8 = new Foo<>(1){};
 
-        Foo<Integer> f9 = new Foo<>(1, ""); //new Foo<Integer> created
-        Foo<? extends Integer> f10 = new Foo<>(1, ""); //new Foo<Integer> created
-        Foo<?> f11 = new Foo<>(1, ""); //new Foo<Object> created
-        Foo<? super Integer> f12 = new Foo<>(1, ""); //new Foo<Object> created
+        Foo<Integer> f9 = new Foo<>(1, "");
+        Foo<? extends Integer> f10 = new Foo<>(1, "");
+        Foo<?> f11 = new Foo<>(1, "");
+        Foo<? super Integer> f12 = new Foo<>(1, "");
 
-        Foo<Integer> f13 = new Foo<>(1, ""){}; //new Foo<Integer> created
-        Foo<? extends Integer> f14 = new Foo<>(1, ""){}; //new Foo<Integer> created
-        Foo<?> f15 = new Foo<>(1, ""){}; //new Foo<Object> created
-        Foo<? super Integer> f16 = new Foo<>(1, ""){}; //new Foo<Object> created
+        Foo<Integer> f13 = new Foo<>(1, ""){};
+        Foo<? extends Integer> f14 = new Foo<>(1, ""){};
+        Foo<?> f15 = new Foo<>(1, ""){};
+        Foo<? super Integer> f16 = new Foo<>(1, ""){};
     }
 
     void testQualified_1() {
-        Foo<Integer> f1 = new Pos03<U>.Foo<>(1); //new Foo<Integer> created
-        Foo<? extends Integer> f2 = new Pos03<U>.Foo<>(1); //new Foo<Integer> created
-        Foo<?> f3 = new Pos03<U>.Foo<>(1); //new Foo<Object> created
-        Foo<? super Integer> f4 = new Pos03<U>.Foo<>(1); //new Foo<Object> created
+        Foo<Integer> f1 = new Pos03<U>.Foo<>(1);
+        Foo<? extends Integer> f2 = new Pos03<U>.Foo<>(1);
+        Foo<?> f3 = new Pos03<U>.Foo<>(1);
+        Foo<? super Integer> f4 = new Pos03<U>.Foo<>(1);
 
-        Foo<Integer> f5 = new Pos03<U>.Foo<>(1){}; //new Foo<Integer> created
-        Foo<? extends Integer> f6 = new Pos03<U>.Foo<>(1){}; //new Foo<Integer> created
-        Foo<?> f7 = new Pos03<U>.Foo<>(1){}; //new Foo<Object> created
-        Foo<? super Integer> f8 = new Pos03<U>.Foo<>(1){}; //new Foo<Object> created
+        Foo<Integer> f5 = new Pos03<U>.Foo<>(1){};
+        Foo<? extends Integer> f6 = new Pos03<U>.Foo<>(1){};
+        Foo<?> f7 = new Pos03<U>.Foo<>(1){};
+        Foo<? super Integer> f8 = new Pos03<U>.Foo<>(1){};
 
-        Foo<Integer> f9 = new Pos03<U>.Foo<>(1, ""); //new Foo<Integer> created
-        Foo<? extends Integer> f10 = new Pos03<U>.Foo<>(1, ""); //new Foo<Integer> created
-        Foo<?> f11 = new Pos03<U>.Foo<>(1, ""); //new Foo<Object> created
-        Foo<? super Integer> f12 = new Pos03<U>.Foo<>(1, ""); //new Foo<Object> created
+        Foo<Integer> f9 = new Pos03<U>.Foo<>(1, "");
+        Foo<? extends Integer> f10 = new Pos03<U>.Foo<>(1, "");
+        Foo<?> f11 = new Pos03<U>.Foo<>(1, "");
+        Foo<? super Integer> f12 = new Pos03<U>.Foo<>(1, "");
 
-        Foo<Integer> f13 = new Pos03<U>.Foo<>(1, ""){}; //new Foo<Integer> created
-        Foo<? extends Integer> f14 = new Pos03<U>.Foo<>(1, ""){}; //new Foo<Integer> created
-        Foo<?> f15 = new Pos03<U>.Foo<>(1, ""){}; //new Foo<Object> created
-        Foo<? super Integer> f16 = new Pos03<U>.Foo<>(1, ""){}; //new Foo<Object> created
+        Foo<Integer> f13 = new Pos03<U>.Foo<>(1, ""){};
+        Foo<? extends Integer> f14 = new Pos03<U>.Foo<>(1, ""){};
+        Foo<?> f15 = new Pos03<U>.Foo<>(1, ""){};
+        Foo<? super Integer> f16 = new Pos03<U>.Foo<>(1, ""){};
     }
 
     void testQualified_2(Pos03<U> p) {
-        Foo<Integer> f1 = p.new Foo<>(1); //new Foo<Integer> created
-        Foo<? extends Integer> f2 = p.new Foo<>(1); //new Foo<Integer> created
-        Foo<?> f3 = p.new Foo<>(1); //new Foo<Object> created
-        Foo<? super Integer> f4 = p.new Foo<>(1); //new Foo<Object> created
+        Foo<Integer> f1 = p.new Foo<>(1);
+        Foo<? extends Integer> f2 = p.new Foo<>(1);
+        Foo<?> f3 = p.new Foo<>(1);
+        Foo<? super Integer> f4 = p.new Foo<>(1);
 
-        Foo<Integer> f5 = p.new Foo<>(1){}; //new Foo<Integer> created
-        Foo<? extends Integer> f6 = p.new Foo<>(1){}; //new Foo<Integer> created
-        Foo<?> f7 = p.new Foo<>(1){}; //new Foo<Object> created
-        Foo<? super Integer> f8 = p.new Foo<>(1){}; //new Foo<Object> created
+        Foo<Integer> f5 = p.new Foo<>(1){};
+        Foo<? extends Integer> f6 = p.new Foo<>(1){};
+        Foo<?> f7 = p.new Foo<>(1){};
+        Foo<? super Integer> f8 = p.new Foo<>(1){};
 
-        Foo<Integer> f9 = p.new Foo<>(1, ""); //new Foo<Integer> created
-        Foo<? extends Integer> f10 = p.new Foo<>(1, ""); //new Foo<Integer> created
-        Foo<?> f11 = p.new Foo<>(1, ""); //new Foo<Object> created
-        Foo<? super Integer> f12 = p.new Foo<>(1, ""); //new Foo<Object> created
+        Foo<Integer> f9 = p.new Foo<>(1, "");
+        Foo<? extends Integer> f10 = p.new Foo<>(1, "");
+        Foo<?> f11 = p.new Foo<>(1, "");
+        Foo<? super Integer> f12 = p.new Foo<>(1, "");
 
-        Foo<Integer> f13 = p.new Foo<>(1, ""){}; //new Foo<Integer> created
-        Foo<? extends Integer> f14 = p.new Foo<>(1, ""){}; //new Foo<Integer> created
-        Foo<?> f15 = p.new Foo<>(1, ""){}; //new Foo<Object> created
-        Foo<? super Integer> f16 = p.new Foo<>(1, ""){}; //new Foo<Object> created
+        Foo<Integer> f13 = p.new Foo<>(1, ""){};
+        Foo<? extends Integer> f14 = p.new Foo<>(1, ""){};
+        Foo<?> f15 = p.new Foo<>(1, ""){};
+        Foo<? super Integer> f16 = p.new Foo<>(1, ""){};
     }
 
     public static void main(String[] args) {
--- a/langtools/test/tools/javac/generics/diamond/pos/Pos04.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/test/tools/javac/generics/diamond/pos/Pos04.java	Wed Jul 05 17:10:46 2017 +0200
@@ -1,10 +1,33 @@
 /*
- * @test /nodynamiccopyright/
- * @bug 6840638
+ * 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.
+ *
+ * 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).
  *
- * @summary  Project Coin: Improved Type Inference for Generic Instance Creation (aka 'diamond')
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 6939620
+ *
+ * @summary  Switch to 'complex' diamond inference scheme
  * @author mcimadamore
- * @compile Pos04.java -source 1.7
+ * @compile Pos04.java
  * @run main Pos04
  *
  */
@@ -16,25 +39,25 @@
             Foo(V x) {}
             <Z> Foo(V x, Z z) {}
         }
-        Foo<Integer> p1 = new Foo<>(1); //new Foo<Integer> created
-        Foo<? extends Integer> p2 = new Foo<>(1); //new Foo<Integer> created
-        Foo<?> p3 = new Foo<>(1); //new Foo<Object> created
-        Foo<? super Integer> p4 = new Foo<>(1); //new Foo<Object> created
+        Foo<Integer> p1 = new Foo<>(1);
+        Foo<? extends Integer> p2 = new Foo<>(1);
+        Foo<?> p3 = new Foo<>(1);
+        Foo<? super Integer> p4 = new Foo<>(1);
 
-        Foo<Integer> p5 = new Foo<>(1){}; //new Foo<Integer> created
-        Foo<? extends Integer> p6 = new Foo<>(1){}; //new Foo<Integer> created
-        Foo<?> p7 = new Foo<>(1){}; //new Foo<Object> created
-        Foo<? super Integer> p8 = new Foo<>(1){}; //new Foo<Object> created
+        Foo<Integer> p5 = new Foo<>(1){};
+        Foo<? extends Integer> p6 = new Foo<>(1){};
+        Foo<?> p7 = new Foo<>(1){};
+        Foo<? super Integer> p8 = new Foo<>(1){};
 
-        Foo<Integer> p9 = new Foo<>(1, ""); //new Foo<Integer> created
-        Foo<? extends Integer> p10 = new Foo<>(1, ""); //new Foo<Integer> created
-        Foo<?> p11 = new Foo<>(1, ""); //new Foo<Object> created
-        Foo<? super Integer> p12 = new Foo<>(1, ""); //new Foo<Object> created
+        Foo<Integer> p9 = new Foo<>(1, "");
+        Foo<? extends Integer> p10 = new Foo<>(1, "");
+        Foo<?> p11 = new Foo<>(1, "");
+        Foo<? super Integer> p12 = new Foo<>(1, "");
 
-        Foo<Integer> p13 = new Foo<>(1, ""){}; //new Foo<Integer> created
-        Foo<? extends Integer> p14 = new Foo<>(1, ""){}; //new Foo<Integer> created
-        Foo<?> p15 = new Foo<>(1, ""){}; //new Foo<Object> created
-        Foo<? super Integer> p16 = new Foo<>(1, ""){}; //new Foo<Object> created
+        Foo<Integer> p13 = new Foo<>(1, ""){};
+        Foo<? extends Integer> p14 = new Foo<>(1, ""){};
+        Foo<?> p15 = new Foo<>(1, ""){};
+        Foo<? super Integer> p16 = new Foo<>(1, ""){};
     }
 
     public static void main(String[] args) {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/diamond/pos/Pos05.java	Wed Jul 05 17:10:46 2017 +0200
@@ -0,0 +1,45 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 6939620
+ *
+ * @summary  Switch to 'complex' diamond inference scheme
+ * @author mcimadamore
+ * @compile Pos05.java
+ *
+ */
+
+public class Pos05 {
+
+    static class Foo<X> {
+        Foo(X x) {}
+    }
+
+    void m(Foo<Integer> fi) {}
+
+    void test() {
+        m(new Foo<>(1));
+    }
+}
--- a/langtools/test/tools/javac/processing/environment/round/TestElementsAnnotatedWith.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/test/tools/javac/processing/environment/round/TestElementsAnnotatedWith.java	Wed Jul 05 17:10:46 2017 +0200
@@ -89,7 +89,7 @@
                 // Verify that the annotation information is as
                 // expected.
 
-                Set<String> expectedNames = new HashSet<>(Arrays.asList(annotatedElementInfo.names()));
+                Set<String> expectedNames = new HashSet<String>(Arrays.asList(annotatedElementInfo.names()));
 
                 resultsMeta =
                     roundEnvironment.
--- a/langtools/test/tools/javac/processing/model/element/TestAnonClassNames.java	Wed Jul 05 17:10:17 2017 +0200
+++ b/langtools/test/tools/javac/processing/model/element/TestAnonClassNames.java	Wed Jul 05 17:10:46 2017 +0200
@@ -113,10 +113,10 @@
      */
     static void testClassName(String className) {
         JavaCompiler javaCompiler = ToolProvider.getSystemJavaCompiler();
-        List<String> classNames = new ArrayList<>();
+        List<String> classNames = new ArrayList<String>();
         classNames.add(className);
 
-        List<String> options = new ArrayList<>();
+        List<String> options = new ArrayList<String>();
         options.add("-proc:only");
         options.add("-classpath");
         options.add(System.getProperty("test.classes"));
@@ -128,7 +128,7 @@
                                  options,
                                  classNames,
                                  null); // Sources
-        List<Processor> processors = new ArrayList<>();
+        List<Processor> processors = new ArrayList<Processor>();
         processors.add(new ClassNameProber());
         compileTask.setProcessors(processors);
         Boolean goodResult = compileTask.call();