Mercurial > hg > openjdk > aarch64-port > langtools
changeset 2262:368261e41e66 jdk8_b128_aarch64_rc1
Merge up to jdk8-b128
line wrap: on
line diff
--- a/.hgtags Mon Dec 23 13:00:24 2013 +0000 +++ b/.hgtags Thu Feb 06 16:12:26 2014 +0000 @@ -242,3 +242,14 @@ 850d2602ae9811687b0f404d05ec3e55df91d9cb jdk8-b114 6b4d6205366c1170ebefea95b1b9ae1d69add036 jdk8-b115 3c040b04af05646878798216ebf939d27e6fe687 jdk8-b116 +19de039a03a619b99f1a8b454e1618c9fa9dae66 jdk8-b117 +4fd6a7ff8c068eceaaaf8bf12a394195203b99b3 jdk8-b118 +43a80d75d06ed22d6942f25f067587a3be3a129d jdk8-b119 +b3d7e86a06474fe5100a7b15a95eaa10d41509a6 jdk8-b120 +afe63d41c699e0e2ee910ef20c41b60603c852a1 jdk8-b121 +232b9cf6303aaf451c7000c5f93dfea842e9e9ae jdk8-b122 +a345cf28faca8cc49a28241a0a197fd520d25beb jdk8-b123 +436176151e85455e74cd1441a2ba96e791c56785 jdk8-b124 +436176151e85455e74cd1441a2ba96e791c56785 jdk8-b125 +ba24b63043626003929927f091e8b84190f39261 jdk8-b126 +bb69217ed81202b1a490dc7150dc7cd073689341 jdk8-b127
--- a/THIRD_PARTY_README Mon Dec 23 13:00:24 2013 +0000 +++ b/THIRD_PARTY_README Thu Feb 06 16:12:26 2014 +0000 @@ -2,11 +2,12 @@ ----------------------------- %% This notice is provided with respect to ASM Bytecode Manipulation -Framework v3.1, which is included with JRE 7, JDK 7, and OpenJDK 7. +Framework v5.0, which may be included with JRE 8, and JDK 8, and +OpenJDK 8. --- begin of LICENSE --- -Copyright (c) 2000-2005 INRIA, France Telecom +Copyright (c) 2000-2011 France Télécom All rights reserved. Redistribution and use in source and binary forms, with or without @@ -40,8 +41,41 @@ -------------------------------------------------------------------------------- -%% This notice is provided with respect to CodeViewer 1.0, which is included -with JDK 7. +%% This notice is provided with respect to BSDiff v4.3, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Copyright 2003-2005 Colin Percival +All rights reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted providing that the following conditions +are met: +1. Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to CodeViewer 1.0, which may be +included with JDK 8. --- begin of LICENSE --- @@ -81,8 +115,8 @@ ------------------------------------------------------------------------------- -%% This notice is provided with respect to Cryptix AES 3.2.0, which is -included with JRE 7, JDK 7, and OpenJDK 7. +%% This notice is provided with respect to Cryptix AES 3.2.0, which may be +included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -121,7 +155,7 @@ ------------------------------------------------------------------------------- %% This notice is provided with respect to CUP Parser Generator for -Java 0.10k, which is included with JRE 7, JDK 7, and OpenJDK 7. +Java 0.10k, which may be included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -148,7 +182,7 @@ ------------------------------------------------------------------------------- %% This notice is provided with respect to Document Object Model (DOM) Level 2 -& 3, which is included with JRE 7, JDK 7, and OpenJDK 7. +& 3, which may be included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -212,19 +246,52 @@ ------------------------------------------------------------------------------- +%% This notice is provided with respect to Dynalink v0.5, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Copyright (c) 2009-2013, Attila Szegedi + +All rights reserved.Redistribution and use in source and binary forms, with or +without modification, are permitted provided that the following conditions are +met:* Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. * Redistributions in +binary form must reproduce the above copyright notice, this list of +conditions and the following disclaimer in the documentation and/or other +materials provided with the distribution. * Neither the name of Attila +Szegedi nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THEPOSSIBILITY OF SUCH DAMAGE. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + %% This notice is provided with respect to Elliptic Curve Cryptography, which -is included with JRE 7, JDK 7, and OpenJDK 7. +may be included with JRE 8, JDK 8, and OpenJDK 8. You are receiving a copy of the Elliptic Curve Cryptography library in source -form with the JDK 7 source distribution and object code in the JRE 7 & JDK 7 -runtime. - -The terms of the Oracle license do NOT apply to the Elliptic Curve -Cryptography library program; it is licensed under the following license, -separately from the Oracle programs you receive. If you do not wish to install -this program, you may delete the library named libsunec.so (on Solaris and -Linux systems) or sunec.dll (on Windows systems) from the JRE bin directory -reserved for native libraries. +form with the JDK 8 and OpenJDK 8 source distributions, and as object code in +the JRE 8 & JDK 8 runtimes. + +In the case of the JRE 8 & JDK 8 runtimes, the terms of the Oracle license do +NOT apply to the Elliptic Curve Cryptography library; it is licensed under the +following license, separately from Oracle's JDK & JRE. If you do not wish to +install the Elliptic Curve Cryptography library, you may delete the library +named libsunec.so (on Solaris and Linux systems) or sunec.dll (on Windows +systems) from the JRE bin directory reserved for native libraries. + --- begin of LICENSE --- @@ -735,13 +802,138 @@ ------------------------------------------------------------------------------- -%% This notice is provided with respect to FontConfig 2.5, which is -included with JRE 7, JDK 7, and OpenJDK 7 source distributions on +%% This notice is provided with respect to ECMAScript Language +Specification ECMA-262 Edition 5.1 which may be included with +JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Copyright notice +Copyright © 2011 Ecma International +Ecma International +Rue du Rhone 114 +CH-1204 Geneva +Tel: +41 22 849 6000 +Fax: +41 22 849 6001 +Web: http://www.ecma-international.org + +This document and possible translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it or assist +in its implementation may be prepared, copied, published, and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this section are included on all such copies and derivative +works. However, this document itself may not be modified in any way, including +by removing the copyright notice or references to Ecma International, except as +needed for the purpose of developing any document or deliverable produced by +Ecma International (in which case the rules applied to copyrights must be +followed) or as required to translate it into languages other than English. The +limited permissions granted above are perpetual and will not be revoked by Ecma +International or its successors or assigns. This document and the information +contained herein is provided on an "AS IS" basis and ECMA INTERNATIONAL +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY +WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR +PURPOSE." Software License + +All Software contained in this document ("Software)" is protected by copyright +and is being made available under the "BSD License", included below. This +Software may be subject to third party rights (rights from parties other than +Ecma International), including patent rights, and no licenses under such third +party rights are granted under this license even if the third party concerned is +a member of Ecma International. SEE THE ECMA CODE OF CONDUCT IN PATENT MATTERS +AVAILABLE AT http://www.ecma-international.org/memento/codeofconduct.htm FOR +INFORMATION REGARDING THE LICENSING OF PATENT CLAIMS THAT ARE REQUIRED TO +IMPLEMENT ECMA INTERNATIONAL STANDARDS*. Redistribution and use in source and +binary forms, with or without modification, are permitted provided that the +following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation and/or +other materials provided with the distribution. + +3. Neither the name of the authors nor Ecma International may be used to endorse +or promote products derived from this software without specific prior written +permission. + +THIS SOFTWARE IS PROVIDED BY THE ECMA INTERNATIONAL "AS IS" AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL ECMA INTERNATIONAL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +OF SUCH DAMAGE. +--- end of LICENSE --- + +%% This notice is provided with respect to Dynalink library which is included +with the Nashorn technology. + +--- begin of LICENSE --- +Copyright (c) 2009-2013, Attila Szegedi + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of the copyright holder nor the names of + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--- end of LICENSE --- + +%% This notice is provided with respect to Joni library which is included +with the Nashorn technology. + +--- begin of LICENSE --- +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to FontConfig 2.5, which may be +included with JRE 8, JDK 8, and OpenJDK 8 source distributions on Linux and Solaris. --- begin of LICENSE --- -Copyright ¬© 2001,2003 Keith Packard +Copyright © 2001,2003 Keith Packard Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the @@ -765,7 +957,7 @@ ------------------------------------------------------------------------------- %% This notice is provided with respect to IAIK PKCS#11 Wrapper, -which is included with JRE 7, JDK 7, and OpenJDK 7. +which may be included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -816,7 +1008,7 @@ ------------------------------------------------------------------------------- %% This notice is provided with respect to ICU4C 4.0.1 and ICU4J 4.4, which -is included with JRE 7, JDK 7, and OpenJDK 7. +may be included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -852,8 +1044,8 @@ ------------------------------------------------------------------------------- -%% This notice is provided with respect to IJG JPEG 6b, which is -included with JRE 7, JDK 7, and OpenJDK 7. +%% This notice is provided with respect to IJG JPEG 6b, which may be +included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -891,8 +1083,35 @@ -------------------------------------------------------------------------------- -%% This notice is provided with respect to JOpt-Simple v3.0, which is -included with JRE 7, JDK 7, and OpenJDK 7. +%% This notice is provided with respect to Joni v1.1.9, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to JOpt-Simple v3.0, which may be +included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -921,8 +1140,39 @@ -------------------------------------------------------------------------------- +%% This notice is provided with respect to JSON, which may be included +with JRE 8 & JDK 8. + +--- begin of LICENSE --- + +Copyright (c) 2002 JSON.org + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +The Software shall be used for Good, not Evil. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + %% This notice is provided with respect to Kerberos functionality, which -which is included with JRE 7, JDK 7, and OpenJDK 7. +which may be included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -934,7 +1184,7 @@ ------------------------------------------------------------------------------- %% This notice is provided with respect to Kerberos functionality from -FundsXpress, INC., which is included with JRE 7, JDK 7, and OpenJDK 7. +FundsXpress, INC., which may be included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -967,8 +1217,8 @@ ------------------------------------------------------------------------------- -%% This notice is provided with respect to Kronos OpenGL headers, which is -included with JDK 7 and OpenJDK 7 source distributions. +%% This notice is provided with respect to Kronos OpenGL headers, which may be +included with JDK 8 and OpenJDK 8 source distributions. --- begin of LICENSE --- @@ -1000,8 +1250,8 @@ ------------------------------------------------------------------------------- -%% This notice is provided with respect to libpng 1.2.18, which is -included with JRE 7, JDK 7, and OpenJDK 7. +%% This notice is provided with respect to libpng 1.5.4, which may be +included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -1014,8 +1264,10 @@ If you modify libpng you may insert additional notices immediately following this sentence. -libpng versions 1.2.6, August 15, 2004, through 1.2.18, May 15, 2007, are -Copyright (c) 2004, 2006-2007 Glenn Randers-Pehrson, and are +This code is released under the libpng license. + +libpng versions 1.2.6, August 15, 2004, through 1.5.4, July 7, 2011, are +Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are distributed according to the same disclaimer and license as libpng-1.2.5 with the following individual added to the list of Contributing Authors @@ -1112,14 +1364,14 @@ Glenn Randers-Pehrson glennrp at users.sourceforge.net -May 15, 2007 +July 7, 2011 --- end of LICENSE --- ------------------------------------------------------------------------------- -%% This notice is provided with respect to libungif 4.1.3, which is -included with JRE 7, JDK 7, and OpenJDK 7. +%% This notice is provided with respect to libungif 4.1.3, which may be +included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -1147,8 +1399,8 @@ ------------------------------------------------------------------------------- -%% This notice is provided with respect to Little CMS 2.0, which is -included with OpenJDK 7. +%% This notice is provided with respect to Little CMS 2.4, which may be +included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -1183,7 +1435,7 @@ ------------------------------------------------------------------------------- %% This notice is provided with respect to Mesa 3D Graphics Library v4.1, -which is included with JRE 7, JDK 7, and OpenJDK 7 source distributions. +which may be included with JRE 8, JDK 8, and OpenJDK 8 source distributions. --- begin of LICENSE --- @@ -1213,8 +1465,402 @@ ------------------------------------------------------------------------------- +%% This notice is provided with respect to Mozilla Network Security +Services (NSS), which is supplied with the JDK test suite in the OpenJDK +source code repository. It is licensed under Mozilla Public License (MPL), +version 2.0. + +The NSS libraries are supplied in executable form, built from unmodified +NSS source code labeled with the "NSS_3.13.1_RTM" release tag. + +The NSS source code is available in the OpenJDK source code repository at: + jdk/test/sun/security/pkcs11/nss/src + +The NSS libraries are available in the OpenJDK source code repository at: + jdk/test/sun/security/pkcs11/nss/lib + +--- begin of LICENSE --- + +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + %% This notice is provided with respect to PC/SC Lite for Suse Linux v.1.1.1, -which is included with JRE 7, JDK 7, and OpenJDK 7 on Linux and Solaris. +which may be included with JRE 8, JDK 8, and OpenJDK 8 on Linux and Solaris. --- begin of LICENSE --- @@ -1257,8 +1903,30 @@ ------------------------------------------------------------------------------- +%% This notice is provided with respect to PorterStemmer v4, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +See: http://tartarus.org/~martin/PorterStemmer + +The software is completely free for any purpose, unless notes at the head of +the program text indicates otherwise (which is rare). In any case, the notes +about licensing are never more restrictive than the BSD License. + +In every case where the software is not written by me (Martin Porter), this +licensing arrangement has been endorsed by the contributor, and it is +therefore unnecessary to ask the contributor again to confirm it. + +I have not asked any contributors (or their employers, if they have them) for +proofs that they have the right to distribute their software in this way. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + %% This notice is provided with respect to Relax NG Object/Parser v.20050510, -which is included with JRE 7, JDK 7, and OpenJDK 7. +which may be included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -1285,8 +1953,8 @@ ------------------------------------------------------------------------------- -%% This notice is provided with respect to RelaxNGCC v1.12, which is -included with JRE 7, JDK 7, and OpenJDK 7. +%% This notice is provided with respect to RelaxNGCC v1.12, which may be +included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -1335,487 +2003,8 @@ ------------------------------------------------------------------------------- -%% This notice is provided with respect to Mozilla Rhino v1.7R3, which -is included with JRE 7, JDK 7, and OpenJDK 7 - ---- begin of LICENSE --- - - MOZILLA PUBLIC LICENSE - Version 1.1 - - --------------- - -1. Definitions. - - 1.0.1. "Commercial Use" means distribution or otherwise making the - Covered Code available to a third party. - - 1.1. "Contributor" means each entity that creates or contributes to - the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the Original - Code, prior Modifications used by a Contributor, and the Modifications - made by that particular Contributor. - - 1.3. "Covered Code" means the Original Code or Modifications or the - combination of the Original Code and Modifications, in each case - including portions thereof. - - 1.4. "Electronic Distribution Mechanism" means a mechanism generally - accepted in the software development community for the electronic - transfer of data. - - 1.5. "Executable" means Covered Code in any form other than Source - Code. - - 1.6. "Initial Developer" means the individual or entity identified - as the Initial Developer in the Source Code notice required by Exhibit - A. - - 1.7. "Larger Work" means a work which combines Covered Code or - portions thereof with code not governed by the terms of this License. - - 1.8. "License" means this document. - - 1.8.1. "Licensable" means having the right to grant, to the maximum - extent possible, whether at the time of the initial grant or - subsequently acquired, any and all of the rights conveyed herein. - - 1.9. "Modifications" means any addition to or deletion from the - substance or structure of either the Original Code or any previous - Modifications. When Covered Code is released as a series of files, a - Modification is: - A. Any addition to or deletion from the contents of a file - containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or - previous Modifications. - - 1.10. "Original Code" means Source Code of computer software code - which is described in the Source Code notice required by Exhibit A as - Original Code, and which, at the time of its release under this - License is not already Covered Code governed by this License. - - 1.10.1. "Patent Claims" means any patent claim(s), now owned or - hereafter acquired, including without limitation, method, process, - and apparatus claims, in any patent Licensable by grantor. - - 1.11. "Source Code" means the preferred form of the Covered Code for - making modifications to it, including all modules it contains, plus - any associated interface definition files, scripts used to control - compilation and installation of an Executable, or source code - differential comparisons against either the Original Code or another - well known, available Covered Code of the Contributor's choice. The - Source Code can be in a compressed or archival form, provided the - appropriate decompression or de-archiving software is widely available - for no charge. - - 1.12. "You" (or "Your") means an individual or a legal entity - exercising rights under, and complying with all of the terms of, this - License or a future version of this License issued under Section 6.1. - For legal entities, "You" includes any entity which controls, is - controlled by, or is under common control with You. For purposes of - this definition, "control" means (a) the power, direct or indirect, - to cause the direction or management of such entity, whether by - contract or otherwise, or (b) ownership of more than fifty percent - (50%) of the outstanding shares or beneficial ownership of such - entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, - non-exclusive license, subject to third party intellectual property - claims: - (a) under intellectual property rights (other than patent or - trademark) Licensable by Initial Developer to use, reproduce, - modify, display, perform, sublicense and distribute the Original - Code (or portions thereof) with or without Modifications, and/or - as part of a Larger Work; and - - (b) under Patents Claims infringed by the making, using or - selling of Original Code, to make, have made, use, practice, - sell, and offer for sale, and/or otherwise dispose of the - Original Code (or portions thereof). - - (c) the licenses granted in this Section 2.1(a) and (b) are - effective on the date Initial Developer first distributes - Original Code under the terms of this License. - - (d) Notwithstanding Section 2.1(b) above, no patent license is - granted: 1) for code that You delete from the Original Code; 2) - separate from the Original Code; or 3) for infringements caused - by: i) the modification of the Original Code or ii) the - combination of the Original Code with other software or devices. - - 2.2. Contributor Grant. - Subject to third party intellectual property claims, each Contributor - hereby grants You a world-wide, royalty-free, non-exclusive license - - (a) under intellectual property rights (other than patent or - trademark) Licensable by Contributor, to use, reproduce, modify, - display, perform, sublicense and distribute the Modifications - created by such Contributor (or portions thereof) either on an - unmodified basis, with other Modifications, as Covered Code - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, using, or - selling of Modifications made by that Contributor either alone - and/or in combination with its Contributor Version (or portions - of such combination), to make, use, sell, offer for sale, have - made, and/or otherwise dispose of: 1) Modifications made by that - Contributor (or portions thereof); and 2) the combination of - Modifications made by that Contributor with its Contributor - Version (or portions of such combination). - - (c) the licenses granted in Sections 2.2(a) and 2.2(b) are - effective on the date Contributor first makes Commercial Use of - the Covered Code. - - (d) Notwithstanding Section 2.2(b) above, no patent license is - granted: 1) for any code that Contributor has deleted from the - Contributor Version; 2) separate from the Contributor Version; - 3) for infringements caused by: i) third party modifications of - Contributor Version or ii) the combination of Modifications made - by that Contributor with other software (except as part of the - Contributor Version) or other devices; or 4) under Patent Claims - infringed by Covered Code in the absence of Modifications made by - that Contributor. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are - governed by the terms of this License, including without limitation - Section 2.2. The Source Code version of Covered Code may be - distributed only under the terms of this License or a future version - of this License released under Section 6.1, and You must include a - copy of this License with every copy of the Source Code You - distribute. You may not offer or impose any terms on any Source Code - version that alters or restricts the applicable version of this - License or the recipients' rights hereunder. However, You may include - an additional document offering the additional rights described in - Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be - made available in Source Code form under the terms of this License - either on the same media as an Executable version or via an accepted - Electronic Distribution Mechanism to anyone to whom you made an - Executable version available; and if made available via Electronic - Distribution Mechanism, must remain available for at least twelve (12) - months after the date it initially became available, or at least six - (6) months after a subsequent version of that particular Modification - has been made available to such recipients. You are responsible for - ensuring that the Source Code version remains available even if the - Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which You contribute to contain a - file documenting the changes You made to create that Covered Code and - the date of any change. You must include a prominent statement that - the Modification is derived, directly or indirectly, from Original - Code provided by the Initial Developer and including the name of the - Initial Developer in (a) the Source Code, and (b) in any notice in an - Executable version or related documentation in which You describe the - origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - (a) Third Party Claims. - If Contributor has knowledge that a license under a third party's - intellectual property rights is required to exercise the rights - granted by such Contributor under Sections 2.1 or 2.2, - Contributor must include a text file with the Source Code - distribution titled "LEGAL" which describes the claim and the - party making the claim in sufficient detail that a recipient will - know whom to contact. If Contributor obtains such knowledge after - the Modification is made available as described in Section 3.2, - Contributor shall promptly modify the LEGAL file in all copies - Contributor makes available thereafter and shall take other steps - (such as notifying appropriate mailing lists or newsgroups) - reasonably calculated to inform those who received the Covered - Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Contributor's Modifications include an application programming - interface and Contributor has knowledge of patent licenses which - are reasonably necessary to implement that API, Contributor must - also include this information in the LEGAL file. - - (c) Representations. - Contributor represents that, except as disclosed pursuant to - Section 3.4(a) above, Contributor believes that Contributor's - Modifications are Contributor's original creation(s) and/or - Contributor has sufficient rights to grant the rights conveyed by - this License. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source - Code. If it is not possible to put such notice in a particular Source - Code file due to its structure, then You must include such notice in a - location (such as a relevant directory) where a user would be likely - to look for such a notice. If You created one or more Modification(s) - You may add your name as a Contributor to the notice described in - Exhibit A. You must also duplicate this License in any documentation - for the Source Code where You describe recipients' rights or ownership - rights relating to Covered Code. You may choose to offer, and to - charge a fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Code. However, You - may do so only on Your own behalf, and not on behalf of the Initial - Developer or any Contributor. You must make it absolutely clear than - any such warranty, support, indemnity or liability obligation is - offered by You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred by the - Initial Developer or such Contributor as a result of warranty, - support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the - requirements of Section 3.1-3.5 have been met for that Covered Code, - and if You include a notice stating that the Source Code version of - the Covered Code is available under the terms of this License, - including a description of how and where You have fulfilled the - obligations of Section 3.2. The notice must be conspicuously included - in any notice in an Executable version, related documentation or - collateral in which You describe recipients' rights relating to the - Covered Code. You may distribute the Executable version of Covered - Code or ownership rights under a license of Your choice, which may - contain terms different from this License, provided that You are in - compliance with the terms of this License and that the license for the - Executable version does not attempt to limit or alter the recipient's - rights in the Source Code version from the rights set forth in this - License. If You distribute the Executable version under a different - license You must make it absolutely clear that any terms which differ - from this License are offered by You alone, not by the Initial - Developer or any Contributor. You hereby agree to indemnify the - Initial Developer and every Contributor for any liability incurred by - the Initial Developer or such Contributor as a result of any such - terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code - not governed by the terms of this License and distribute the Larger - Work as a single product. In such a case, You must make sure the - requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this - License with respect to some or all of the Covered Code due to - statute, judicial order, or regulation then You must: (a) comply with - the terms of this License to the maximum extent possible; and (b) - describe the limitations and the code they affect. Such description - must be included in the LEGAL file described in Section 3.4 and must - be included with all distributions of the Source Code. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has - attached the notice in Exhibit A and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation ("Netscape") may publish revised - and/or new versions of the License from time to time. Each version - will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the - License, You may always continue to use it under the terms of that - version. You may also choose to use such Covered Code under the terms - of any subsequent version of the License published by Netscape. No one - other than Netscape has the right to modify the terms applicable to - Covered Code created under this License. - - 6.3. Derivative Works. - If You create or use a modified version of this License (which you may - only do in order to apply it to code which is not already Covered Code - governed by this License), You must (a) rename Your license so that - the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", - "MPL", "NPL" or any confusingly similar phrase do not appear in your - license (except to note that your license differs from this License) - and (b) otherwise make it clear that Your version of the license - contains terms which differ from the Mozilla Public License and - Netscape Public License. (Filling in the name of the Initial - Developer, Original Code or Contributor in the notice described in - Exhibit A shall not of themselves be deemed to be modifications of - this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF - DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. - THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE - IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, - YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE - COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER - OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - 8.1. This License and the rights granted hereunder will terminate - automatically if You fail to comply with terms herein and fail to cure - such breach within 30 days of becoming aware of the breach. All - sublicenses to the Covered Code which are properly granted shall - survive any termination of this License. Provisions which, by their - nature, must remain in effect beyond the termination of this License - shall survive. - - 8.2. If You initiate litigation by asserting a patent infringement - claim (excluding declatory judgment actions) against Initial Developer - or a Contributor (the Initial Developer or Contributor against whom - You file such action is referred to as "Participant") alleging that: - - (a) such Participant's Contributor Version directly or indirectly - infringes any patent, then any and all rights granted by such - Participant to You under Sections 2.1 and/or 2.2 of this License - shall, upon 60 days notice from Participant terminate prospectively, - unless if within 60 days after receipt of notice You either: (i) - agree in writing to pay Participant a mutually agreeable reasonable - royalty for Your past and future use of Modifications made by such - Participant, or (ii) withdraw Your litigation claim with respect to - the Contributor Version against such Participant. If within 60 days - of notice, a reasonable royalty and payment arrangement are not - mutually agreed upon in writing by the parties or the litigation claim - is not withdrawn, the rights granted by Participant to You under - Sections 2.1 and/or 2.2 automatically terminate at the expiration of - the 60 day notice period specified above. - - (b) any software, hardware, or device, other than such Participant's - Contributor Version, directly or indirectly infringes any patent, then - any rights granted to You by such Participant under Sections 2.1(b) - and 2.2(b) are revoked effective as of the date You first made, used, - sold, distributed, or had made, Modifications made by that - Participant. - - 8.3. If You assert a patent infringement claim against Participant - alleging that such Participant's Contributor Version directly or - indirectly infringes any patent where such claim is resolved (such as - by license or settlement) prior to the initiation of patent - infringement litigation, then the reasonable value of the licenses - granted by such Participant under Sections 2.1 or 2.2 shall be taken - into account in determining the amount or value of any payment or - license. - - 8.4. In the event of termination under Sections 8.1 or 8.2 above, - all end user license agreements (excluding distributors and resellers) - which have been validly granted by You or any distributor hereunder - prior to termination shall survive termination. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL - DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, - OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR - ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY - CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, - WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY - RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW - PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE - EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO - THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a "commercial item," as that term is defined in - 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer - software" and "commercial computer software documentation," as such - terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 - C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), - all U.S. Government End Users acquire Covered Code with only those - rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. This License shall be governed by - California law provisions (except to the extent applicable law, if - any, provides otherwise), excluding its conflict-of-law provisions. - With respect to disputes in which at least one party is a citizen of, - or an entity chartered or registered to do business in the United - States of America, any litigation relating to this License shall be - subject to the jurisdiction of the Federal Courts of the Northern - District of California, with venue lying in Santa Clara County, - California, with the losing party responsible for costs, including - without limitation, court costs and reasonable attorneys' fees and - expenses. The application of the United Nations Convention on - Contracts for the International Sale of Goods is expressly excluded. - Any law or regulation which provides that the language of a contract - shall be construed against the drafter shall not apply to this - License. - -12. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or indirectly, - out of its utilization of rights under this License and You agree to - work with Initial Developer and Contributors to distribute such - responsibility on an equitable basis. Nothing herein is intended or - shall be deemed to constitute any admission of liability. - -13. MULTIPLE-LICENSED CODE. - - Initial Developer may designate portions of the Covered Code as - "Multiple-Licensed". "Multiple-Licensed" means that the Initial - Developer permits you to utilize portions of the Covered Code under - Your choice of the NPL or the alternative licenses, if any, specified - by the Initial Developer in the file described in Exhibit A. - -EXHIBIT A - Mozilla Public License. - - ``The contents of this file are subject to the Mozilla Public License - Version 1.1 (the "License"); you may not use this file except in - compliance with the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the - License for the specific language governing rights and limitations - under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. - Portions created by ______________________ are Copyright (C) ______ - _______________________. All Rights Reserved. - - Contributor(s): ______________________________________. - - Alternatively, the contents of this file may be used under the terms - of the _____ license (the "[___] License"), in which case the - provisions of [______] License are applicable instead of those - above. If you wish to allow use of your version of this file only - under the terms of the [____] License and not to allow others to use - your version of this file under the MPL, indicate your decision by - deleting the provisions above and replace them with the notice and - other provisions required by the [___] License. If you do not delete - the provisions above, a recipient may use your version of this file - under either the MPL or the [___] License." - - [NOTE: The text of this Exhibit A may differ slightly from the text of - the notices in the Source Code files of the Original Code. You should - use the text of this Exhibit A rather than the text found in the - Original Code Source Code for Your Modifications.] - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to SAX 2.0.1, which is included -with JRE 7, JDK 7, and OpenJDK 7. +%% This notice is provided with respect to SAX 2.0.1, which may be included +with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -1876,8 +2065,8 @@ ------------------------------------------------------------------------------- -%% This notice is provided with respect to SoftFloat version 2b, which is -included with JRE 7, JDK 7, and OpenJDK 7 on Linux/ARM. +%% This notice is provided with respect to SoftFloat version 2b, which may be +included with JRE 8, JDK 8, and OpenJDK 8 on Linux/ARM. --- begin of LICENSE --- @@ -1909,12 +2098,41 @@ ------------------------------------------------------------------------------- +%% This notice is provided with respect to Sparkle 1.5, +which may be included with JRE 8 on Mac OS X. + +--- begin of LICENSE --- + +Copyright (c) 2012 Sparkle.org and Andy Matuschak + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + %% Portions licensed from Taligent, Inc. ------------------------------------------------------------------------------- -%% This notice is provided with respect to Thai Dictionary, which is -included with JRE 7, JDK 7, and OpenJDK 7. +%% This notice is provided with respect to Thai Dictionary, which may be +included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -1947,8 +2165,8 @@ ------------------------------------------------------------------------------- -%% This notice is provided with respect to Unicode 6.0.0, CLDR v1.4.1, & CLDR -v1.9, which is included with JRE 7, JDK 7, and OpenJDK 7. +%% This notice is provided with respect to Unicode 6.2.0 & CLDR 21.0.1 +which may be included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -1959,7 +2177,7 @@ Trademark Usage Policy. A. Unicode Copyright. - 1. Copyright © 1991-2011 Unicode, Inc. All rights reserved. + 1. Copyright © 1991-2013 Unicode, Inc. All rights reserved. 2. Certain documents and files on this website contain a legend indicating that "Modification is permitted." Any person is hereby authorized, @@ -2094,7 +2312,7 @@ COPYRIGHT AND PERMISSION NOTICE -Copyright © 1991-2011 Unicode, Inc. All rights reserved. Distributed under the +Copyright © 1991-2012 Unicode, Inc. All rights reserved. Distributed under the Terms of Use in http://www.unicode.org/copyright.html. Permission is hereby granted, free of charge, to any person obtaining a copy @@ -2134,8 +2352,8 @@ ------------------------------------------------------------------------------- -%% This notice is provided with respect to UPX v3.01, which is included -with JRE 7 on Windows. +%% This notice is provided with respect to UPX v3.01, which may be included +with JRE 8 on Windows. --- begin of LICENSE --- @@ -2274,7 +2492,7 @@ ------------------------------------------------------------------------------- %% This notice is provided with respect to Xfree86-VidMode Extension 1.0, -which is included with JRE 7, JDK 7, and OpenJDK 7 on Linux and Solaris. +which may be included with JRE 8, JDK 8, and OpenJDK 8 on Linux and Solaris. --- begin of LICENSE --- @@ -2326,8 +2544,8 @@ ------------------------------------------------------------------------------- -%% This notice is provided with respect to X Window System 6.8.2, which is -included with JRE 7, JDK 7, and OpenJDK 7 on Linux and Solaris. +%% This notice is provided with respect to X Window System 6.8.2, which may be +included with JRE 8, JDK 8, and OpenJDK 8 on Linux and Solaris. --- begin of LICENSE --- @@ -3131,12 +3349,12 @@ ------------------------------------------------------------------------------- -%% This notice is provided with respect to zlib v1.2.3, which is included -with JRE 7, JDK 7, and OpenJDK 7 +%% This notice is provided with respect to zlib v1.2.5, which may be included +with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- - version 1.2.3, July 18th, 2005 + version 1.2.5, July 18th, 2005 Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler @@ -3163,16 +3381,18 @@ ------------------------------------------------------------------------------- -%% This notice is provided with respect to the following which is -included with JRE 7, JDK 7, and OpenJDK 7, except where noted: - - Apache Derby 10.8.1.2 [included with JDK 7 only] +%% This notice is provided with respect to the following which may be +included with JRE 8, JDK 8, and OpenJDK 8, except where noted: + + Apache Commons Math 2.2 + Apache Derby 10.10.1.2 [included with JDK 8] Apache Jakarta BCEL 5.2 Apache Jakarta Regexp 1.4 - Apache Santuario XMLSec-Java 1.4.2 + Apache Santuario XML Security for Java 1.5.4 Apache Xalan-Java 2.7.1 - Apache Xerces2 Java 2.10.0 + Apache Xerces Java 2.10.0 Apache XML Resolver 1.1 + Dynalink 0.5 --- begin of LICENSE ---
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/BuildLangtools.gmk Thu Feb 06 16:12:26 2014 +0000 @@ -0,0 +1,205 @@ +# +# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# This must be the first rule +default: all + +include $(SPEC) +include MakeBase.gmk +include JavaCompilation.gmk + +# The BOOT_JAVAC setup uses the bootdir compiler to compile the tools +# and the bootstrap javac, to be run by the bootdir jvm. +$(eval $(call SetupJavaCompiler,BOOT_JAVAC, \ + JAVAC := $(JAVAC), \ + SERVER_DIR := $(SJAVAC_SERVER_DIR), \ + SERVER_JVM := $(SJAVAC_SERVER_JAVA), \ + FLAGS := -XDignore.symbol.file=true -g -Xlint:all$(COMMA)-deprecation -Werror)) + +# javax.tools.JavaCompilerTool isn't really a suffix but this gets the file copied. +RESOURCE_SUFFIXES := .gif .xml .css .js javax.tools.JavaCompilerTool + +# Now setup the compilation of the properties compilation tool. You can depend +# upon $(BUILD_TOOLS) to trigger a compilation of the tools. Note that we +# add src/share/classes to the sourcepath. This is necessary since the GenStubs +# program needs to be linked and run towards the new javac sources. +$(eval $(call SetupJavaCompilation,BUILD_TOOLS, \ + SETUP := BOOT_JAVAC, \ + DISABLE_SJAVAC := true, \ + ADD_JAVAC_FLAGS := -Xprefer:source, \ + SRC := $(LANGTOOLS_TOPDIR)/make/tools $(LANGTOOLS_TOPDIR)/src/share/classes, \ + INCLUDES := compileproperties genstubs, \ + BIN := $(LANGTOOLS_OUTPUTDIR)/btclasses)) + +# The compileprops tools compiles a properties file into a resource bundle. +TOOL_COMPILEPROPS_CMD := $(JAVA) -cp $(LANGTOOLS_OUTPUTDIR)/btclasses compileproperties.CompileProperties -quiet + +# Lookup the properties that need to be compiled into resource bundles. +PROPSOURCES := $(shell $(FIND) $(LANGTOOLS_TOPDIR)/src/share/classes -name "*.properties") + +# Strip away prefix and suffix, leaving for example only: "com/sun/tools/javac/resources/javac_zh_CN" +PROPPATHS := $(patsubst $(LANGTOOLS_TOPDIR)/src/share/classes/%.properties, %, $(PROPSOURCES)) + +# Generate the list of java files to be created. +PROPJAVAS := $(patsubst %, $(LANGTOOLS_OUTPUTDIR)/gensrc/%.java, $(PROPPATHS)) + +# Generate the package dirs for the tobe generated java files. +PROPDIRS := $(dir $(PROPJAVAS)) + +# Now generate a sequence of "-compile ...javac_zh_CN.properties ...javac_zh_CN.java java.util.ListResourceBundle" +# suitable to be fed into the CompileProperties command. +PROPCMDLINE := $(subst _SPACE_, $(SPACE), $(join $(addprefix -compile_SPACE_, $(PROPSOURCES)), \ + $(addsuffix _SPACE_java.util.ListResourceBundle, $(addprefix _SPACE_$(LANGTOOLS_OUTPUTDIR)/gensrc/, $(addsuffix .java, $(PROPPATHS)))))) + +# Now setup the rule for the generation of the resource bundles. +$(LANGTOOLS_OUTPUTDIR)/gensrc/_the_props.d: $(PROPSOURCES) $(BUILD_TOOLS) + $(RM) -r $(@D)/* + $(MKDIR) -p $(@D) $(PROPDIRS) + $(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javah/resources/version.properties + $(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javap/resources/version.properties + $(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javac/resources/version.properties + $(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/jdeps/resources/version.properties + $(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javadoc/resources/version.properties + $(ECHO) Compiling $(words $(PROPSOURCES) v1 v2 v3) properties into resource bundles + $(TOOL_COMPILEPROPS_CMD) $(PROPCMDLINE) \ + -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javah/resources/version.properties \ + $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javah/resources/version.java \ + java.util.ListResourceBundle \ + -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javap/resources/version.properties \ + $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javap/resources/version.java \ + java.util.ListResourceBundle \ + -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javac/resources/version.properties \ + $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javac/resources/version.java \ + java.util.ListResourceBundle \ + -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/jdeps/resources/version.properties \ + $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/jdeps/resources/version.java \ + java.util.ListResourceBundle \ + -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javadoc/resources/version.properties \ + $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javadoc/resources/version.java \ + java.util.ListResourceBundle + $(ECHO) PROPS_ARE_CREATED = yes > $@ + +# Trigger the generation of the resource bundles. After the resource bundles have +# been compiled, then the makefile will restart and the newly created java files +# will become part of the build further along in the makefile. +-include $(LANGTOOLS_OUTPUTDIR)/gensrc/_the_props.d + +ifeq ($(PROPS_ARE_CREATED), yes) + # Setup the rules to build a dist/bootstrap/lib/javac.jar, ie a smaller intermediate javac + # that can be compiled with an old javac. The intermediate javac is then used + # to compile javac again and to build the complete new jdk. + $(eval $(call SetupJavaCompilation,BUILD_BOOTSTRAP_LANGTOOLS, \ + SETUP := BOOT_JAVAC, \ + DISABLE_SJAVAC := true, \ + SRC := $(LANGTOOLS_TOPDIR)/src/share/classes $(LANGTOOLS_OUTPUTDIR)/gensrc, \ + EXCLUDES := com/sun/tools/javac/nio, \ + COPY := $(RESOURCE_SUFFIXES), \ + BIN := $(LANGTOOLS_OUTPUTDIR)/btclasses/bootstrap)) + + $(eval $(call SetupArchive,ARCHIVE_BOOTSTRAP_JAVAC, $(BUILD_BOOTSTRAP_LANGTOOLS), \ + SRCS := $(LANGTOOLS_OUTPUTDIR)/btclasses/bootstrap, \ + JAR := $(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar, \ + SUFFIXES := .class $(RESOURCE_SUFFIXES))) + + # GenStubs is used to bootstrap any dependencies from javac to the new JDK that is not + # yet built. It is currently not needed but might be again in the future. The following + # exercises the functionality to verify that it works. + TOOL_GENSTUBS_CMD = $(JAVA) \ + "-Xbootclasspath/p:$(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar" \ + -classpath $(LANGTOOLS_OUTPUTDIR)/btclasses \ + genstubs.GenStubs + + # We fetch source from the JDK... + JDKS = $(JDK_TOPDIR)/src/share/classes + + # Build the list of classes to generate stubs from. java/util/function/Predicate.java isn't + # currently needed, but is used as a demo for now. + + STUBSOURCES := $(shell $(FIND) $(JDKS) -name "*.java" | $(GREP) \ + -e "$(JDKS)/java/util/function/Predicate.java") + + # Rewrite the file names into class names because the GenStubs tool require this. + STUBCLASSES := $(subst /,., $(patsubst $(JDKS)/%.java, %, $(STUBSOURCES))) + + # Now setup the build recipe for genstubs. + $(LANGTOOLS_OUTPUTDIR)/genstubs/_the_stubs.d: $(STUBSOURCES) $(BUILD_TOOLS) \ + $(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar \ + $(LANGTOOLS_OUTPUTDIR)/gensrc/_the_props.d + $(MKDIR) -p $(@D) + $(MKDIR) -p $(LANGTOOLS_OUTPUTDIR)/tmpstubs + $(ECHO) $(LOG_INFO) Generating stubs from JDK sources. + ($(TOOL_GENSTUBS_CMD) -s $(LANGTOOLS_OUTPUTDIR)/tmpstubs -sourcepath $(JDKS) $(STUBCLASSES) && $(ECHO) STUBS_ARE_CREATED = yes > $@) + if $(DIFF) -x "_the*" -rq $(LANGTOOLS_OUTPUTDIR)/tmpstubs $(LANGTOOLS_OUTPUTDIR)/genstubs > /dev/null 2>&1; then \ + $(ECHO) $(LOG_INFO) No changes in the stubs!; \ + $(RM) -r $(LANGTOOLS_OUTPUTDIR)/tmpstubs; \ + else \ + $(ECHO) $(LOG_INFO) Changes in stubs detected!; \ + $(RM) -r $(@D); \ + $(MV) $(LANGTOOLS_OUTPUTDIR)/tmpstubs $(@D); \ + fi + $(ECHO) STUBS_ARE_CREATED = yes > $@ + + # Trigger a generation of the genstubs java source code and a restart + # of the makefile to make sure that the following build setup use the + # newly created java files. + -include $(LANGTOOLS_OUTPUTDIR)/genstubs/_the_stubs.d + + ifeq ($(STUBS_ARE_CREATED), yes) + # Setup a compiler configuration using the intermediate javac in dist/bootstrap/lib/javac.jar + # that generates code for the new jdk that is being built. + # The code compiled by this compiler setup, cannot necessarily be run with the bootstrap jvm. + $(eval $(call SetupJavaCompiler,GENERATE_NEWBYTECODE, \ + JVM := $(JAVA), \ + JAVAC := "-Xbootclasspath/p:$(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar" \ + -cp $(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar \ + com.sun.tools.javac.Main, \ + FLAGS := -XDignore.symbol.file=true -Xlint:all$(COMMA)-deprecation -Werror, \ + SERVER_DIR := $(SJAVAC_SERVER_DIR), \ + SERVER_JVM := $(SJAVAC_SERVER_JAVA))) + + $(eval $(call SetupJavaCompilation,BUILD_FULL_JAVAC, \ + SETUP := GENERATE_NEWBYTECODE, \ + SRC := $(LANGTOOLS_TOPDIR)/src/share/classes $(LANGTOOLS_OUTPUTDIR)/gensrc \ + $(LANGTOOLS_OUTPUTDIR)/genstubs, \ + EXCLUDES := java/util java/io java/nio, \ + COPY := $(RESOURCE_SUFFIXES), \ + BIN := $(LANGTOOLS_OUTPUTDIR)/classes)) + + $(eval $(call SetupArchive,ARCHIVE_FULL_JAVAC, $(BUILD_FULL_JAVAC), \ + SETUP := GENERATE_NEWBYTECODE, \ + SRCS := $(LANGTOOLS_OUTPUTDIR)/classes, \ + SUFFIXES := .class $(RESOURCE_SUFFIXES), \ + JAR := $(LANGTOOLS_OUTPUTDIR)/dist/lib/classes.jar)) + + $(eval $(call SetupZipArchive,ZIP_FULL_JAVAC_SOURCE, \ + SRC := $(LANGTOOLS_TOPDIR)/src/share/classes $(LANGTOOLS_OUTPUTDIR)/gensrc, \ + ZIP := $(LANGTOOLS_OUTPUTDIR)/dist/lib/src.zip)) + + all: $(LANGTOOLS_OUTPUTDIR)/dist/lib/classes.jar \ + $(LANGTOOLS_OUTPUTDIR)/dist/lib/src.zip \ + $(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar + + endif +endif
--- a/make/Makefile Mon Dec 23 13:00:24 2013 +0000 +++ b/make/Makefile Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -23,199 +23,27 @@ # questions. # -# Makefile for langtools: wrapper around Ant build.xml file - -# -# On Solaris, the standard 'make' utility will not work with these makefiles. -# This little rule is only understood by Solaris make, and is harmless -# when seen by the GNU make tool. If using Solaris make, this causes the -# make command to fail. -# -SUN_MAKE_TEST:sh = @echo "ERROR: PLEASE USE GNU VERSION OF MAKE"; exit 33 - -# -# Minimal platform defs -# Need FullPath because we can't rely on gnumake abspath, until we use v3.81 -# - -SYSTEM_UNAME := $(shell uname) - -# Where is unwanted output to be delivered? -# On Windows, MKS uses the special file "NUL", cygwin uses the customary unix file. -ifeq ($(SYSTEM_UNAME), Windows_NT) -DEV_NULL = NUL +# Locate this Makefile +ifeq ($(filter /%, $(lastword $(MAKEFILE_LIST))), ) + makefile_path := $(CURDIR)/$(lastword $(MAKEFILE_LIST)) else -DEV_NULL = /dev/null -endif - -ifneq (,$(findstring CYGWIN,$(SYSTEM_UNAME))) -USING_CYGWIN = true + makefile_path := $(lastword $(MAKEFILE_LIST)) endif - -ifdef USING_CYGWIN -define FullPath -$(shell cygpath -a -s -m $1 2> $(DEV_NULL)) -endef -else -define FullPath -$(shell cd $1 2> $(DEV_NULL) && pwd) -endef -endif - -# -# Makefile args -# +repo_dir := $(patsubst %/make/Makefile, %, $(makefile_path)) -ifdef QUIET - ANT_OPTIONS += -quiet -endif - -ifdef VERBOSE - ANT_OPTIONS += -verbose -debug -endif +# What is the name of this subsystem (langtools, corba, etc)? +subsystem_name := $(notdir $(repo_dir)) -ifdef JDK_VERSION - ANT_OPTIONS += -Djdk.version=$(JDK_VERSION) -endif - -ifdef FULL_VERSION - ANT_OPTIONS += -Dfull.version='$(FULL_VERSION)' # will contain spaces -endif - -ifdef MILESTONE -ifneq ($(MILESTONE),fcs) - ANT_OPTIONS += -Dmilestone=$(MILESTONE) +# Try to locate top-level makefile +top_level_makefile := $(repo_dir)/../Makefile +ifneq ($(wildcard $(top_level_makefile)), ) + $(info Will run $(subsystem_name) target on top-level Makefile) + $(info WARNING: This is a non-recommended way of building!) + $(info ===================================================) else - ANT_OPTIONS += -Drelease=$(JDK_VERSION) -endif -endif - -ifdef BUILD_NUMBER - ANT_OPTIONS += -Dbuild.number=$(BUILD_NUMBER) -else - ifdef JDK_BUILD_NUMBER - ANT_OPTIONS += -Dbuild.number=$(JDK_BUILD_NUMBER) - endif -endif - -ifeq ($(VARIANT), DBG) - ANT_OPTIONS += -Djavac.debug=true -else - ifeq ($(VARIANT), OPT) - ANT_OPTIONS += -Djavac.debug=false - endif -endif - -ifeq ($(DEBUG_CLASSFILES), true) - ANT_OPTIONS += -Djavac.debug=true - ANT_OPTIONS += -Ddebug.classfiles=true + $(info Cannot locate top-level Makefile. Is this repo not checked out as part of a complete forest?) + $(error Build from top-level Makefile instead) endif -# Note: jdk/make/common/Defs.gmk uses LANGUAGE_VERSION (-source NN) -# and the somewhat misnamed CLASS_VERSION (-target NN) -ifdef TARGET_CLASS_VERSION - ANT_OPTIONS += -Djavac.target=$(TARGET_CLASS_VERSION) -else - ifdef JAVAC_TARGET_ARG - ANT_OPTIONS += -Djavac.target=$(JAVAC_TARGET_ARG) - endif -endif - -ifdef SOURCE_LANGUAGE_VERSION - ANT_OPTIONS += -Djavac.source=$(SOURCE_LANGUAGE_VERSION) -else - ifdef JAVAC_SOURCE_ARG - ANT_OPTIONS += -Djavac.source=$(JAVAC_SOURCE_ARG) - endif -endif - -ifdef ALT_BOOTDIR - ANT_OPTIONS += -Dboot.java.home=$(ALT_BOOTDIR) - ANT_JAVA_HOME = JAVA_HOME=$(ALT_BOOTDIR) -endif - -# To facilitate bootstrapping, much of langtools can be compiled with (just) -# a boot JDK. However, some source files need to be compiled against -# new JDK API. In a bootstrap build, an import JDK may not be available, -# so build.xml can also build against the source files in a jdk repo, -# in which case it will automatically generate stub files for the new JDK API. -ifdef JDK_TOPDIR - ANT_OPTIONS += -Dimport.jdk=$(JDK_TOPDIR) -else - ifdef ALT_JDK_TOPDIR - ANT_OPTIONS += -Dimport.jdk=$(ALT_JDK_TOPDIR) - else - ifdef ALT_JDK_IMPORT_PATH - ANT_OPTIONS += -Dimport.jdk=$(ALT_JDK_IMPORT_PATH) - endif - endif -endif - -ifdef ALT_OUTPUTDIR - OUTPUTDIR = $(ALT_OUTPUTDIR) - ANT_OPTIONS += -Dbuild.dir=$(ALT_OUTPUTDIR)/build - ANT_OPTIONS += -Ddist.dir=$(ALT_OUTPUTDIR)/dist -else - OUTPUTDIR = .. -endif -#ABS_OUTPUTDIR = $(abspath $(OUTPUTDIR)) -ABS_OUTPUTDIR = $(call FullPath,$(OUTPUTDIR)) - -ANT_TMPDIR = $(ABS_OUTPUTDIR)/build/ant-tmp -ANT_OPTS = ANT_OPTS=-Djava.io.tmpdir='$(ANT_TMPDIR)' - -ifdef FINDBUGS_HOME - ANT_OPTIONS += -Dfindbugs.home=$(FINDBUGS_HOME) -endif - -ifdef ANT_HOME - ANT = $(ANT_HOME)/bin/ant - ifneq ($(shell test -x $(ANT) && echo OK), OK) - $(error $(ANT) not found -- please update ANT_HOME) - endif -else - ANT = ant - ifneq ($(shell test -x "`which $(ANT)`" && echo OK), OK) - $(error 'ant' not found -- please set ANT_HOME or put 'ant' on your PATH) - endif -endif - -# Default target and expected 'do everything' target -all: build - -# Standard make clobber target -clobber: clean - -# All ant targets of interest -ANT_TARGETS = build clean sanity post-sanity diagnostics build-all-tools # for now - -# Create diagnostics log (careful, ant 1.8.0 -diagnostics always does an exit 1) -$(OUTPUTDIR)/build/ant-diagnostics.log: - @mkdir -p $(OUTPUTDIR)/build $(ANT_TMPDIR) - @$(RM) $@ - $(ANT_JAVA_HOME) $(ANT_OPTS) $(ANT) -diagnostics > $@ ; \ - $(ANT_JAVA_HOME) $(ANT_OPTS) $(ANT) -version >> $@ - -# Create a make target for each -$(ANT_TARGETS): $(OUTPUTDIR)/build/ant-diagnostics.log - @ mkdir -p $(OUTPUTDIR)/build $(ANT_TMPDIR) - $(ANT_JAVA_HOME) $(ANT_OPTS) $(ANT) $(ANT_OPTIONS) $@ - -#------------------------------------------------------------------- -# -# Targets for Oracle's internal JPRT build system - -CD = cd -ZIP = zip - -JPRT_ARCHIVE_BUNDLE=$(ABS_OUTPUTDIR)/$(JPRT_BUILD_FLAVOR)-bundle.zip - -jprt_build_product jprt_build_debug jprt_build_fastdebug: all - ( $(CD) $(OUTPUTDIR) && \ - $(ZIP) -q -r $(JPRT_ARCHIVE_BUNDLE) build dist ) - -#------------------------------------------------------------------- - -# Declare these phony (not filenames) -.PHONY: $(ANT_TARGETS) all clobber \ - jprt_build_product jprt_build_debug jprt_build_fastdebug +all: + @$(MAKE) -f $(top_level_makefile) $(subsystem_name)
--- a/make/jprt.properties Mon Dec 23 13:00:24 2013 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,73 +0,0 @@ -# -# Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. Oracle designates this -# particular file as subject to the "Classpath" exception as provided -# by Oracle in the LICENSE file that accompanied this code. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# - -# Properties for jprt - -# Locked down to jdk8 -jprt.tools.default.release=jdk8 - -# The different build flavors we want, we override here so we just get these 2 -jprt.build.flavors=product,fastdebug - -# Standard list of jprt build targets for this source tree -jprt.build.targets= \ - solaris_sparcv9_5.10-{product|fastdebug}, \ - solaris_x64_5.10-{product|fastdebug}, \ - linux_i586_2.6-{product|fastdebug}, \ - linux_x64_2.6-{product|fastdebug}, \ - macosx_x64_10.7-{product|fastdebug}, \ - windows_i586_6.1-{product|fastdebug}, \ - windows_x64_6.1-{product|fastdebug} - -# Test target list (no fastdebug & limited c2 testing) -jprt.my.test.target.set= \ - solaris_sparcv9_5.10-product-c2-TESTNAME, \ - solaris_x64_5.10-product-c2-TESTNAME, \ - linux_i586_2.6-product-{c1|c2}-TESTNAME, \ - linux_x64_2.6-product-c2-TESTNAME, \ - macosx_x64_10.7-product-c2-TESTNAME, \ - windows_i586_6.1-product-c1-TESTNAME, \ - windows_x64_6.1-product-c2-TESTNAME - -# Default test targets -jprt.make.rule.test.targets= \ - ${jprt.my.test.target.set:TESTNAME=jtreg} - -# Directories to be excluded from the source bundles -jprt.bundle.exclude.src.dirs=build dist webrev - -# Test target list (no fastdebug & limited c2 testing) -jprt.my.test.target.set= \ - solaris_sparcv9_5.10-product-c2-TESTNAME, \ - solaris_x64_5.10-product-c2-TESTNAME, \ - linux_i586_2.6-product-{c1|c2}-TESTNAME, \ - linux_x64_2.6-product-c2-TESTNAME, \ - macosx_x64_10.7-product-c2-TESTNAME, \ - windows_i586_6.1-product-c1-TESTNAME, \ - windows_x64_6.1-product-c2-TESTNAME - -# Default test targets -jprt.make.rule.test.targets= \ - ${jprt.my.test.target.set:TESTNAME=jtreg}
--- a/makefiles/BuildLangtools.gmk Mon Dec 23 13:00:24 2013 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,201 +0,0 @@ -# -# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. Oracle designates this -# particular file as subject to the "Classpath" exception as provided -# by Oracle in the LICENSE file that accompanied this code. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# - -# This must be the first rule -default: all - -include $(SPEC) -include MakeBase.gmk -include JavaCompilation.gmk - -# The BOOT_JAVAC setup uses the bootdir compiler to compile the tools -# and the bootstrap javac, to be run by the bootdir jvm. -$(eval $(call SetupJavaCompiler,BOOT_JAVAC, \ - JAVAC := $(JAVAC), \ - SERVER_DIR := $(SJAVAC_SERVER_DIR), \ - SERVER_JVM := $(SJAVAC_SERVER_JAVA), \ - FLAGS := -XDignore.symbol.file=true -g -Xlint:all$(COMMA)-deprecation -Werror)) - -# javax.tools.JavaCompilerTool isn't really a suffix but this gets the file copied. -RESOURCE_SUFFIXES := .gif .xml .css .js javax.tools.JavaCompilerTool - -# Now setup the compilation of the properties compilation tool. You can depend -# upon $(BUILD_TOOLS) to trigger a compilation of the tools. Note that we -# add src/share/classes to the sourcepath. This is necessary since the GenStubs -# program needs to be linked and run towards the new javac sources. -$(eval $(call SetupJavaCompilation,BUILD_TOOLS, \ - SETUP := BOOT_JAVAC, \ - DISABLE_SJAVAC := true, \ - ADD_JAVAC_FLAGS := -Xprefer:source, \ - SRC := $(LANGTOOLS_TOPDIR)/make/tools $(LANGTOOLS_TOPDIR)/src/share/classes, \ - INCLUDES := compileproperties genstubs, \ - BIN := $(LANGTOOLS_OUTPUTDIR)/btclasses)) - -# The compileprops tools compiles a properties file into a resource bundle. -TOOL_COMPILEPROPS_CMD := $(JAVA) -cp $(LANGTOOLS_OUTPUTDIR)/btclasses compileproperties.CompileProperties -quiet - -# Lookup the properties that need to be compiled into resource bundles. -PROPSOURCES := $(shell $(FIND) $(LANGTOOLS_TOPDIR)/src/share/classes -name "*.properties") - -# Strip away prefix and suffix, leaving for example only: "com/sun/tools/javac/resources/javac_zh_CN" -PROPPATHS := $(patsubst $(LANGTOOLS_TOPDIR)/src/share/classes/%.properties, %, $(PROPSOURCES)) - -# Generate the list of java files to be created. -PROPJAVAS := $(patsubst %, $(LANGTOOLS_OUTPUTDIR)/gensrc/%.java, $(PROPPATHS)) - -# Generate the package dirs for the tobe generated java files. -PROPDIRS := $(dir $(PROPJAVAS)) - -# Now generate a sequence of "-compile ...javac_zh_CN.properties ...javac_zh_CN.java java.util.ListResourceBundle" -# suitable to be fed into the CompileProperties command. -PROPCMDLINE := $(subst _SPACE_, $(SPACE), $(join $(addprefix -compile_SPACE_, $(PROPSOURCES)), \ - $(addsuffix _SPACE_java.util.ListResourceBundle, $(addprefix _SPACE_$(LANGTOOLS_OUTPUTDIR)/gensrc/, $(addsuffix .java, $(PROPPATHS)))))) - -# Now setup the rule for the generation of the resource bundles. -$(LANGTOOLS_OUTPUTDIR)/gensrc/_the_props.d: $(PROPSOURCES) $(BUILD_TOOLS) - $(RM) -r $(@D)/* - $(MKDIR) -p $(@D) $(PROPDIRS) - $(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javah/resources/version.properties - $(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javap/resources/version.properties - $(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javac/resources/version.properties - $(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/jdeps/resources/version.properties - $(ECHO) Compiling $(words $(PROPSOURCES) v1 v2 v3) properties into resource bundles - $(TOOL_COMPILEPROPS_CMD) $(PROPCMDLINE) \ - -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javah/resources/version.properties \ - $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javah/resources/version.java \ - java.util.ListResourceBundle \ - -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javap/resources/version.properties \ - $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javap/resources/version.java \ - java.util.ListResourceBundle \ - -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javac/resources/version.properties \ - $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javac/resources/version.java \ - java.util.ListResourceBundle \ - -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/jdeps/resources/version.properties \ - $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/jdeps/resources/version.java \ - java.util.ListResourceBundle - $(ECHO) PROPS_ARE_CREATED = yes > $@ - -# Trigger the generation of the resource bundles. After the resource bundles have -# been compiled, then the makefile will restart and the newly created java files -# will become part of the build further along in the makefile. --include $(LANGTOOLS_OUTPUTDIR)/gensrc/_the_props.d - -ifeq ($(PROPS_ARE_CREATED), yes) - # Setup the rules to build a dist/bootstrap/lib/javac.jar, ie a smaller intermediate javac - # that can be compiled with an old javac. The intermediate javac is then used - # to compile javac again and to build the complete new jdk. - $(eval $(call SetupJavaCompilation,BUILD_BOOTSTRAP_LANGTOOLS, \ - SETUP := BOOT_JAVAC, \ - DISABLE_SJAVAC := true, \ - SRC := $(LANGTOOLS_TOPDIR)/src/share/classes $(LANGTOOLS_OUTPUTDIR)/gensrc, \ - EXCLUDES := com/sun/tools/javac/nio, \ - COPY := $(RESOURCE_SUFFIXES), \ - BIN := $(LANGTOOLS_OUTPUTDIR)/btclasses/bootstrap)) - - $(eval $(call SetupArchive,ARCHIVE_BOOTSTRAP_JAVAC, $(BUILD_BOOTSTRAP_LANGTOOLS), \ - SRCS := $(LANGTOOLS_OUTPUTDIR)/btclasses/bootstrap, \ - JAR := $(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar, \ - SUFFIXES := .class $(RESOURCE_SUFFIXES))) - - # GenStubs is used to bootstrap any dependencies from javac to the new JDK that is not - # yet built. It is currently not needed but might be again in the future. The following - # exercises the functionality to verify that it works. - TOOL_GENSTUBS_CMD = $(JAVA) \ - "-Xbootclasspath/p:$(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar" \ - -classpath $(LANGTOOLS_OUTPUTDIR)/btclasses \ - genstubs.GenStubs - - # We fetch source from the JDK... - JDKS = $(JDK_TOPDIR)/src/share/classes - - # Build the list of classes to generate stubs from. java/util/function/Predicate.java isn't - # currently needed, but is used as a demo for now. - - STUBSOURCES := $(shell $(FIND) $(JDKS) -name "*.java" | $(GREP) \ - -e "$(JDKS)/java/util/function/Predicate.java") - - # Rewrite the file names into class names because the GenStubs tool require this. - STUBCLASSES := $(subst /,., $(patsubst $(JDKS)/%.java, %, $(STUBSOURCES))) - - # Now setup the build recipe for genstubs. - $(LANGTOOLS_OUTPUTDIR)/genstubs/_the_stubs.d: $(STUBSOURCES) $(BUILD_TOOLS) \ - $(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar \ - $(LANGTOOLS_OUTPUTDIR)/gensrc/_the_props.d - $(MKDIR) -p $(@D) - $(MKDIR) -p $(LANGTOOLS_OUTPUTDIR)/tmpstubs - $(ECHO) $(LOG_INFO) Generating stubs from JDK sources. - ($(TOOL_GENSTUBS_CMD) -s $(LANGTOOLS_OUTPUTDIR)/tmpstubs -sourcepath $(JDKS) $(STUBCLASSES) && $(ECHO) STUBS_ARE_CREATED = yes > $@) - if $(DIFF) -x "_the*" -rq $(LANGTOOLS_OUTPUTDIR)/tmpstubs $(LANGTOOLS_OUTPUTDIR)/genstubs > /dev/null 2>&1; then \ - $(ECHO) $(LOG_INFO) No changes in the stubs!; \ - $(RM) -r $(LANGTOOLS_OUTPUTDIR)/tmpstubs; \ - else \ - $(ECHO) $(LOG_INFO) Changes in stubs detected!; \ - $(RM) -r $(@D); \ - $(MV) $(LANGTOOLS_OUTPUTDIR)/tmpstubs $(@D); \ - fi - $(ECHO) STUBS_ARE_CREATED = yes > $@ - - # Trigger a generation of the genstubs java source code and a restart - # of the makefile to make sure that the following build setup use the - # newly created java files. - -include $(LANGTOOLS_OUTPUTDIR)/genstubs/_the_stubs.d - - ifeq ($(STUBS_ARE_CREATED), yes) - # Setup a compiler configuration using the intermediate javac in dist/bootstrap/lib/javac.jar - # that generates code for the new jdk that is being built. - # The code compiled by this compiler setup, cannot necessarily be run with the bootstrap jvm. - $(eval $(call SetupJavaCompiler,GENERATE_NEWBYTECODE, \ - JVM := $(JAVA), \ - JAVAC := "-Xbootclasspath/p:$(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar" \ - -cp $(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar \ - com.sun.tools.javac.Main, \ - FLAGS := -XDignore.symbol.file=true -Xlint:all$(COMMA)-deprecation -Werror, \ - SERVER_DIR := $(SJAVAC_SERVER_DIR), \ - SERVER_JVM := $(SJAVAC_SERVER_JAVA))) - - $(eval $(call SetupJavaCompilation,BUILD_FULL_JAVAC, \ - SETUP := GENERATE_NEWBYTECODE, \ - SRC := $(LANGTOOLS_TOPDIR)/src/share/classes $(LANGTOOLS_OUTPUTDIR)/gensrc \ - $(LANGTOOLS_OUTPUTDIR)/genstubs, \ - EXCLUDES := java/util java/io java/nio, \ - COPY := $(RESOURCE_SUFFIXES), \ - BIN := $(LANGTOOLS_OUTPUTDIR)/classes)) - - $(eval $(call SetupArchive,ARCHIVE_FULL_JAVAC, $(BUILD_FULL_JAVAC), \ - SETUP := GENERATE_NEWBYTECODE, \ - SRCS := $(LANGTOOLS_OUTPUTDIR)/classes, \ - SUFFIXES := .class $(RESOURCE_SUFFIXES), \ - JAR := $(LANGTOOLS_OUTPUTDIR)/dist/lib/classes.jar)) - - $(eval $(call SetupZipArchive,ZIP_FULL_JAVAC_SOURCE, \ - SRC := $(LANGTOOLS_TOPDIR)/src/share/classes $(LANGTOOLS_OUTPUTDIR)/gensrc, \ - ZIP := $(LANGTOOLS_OUTPUTDIR)/dist/lib/src.zip)) - - all: $(LANGTOOLS_OUTPUTDIR)/dist/lib/classes.jar \ - $(LANGTOOLS_OUTPUTDIR)/dist/lib/src.zip \ - $(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar - - endif -endif
--- a/makefiles/Makefile Mon Dec 23 13:00:24 2013 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -# -# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. Oracle designates this -# particular file as subject to the "Classpath" exception as provided -# by Oracle in the LICENSE file that accompanied this code. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# - -# Locate this Makefile -ifeq ($(filter /%, $(lastword $(MAKEFILE_LIST))), ) - makefile_path := $(CURDIR)/$(lastword $(MAKEFILE_LIST)) -else - makefile_path := $(lastword $(MAKEFILE_LIST)) -endif -repo_dir := $(patsubst %/makefiles/Makefile, %, $(makefile_path)) - -# What is the name of this subsystem (langtools, corba, etc)? -subsystem_name := $(notdir $(repo_dir)) - -# Try to locate top-level makefile -top_level_makefile := $(repo_dir)/../common/makefiles/Makefile -ifneq ($(wildcard $(top_level_makefile)), ) - $(info Will run $(subsystem_name) target on top-level Makefile) - $(info WARNING: This is a non-recommended way of building!) - $(info ===================================================) -else - $(info Cannot locate top-level Makefile. Is this repo not checked out as part of a complete forest?) - $(error Build from top-level Makefile instead) -endif - -all: - @$(MAKE) -f $(top_level_makefile) $(subsystem_name)
--- a/src/share/classes/com/sun/javadoc/AnnotationDesc.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/javadoc/AnnotationDesc.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/javadoc/ClassDoc.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/javadoc/ClassDoc.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -66,12 +66,6 @@ boolean isExternalizable(); /** - * Return true if this class can be used as a target type of a lambda expression - * or method reference. - */ - boolean isFunctionalInterface(); - - /** * Return the serialization methods for this class or * interface. *
--- a/src/share/classes/com/sun/source/doctree/package-info.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/source/doctree/package-info.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/classfile/AccessFlags.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/classfile/AccessFlags.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/classfile/Dependencies.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/classfile/Dependencies.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/classfile/MethodParameters_attribute.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/classfile/MethodParameters_attribute.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java Thu Feb 06 16:12:26 2014 +0000 @@ -29,6 +29,7 @@ import com.sun.javadoc.*; import com.sun.tools.javac.jvm.Profile; +import com.sun.tools.javadoc.RootDocImpl; import com.sun.tools.doclets.formats.html.markup.*; import com.sun.tools.doclets.internal.toolkit.*; import com.sun.tools.doclets.internal.toolkit.builders.*; @@ -529,7 +530,7 @@ * {@inheritDoc} */ public void addFunctionalInterfaceInfo (Content classInfoTree) { - if (classDoc.isFunctionalInterface()) { + if (isFunctionalInterface()) { Content dt = HtmlTree.DT(getResource("doclet.Functional_Interface")); Content dl = HtmlTree.DL(dt); Content dd = new HtmlTree(HtmlTag.DD); @@ -539,6 +540,19 @@ } } + public boolean isFunctionalInterface() { + if (configuration.root instanceof RootDocImpl) { + RootDocImpl root = (RootDocImpl) configuration.root; + AnnotationDesc[] annotationDescList = classDoc.annotations(); + for (AnnotationDesc annoDesc : annotationDescList) { + if (root.isFunctionalInterface(annoDesc)) { + return true; + } + } + } + return false; + } + /** * {@inheritDoc} */
--- a/src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java Thu Feb 06 16:12:26 2014 +0000 @@ -204,12 +204,27 @@ "com.sun.tools.doclets.formats.html.resources.standard"); } + private final String versionRBName = "com.sun.tools.javadoc.resources.version"; + private ResourceBundle versionRB; + /** * Return the build date for the doclet. */ @Override public String getDocletSpecificBuildDate() { - return BUILD_DATE; + if (versionRB == null) { + try { + versionRB = ResourceBundle.getBundle(versionRBName); + } catch (MissingResourceException e) { + return BUILD_DATE; + } + } + + try { + return versionRB.getString("release"); + } catch (MissingResourceException e) { + return BUILD_DATE; + } } /**
--- a/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDoclet.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDoclet.java Thu Feb 06 16:12:26 2014 +0000 @@ -115,12 +115,6 @@ boolean nodeprecated = configuration.nodeprecated; performCopy(configuration.helpfile); performCopy(configuration.stylesheetfile); - copyResourceFile("background.gif"); - copyResourceFile("tab.gif"); - copyResourceFile("titlebar.gif"); - copyResourceFile("titlebar_end.gif"); - copyResourceFile("activetitlebar.gif"); - copyResourceFile("activetitlebar_end.gif"); // do early to reduce memory footprint if (configuration.classuse) { ClassUseWriter.generate(configuration, classtree); @@ -314,16 +308,6 @@ return docletToStart.configuration.validOptions(options, reporter); } - /** - * Copy a file in the resources directory to the destination directory. - * @param resource The name of the resource file to copy - */ - private void copyResourceFile(String resource) { - DocPath p = DocPaths.RESOURCES.resolve(resource); - DocFile f = DocFile.createFileForOutput(configuration, p); - f.copyResource(p, false, false); - } - private void performCopy(String filename) { if (filename.isEmpty()) return;
--- a/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java Thu Feb 06 16:12:26 2014 +0000 @@ -148,43 +148,28 @@ StringBuilder buf = new StringBuilder(); int previndex = 0; while (true) { - if (configuration.docrootparent.length() > 0) { - final String docroot_parent = "{@docroot}/.."; - // Search for lowercase version of {@docRoot}/.. - index = lowerHtml.indexOf(docroot_parent, previndex); - // If next {@docRoot}/.. pattern not found, append rest of htmlstr and exit loop - if (index < 0) { - buf.append(htmlstr.substring(previndex)); - break; - } - // If next {@docroot}/.. pattern found, append htmlstr up to start of tag - buf.append(htmlstr.substring(previndex, index)); - previndex = index + docroot_parent.length(); - // Insert docrootparent absolute path where {@docRoot}/.. was located - + final String docroot = "{@docroot}"; + // Search for lowercase version of {@docRoot} + index = lowerHtml.indexOf(docroot, previndex); + // If next {@docRoot} tag not found, append rest of htmlstr and exit loop + if (index < 0) { + buf.append(htmlstr.substring(previndex)); + break; + } + // If next {@docroot} tag found, append htmlstr up to start of tag + buf.append(htmlstr.substring(previndex, index)); + previndex = index + docroot.length(); + if (configuration.docrootparent.length() > 0 && htmlstr.startsWith("/..", previndex)) { + // Insert the absolute link if {@docRoot} is followed by "/..". buf.append(configuration.docrootparent); - // Append slash if next character is not a slash - if (previndex < htmlstr.length() && htmlstr.charAt(previndex) != '/') { - buf.append('/'); - } + previndex += 3; } else { - final String docroot = "{@docroot}"; - // Search for lowercase version of {@docRoot} - index = lowerHtml.indexOf(docroot, previndex); - // If next {@docRoot} tag not found, append rest of htmlstr and exit loop - if (index < 0) { - buf.append(htmlstr.substring(previndex)); - break; - } - // If next {@docroot} tag found, append htmlstr up to start of tag - buf.append(htmlstr.substring(previndex, index)); - previndex = index + docroot.length(); // Insert relative path where {@docRoot} was located buf.append(pathToRoot.isEmpty() ? "." : pathToRoot.getPath()); - // Append slash if next character is not a slash - if (previndex < htmlstr.length() && htmlstr.charAt(previndex) != '/') { - buf.append('/'); - } + } + // Append slash if next character is not a slash + if (previndex < htmlstr.length() && htmlstr.charAt(previndex) != '/') { + buf.append('/'); } } return buf.toString(); @@ -1378,7 +1363,7 @@ return new ContentBuilder(); } - String seetext = replaceDocRootDir(see.text()); + String seetext = replaceDocRootDir(Util.normalizeNewlines(see.text())); //Check if @see is an href or "string" if (seetext.startsWith("<") || seetext.startsWith("\"")) { @@ -1604,26 +1589,30 @@ result.addContent(seeTagToContent((SeeTag) tagelem)); } else if (! tagName.equals("Text")) { boolean wasEmpty = result.isEmpty(); - Content output = TagletWriter.getInlineTagOuput( - configuration.tagletManager, holderTag, - tagelem, getTagletWriterInstance(isFirstSentence)); + Content output; + if (configuration.docrootparent.length() > 0 + && tagelem.name().equals("@docRoot") + && ((tags[i + 1]).text()).startsWith("/..")) { + // If Xdocrootparent switch ON, set the flag to remove the /.. occurrence after + // {@docRoot} tag in the very next Text tag. + textTagChange = true; + // Replace the occurrence of {@docRoot}/.. with the absolute link. + output = new StringContent(configuration.docrootparent); + } else { + output = TagletWriter.getInlineTagOuput( + configuration.tagletManager, holderTag, + tagelem, getTagletWriterInstance(isFirstSentence)); + } if (output != null) result.addContent(output); if (wasEmpty && isFirstSentence && tagelem.name().equals("@inheritDoc") && !result.isEmpty()) { break; - } else if (configuration.docrootparent.length() > 0 && - tagelem.name().equals("@docRoot") && - ((tags[i + 1]).text()).startsWith("/..")) { - //If Xdocrootparent switch ON, set the flag to remove the /.. occurance after - //{@docRoot} tag in the very next Text tag. - textTagChange = true; - continue; } else { continue; } } else { String text = tagelem.text(); - //If Xdocrootparent switch ON, remove the /.. occurance after {@docRoot} tag. + //If Xdocrootparent switch ON, remove the /.. occurrence after {@docRoot} tag. if (textTagChange) { text = text.replaceFirst("/..", ""); textTagChange = false;
--- a/src/share/classes/com/sun/tools/doclets/formats/html/LinkOutputImpl.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/LinkOutputImpl.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java Thu Feb 06 16:12:26 2014 +0000 @@ -80,9 +80,7 @@ */ public Content getDocRootOutput() { String path; - if (configuration.docrootparent.length() > 0) - path = configuration.docrootparent; - else if (htmlWriter.pathToRoot.isEmpty()) + if (htmlWriter.pathToRoot.isEmpty()) path = "."; else path = htmlWriter.pathToRoot.getPath();
--- a/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlAttr.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlAttr.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java Thu Feb 06 16:12:26 2014 +0000 @@ -331,7 +331,7 @@ if (timestamp) { Calendar calendar = new GregorianCalendar(TimeZone.getDefault()); Date today = calendar.getTime(); - text += " ("+ ConfigurationImpl.BUILD_DATE + ") on " + today; + text += " ("+ configuration.getDocletSpecificBuildDate() + ") on " + today; } return new Comment(text); }
Binary file src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/activetitlebar.gif has changed
Binary file src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/activetitlebar_end.gif has changed
Binary file src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/background.gif has changed
--- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.properties Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.properties Thu Feb 06 16:12:26 2014 +0000 @@ -134,6 +134,7 @@ doclet.Groupname_already_used=-group\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u304A\u3044\u3066\u3001\u3059\u3067\u306B\u30B0\u30EB\u30FC\u30D7\u540D\u304C\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059: {0} doclet.value_tag_invalid_reference={0}(@value\u30BF\u30B0\u306B\u3088\u308A\u53C2\u7167\u3055\u308C\u3066\u3044\u308B)\u306F\u4E0D\u660E\u306A\u53C2\u7167\u3067\u3059\u3002 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.value_tag_invalid_use=@value\u30BF\u30B0\u306F\u3053\u3053\u3067\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\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{0}\u306E\u30EA\u30B9\u30C8\u304A\u3088\u3073\u8AAC\u660E\u306E\u4F7F\u7528
--- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_zh_CN.properties Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_zh_CN.properties Thu Feb 06 16:12:26 2014 +0000 @@ -134,6 +134,7 @@ doclet.Groupname_already_used=\u5728 -group \u9009\u9879\u4E2D, groupname \u5DF2\u4F7F\u7528: {0} doclet.value_tag_invalid_reference={0} (\u7531 @value \u6807\u8BB0\u5F15\u7528) \u4E3A\u672A\u77E5\u5F15\u7528\u3002 doclet.value_tag_invalid_constant=@value \u6807\u8BB0 (\u5F15\u7528{0}) \u53EA\u80FD\u5728\u5E38\u91CF\u4E2D\u4F7F\u7528\u3002 +doclet.value_tag_invalid_use=\u6B64\u5904\u4E0D\u80FD\u4F7F\u7528 @value \u6807\u8BB0\u3002 doclet.dest_dir_create=\u6B63\u5728\u521B\u5EFA\u76EE\u6807\u76EE\u5F55: "{0}" doclet.in={1}\u4E2D\u7684{0} doclet.Use_Table_Summary=\u4F7F\u7528\u8868, \u5217\u8868{0}\u548C\u89E3\u91CA
--- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css Thu Feb 06 16:12:26 2014 +0000 @@ -2,16 +2,19 @@ /* Overall document style */ + +@import url('resources/fonts/dejavu.css'); + body { background-color:#ffffff; color:#353833; - font-family:Arial, Helvetica, sans-serif; - font-size:76%; + font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:14px; margin:0; } a:link, a:visited { text-decoration:none; - color:#4c6b87; + color:#4A6782; } a:hover, a:focus { text-decoration:none; @@ -19,7 +22,7 @@ } a:active { text-decoration:none; - color:#4c6b87; + color:#4A6782; } a[name] { color:#353833; @@ -29,41 +32,51 @@ color:#353833; } pre { - font-size:1.3em; + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; } h1 { - font-size:1.8em; + font-size:20px; } h2 { - font-size:1.5em; + font-size:18px; } h3 { - font-size:1.4em; + font-size:16px; + font-style:italic; } h4 { - font-size:1.3em; + font-size:13px; } h5 { - font-size:1.2em; + font-size:12px; } h6 { - font-size:1.1em; + font-size:11px; } ul { list-style-type:disc; } code, tt { - font-size:1.2em; + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; + margin-top:8px; + line-height:1.4em; } dt code { - font-size:1.2em; + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; } table tr td dt code { - font-size:1.2em; + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; vertical-align:top; + padding-top:4px; } sup { - font-size:.6em; + font-size:8px; } /* Document title and Copyright styles @@ -76,10 +89,9 @@ .aboutLanguage { float:right; padding:0px 21px; - font-size:.8em; - font-style:italic; + font-size:11px; z-index:200; - margin-top:-7px; + margin-top:-9px; } .legalCopy { margin-left:.5em; @@ -93,9 +105,6 @@ } .tab { background-color:#0066FF; - background-image:url(resources/titlebar.gif); - background-position:left top; - background-repeat:no-repeat; color:#ffffff; padding:8px; width:5em; @@ -105,17 +114,15 @@ Navigation bar styles */ .bar { - background-image:url(resources/background.gif); - background-repeat:repeat-x; + background-color:#4D7A97; color:#FFFFFF; padding:.8em .5em .4em .8em; height:auto;/*height:1.8em;*/ - font-size:1em; + font-size:11px; margin:0; } .topNav { - background-image:url(resources/background.gif); - background-repeat:repeat-x; + background-color:#4D7A97; color:#FFFFFF; float:left; padding:0; @@ -124,11 +131,11 @@ height:2.8em; padding-top:10px; overflow:hidden; + font-size:12px; } .bottomNav { margin-top:10px; - background-image:url(resources/background.gif); - background-repeat:repeat-x; + background-color:#4D7A97; color:#FFFFFF; float:left; padding:0; @@ -137,18 +144,20 @@ height:2.8em; padding-top:10px; overflow:hidden; + font-size:12px; } .subNav { background-color:#dee3e9; - border-bottom:1px solid #9eadc0; float:left; width:100%; overflow:hidden; + font-size:12px; } .subNav div { clear:left; float:left; padding:0 0 5px 6px; + text-transform:uppercase; } ul.navList, ul.subNavList { float:left; @@ -158,34 +167,34 @@ ul.navList li{ list-style:none; float:left; - padding:3px 6px; + padding: 5px 6px; + text-transform:uppercase; } ul.subNavList li{ list-style:none; float:left; - font-size:90%; } .topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited { color:#FFFFFF; text-decoration:none; + text-transform:uppercase; } .topNav a:hover, .bottomNav a:hover { text-decoration:none; color:#bb7a2a; + text-transform:uppercase; } .navBarCell1Rev { - background-image:url(resources/tab.gif); - background-color:#a88834; - color:#FFFFFF; + background-color:#F8981D; + color:#253441; margin: auto 5px; - border:1px solid #c9aa44; } .skipNav { position:absolute; top:auto; left:-9999px; overflow:hidden; - } +} /* Page header and footer styles */ @@ -202,7 +211,7 @@ margin-right:15px; } .indexHeader h1 { - font-size:1.3em; + font-size:13px; } .title { color:#2c4557; @@ -212,7 +221,7 @@ margin:5px 0 0 0; } .header ul { - margin:0 0 25px 0; + margin:0 0 15px 0; padding:0; } .footer ul { @@ -220,24 +229,22 @@ } .header ul li, .footer ul li { list-style:none; - font-size:1.2em; + font-size:13px; } /* Heading styles */ div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 { background-color:#dee3e9; - border-top:1px solid #9eadc0; - border-bottom:1px solid #9eadc0; + border:1px solid #d0d9e0; margin:0 0 6px -8px; - padding:2px 5px; + padding:7px 5px; } ul.blockList ul.blockList ul.blockList li.blockList h3 { background-color:#dee3e9; - border-top:1px solid #9eadc0; - border-bottom:1px solid #9eadc0; + border:1px solid #d0d9e0; margin:0 0 6px -8px; - padding:2px 5px; + padding:7px 5px; } ul.blockList ul.blockList li.blockList h3 { padding:0; @@ -257,10 +264,10 @@ .indexContainer { margin:10px; position:relative; - font-size:1.0em; + font-size:12px; } .indexContainer h2 { - font-size:1.1em; + font-size:13px; padding:0 0 3px 0; } .indexContainer ul { @@ -269,15 +276,18 @@ } .indexContainer ul li { list-style:none; + padding-top:2px; } .contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt { - font-size:1.1em; + font-size:12px; font-weight:bold; margin:10px 0 0 0; color:#4E4E4E; } .contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd { - margin:10px 0 10px 20px; + margin:5px 0 10px 0px; + font-size:14px; + font-family:'DejaVu Sans Mono',monospace; } .serializedFormContainer dl.nameValue dt { margin-left:1px; @@ -316,25 +326,24 @@ } ul.blockList li.blockList, ul.blockListLast li.blockList { list-style:none; - margin-bottom:25px; + margin-bottom:15px; + line-height:1.4; } ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList { padding:0px 20px 5px 10px; - border:1px solid #9eadc0; - background-color:#f9f9f9; + border:1px solid #ededed; + background-color:#f8f8f8; } ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList { padding:0 0 5px 8px; background-color:#ffffff; - border:1px solid #9eadc0; - border-top:none; + border:none; } ul.blockList ul.blockList ul.blockList ul.blockList li.blockList { margin-left:0; padding-left:0; padding-bottom:15px; border:none; - border-bottom:1px solid #9eadc0; } ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast { list-style:none; @@ -349,9 +358,10 @@ Table styles */ .overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary { - border-bottom:1px solid #9eadc0; - margin:0 0 12px 0px; width:100%; + border-left:1px solid #EEE; + border-right:1px solid #EEE; + border-bottom:1px solid #EEE; } .overviewSummary, .memberSummary { padding:0px; @@ -361,12 +371,15 @@ position:relative; text-align:left; background-repeat:no-repeat; - color:#FFFFFF; + color:#253441; font-weight:bold; clear:none; overflow:hidden; padding:0px; + padding-top:10px; + padding-left:1px; margin:0px; + white-space:pre; } .overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link, .useSummary caption a:link, .constantsSummary caption a:link, .deprecatedSummary caption a:link, @@ -381,89 +394,98 @@ .overviewSummary caption span, .memberSummary caption span, .typeSummary caption span, .useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span { white-space:nowrap; - padding-top:8px; - padding-left:8px; + padding-top:5px; + padding-left:12px; + padding-right:12px; + padding-bottom:7px; display:inline-block; float:left; - background-image:url(resources/titlebar.gif); + background-color:#F8981D; + border: none; + height:16px; } .memberSummary caption span.activeTableTab span { white-space:nowrap; - padding-top:8px; - padding-left:8px; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; display:inline-block; float:left; - background-image:url(resources/activetitlebar.gif); + background-color:#F8981D; + height:16px; } .memberSummary caption span.tableTab span { white-space:nowrap; - padding-top:8px; - padding-left:8px; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; display:inline-block; float:left; - background-image:url(resources/titlebar.gif); + background-color:#4D7A97; + height:16px; } .memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab { padding-top:0px; padding-left:0px; + padding-right:0px; background-image:none; float:none; - display:inline-block; + display:inline; } .overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd, .useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd { - width:10px; - background-image:url(resources/titlebar_end.gif); - background-repeat:no-repeat; - background-position:top right; + display:none; + width:5px; position:relative; float:left; + background-color:#F8981D; } .memberSummary .activeTableTab .tabEnd { - width:10px; - margin-right:5px; - background-image:url(resources/activetitlebar_end.gif); - background-repeat:no-repeat; - background-position:top right; - position:relative; + display:none; + width:5px; + margin-right:3px; + position:relative; float:left; + background-color:#F8981D; } .memberSummary .tableTab .tabEnd { - width:10px; - margin-right:5px; - background-image:url(resources/titlebar_end.gif); - background-repeat:no-repeat; - background-position:top right; + display:none; + width:5px; + margin-right:3px; position:relative; + background-color:#4D7A97; float:left; + } .overviewSummary td, .memberSummary td, .typeSummary td, .useSummary td, .constantsSummary td, .deprecatedSummary td { text-align:left; - padding:3px 3px 3px 7px; + padding:0px 0px 12px 10px; + width:100%; } th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th, td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{ vertical-align:top; - padding-right:3px; + padding-right:0px; + padding-top:8px; + padding-bottom:3px; } th.colFirst, th.colLast, th.colOne, .constantsSummary th { background:#dee3e9; - border-top:1px solid #9eadc0; - border-bottom:1px solid #9eadc0; text-align:left; - padding:3px 3px 3px 7px; + padding:8px 3px 3px 7px; } td.colFirst, th.colFirst { - border-left:1px solid #9eadc0; white-space:nowrap; + font-size:13px; } td.colLast, th.colLast { - border-right:1px solid #9eadc0; + font-size:13px; } td.colOne, th.colOne { - border-right:1px solid #9eadc0; - border-left:1px solid #9eadc0; + font-size:13px; } .overviewSummary td.colFirst, .overviewSummary th.colFirst, .overviewSummary td.colOne, .overviewSummary th.colOne, @@ -471,19 +493,19 @@ .memberSummary td.colOne, .memberSummary th.colOne, .typeSummary td.colFirst{ width:25%; - vertical-align:middle; + vertical-align:top; } td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover { font-weight:bold; } .tableSubHeadingColor { - background-color: #EEEEFF; + background-color:#EEEEFF; } .altColor { - background-color:#eeeeef; + background-color:#FFFFFF; } .rowColor { - background-color:#ffffff; + background-color:#EEEEEF; } /* Content styles @@ -498,6 +520,24 @@ .docSummary { padding:0; } + +ul.blockList ul.blockList ul.blockList li.blockList h3 { + font-style:normal; +} + +div.block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} + +td.colLast div { + padding-top:0px; +} + + +td.colLast a { + padding-bottom:3px; +} /* Formatting effect styles */ @@ -508,11 +548,12 @@ h1.hidden { visibility:hidden; overflow:hidden; - font-size:.9em; + font-size:10px; } .block { display:block; - margin:3px 0 0 0; + margin:3px 10px 2px 0px; + color:#474747; } .deprecatedLabel, .descfrmTypeLabel, .memberNameLabel, .memberNameLink, .overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel, @@ -522,3 +563,12 @@ .deprecationComment, .emphasizedPhrase, .interfaceName { font-style:italic; } + +div.block div.block span.deprecationComment, div.block div.block span.emphasizedPhrase, +div.block div.block span.interfaceName { + font-style:normal; +} + +div.contentContainer ul.blockList li.blockList h2{ + padding-bottom:0px; +}
Binary file src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/titlebar.gif has changed
Binary file src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/titlebar_end.gif has changed
--- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocPaths.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocPaths.java Thu Feb 06 16:12:26 2014 +0000 @@ -122,9 +122,7 @@ /** The name of the file for the overview frame. */ public static final DocPath PROFILE_OVERVIEW_FRAME = DocPath.create("profile-overview-frame.html"); - /** The name of the directory in which resources are generated. - * Also the name of the sub-package from which resources are read. - */ + /** The name of the sub-package from which resources are read. */ public static final DocPath RESOURCES = DocPath.create("resources"); /** The name of the file for the serialized form info. */
--- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkOutput.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkOutput.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/doclint/resources/doclint_ja.properties Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/doclint/resources/doclint_ja.properties Thu Feb 06 16:12:26 2014 +0000 @@ -67,7 +67,10 @@ dc.tag.start.unmatched = \u7D42\u4E86\u30BF\u30B0\u304C\u3042\u308A\u307E\u305B\u3093: </{0}> dc.tag.unknown = \u4E0D\u660E\u306A\u30BF\u30B0: {0} dc.text.not.allowed = <{0}>\u8981\u7D20\u3067\u306F\u30C6\u30AD\u30B9\u30C8\u3092\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093 +dc.type.arg.not.allowed = \u578B\u5F15\u6570\u306F\u3053\u3053\u3067\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093 dc.unexpected.comment=\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u30FB\u30B3\u30E1\u30F3\u30C8\u306F\u3053\u3053\u3067\u306F\u5FC5\u8981\u3042\u308A\u307E\u305B\u3093 +dc.value.not.allowed.here='{@value}'\u306F\u3053\u3053\u3067\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093 +dc.value.not.a.constant=\u5024\u304C\u5B9A\u6570\u3092\u53C2\u7167\u3057\u3066\u3044\u307E\u305B\u3093 dc.main.ioerror=IO\u30A8\u30E9\u30FC: {0} dc.main.no.files.given=\u30D5\u30A1\u30A4\u30EB\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093
--- a/src/share/classes/com/sun/tools/doclint/resources/doclint_zh_CN.properties Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/doclint/resources/doclint_zh_CN.properties Thu Feb 06 16:12:26 2014 +0000 @@ -67,7 +67,10 @@ dc.tag.start.unmatched = \u7F3A\u5C11\u7ED3\u675F\u6807\u8BB0: </{0}> dc.tag.unknown = \u672A\u77E5\u6807\u8BB0: {0} dc.text.not.allowed = <{0}> \u5143\u7D20\u4E2D\u4E0D\u5141\u8BB8\u4F7F\u7528\u6587\u672C +dc.type.arg.not.allowed = \u6B64\u5904\u4E0D\u5141\u8BB8\u4F7F\u7528\u7C7B\u578B\u53C2\u6570 dc.unexpected.comment=\u6B64\u5904\u672A\u9884\u671F\u6587\u6863\u6CE8\u91CA +dc.value.not.allowed.here=\u6B64\u5904\u4E0D\u5141\u8BB8\u4F7F\u7528 '{@value}' +dc.value.not.a.constant=\u503C\u4E0D\u5F15\u7528\u5E38\u91CF dc.main.ioerror=IO \u9519\u8BEF: {0} dc.main.no.files.given=\u672A\u6307\u5B9A\u6587\u4EF6
--- a/src/share/classes/com/sun/tools/javac/code/Flags.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/javac/code/Flags.java Thu Feb 06 16:12:26 2014 +0000 @@ -293,7 +293,7 @@ ExtendedStandardFlags = (long)StandardFlags | DEFAULT, ModifierFlags = ((long)StandardFlags & ~INTERFACE) | DEFAULT, InterfaceMethodMask = ABSTRACT | STATIC | PUBLIC | STRICTFP | DEFAULT, - AnnotationTypeElementMask = FINAL | ABSTRACT | PUBLIC | STRICTFP, + AnnotationTypeElementMask = ABSTRACT | PUBLIC, LocalVarFlags = FINAL | PARAMETER;
--- a/src/share/classes/com/sun/tools/javac/code/Type.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/javac/code/Type.java Thu Feb 06 16:12:26 2014 +0000 @@ -970,13 +970,6 @@ public boolean allInterfaces; - public enum IntersectionKind { - EXPLICIT, - IMPLICT; - } - - public IntersectionKind intersectionKind; - public IntersectionClassType(List<Type> bounds, ClassSymbol csym, boolean allInterfaces) { super(Type.noType, List.<Type>nil(), csym); this.allInterfaces = allInterfaces; @@ -1008,9 +1001,7 @@ @Override public <R, P> R accept(TypeVisitor<R, P> v, P p) { - return intersectionKind == IntersectionKind.EXPLICIT ? - v.visitIntersection(this, p) : - v.visitDeclared(this, p); + return v.visitIntersection(this, p); } }
--- a/src/share/classes/com/sun/tools/javac/comp/Attr.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/javac/comp/Attr.java Thu Feb 06 16:12:26 2014 +0000 @@ -28,7 +28,6 @@ import java.util.*; import javax.lang.model.element.ElementKind; -import javax.lang.model.type.TypeKind; import javax.tools.JavaFileObject; import com.sun.source.tree.IdentifierTree; @@ -933,7 +932,8 @@ chk.validate(tree.typarams, localEnv); // Check that result type is well-formed. - chk.validate(tree.restype, localEnv); + if (tree.restype != null && !tree.restype.type.hasTag(VOID)) + chk.validate(tree.restype, localEnv); // Check that receiver type is well-formed. if (tree.recvparam != null) { @@ -2163,11 +2163,6 @@ tree.constructor, localEnv, new ResultInfo(pkind, newMethodTemplate(syms.voidType, argtypes, typeargtypes))); - } else { - if (tree.clazz.hasTag(ANNOTATED_TYPE)) { - checkForDeclarationAnnotations(((JCAnnotatedType) tree.clazz).annotations, - tree.clazz.type.tsym); - } } if (tree.constructor != null && tree.constructor.kind == MTH) @@ -2229,21 +2224,6 @@ } } - private void checkForDeclarationAnnotations(List<? extends JCAnnotation> annotations, - Symbol sym) { - // Ensure that no declaration annotations are present. - // Note that a tree type might be an AnnotatedType with - // empty annotations, if only declaration annotations were given. - // This method will raise an error for such a type. - for (JCAnnotation ai : annotations) { - if (!ai.type.isErroneous() && - typeAnnotations.annotationType(ai.attribute, sym) == TypeAnnotations.AnnotationType.DECLARATION) { - log.error(ai.pos(), "annotation.type.not.applicable"); - } - } - } - - /** Make an attributed null check tree. */ public JCExpression makeNullCheck(JCExpression arg) { @@ -2270,10 +2250,6 @@ attribExpr(l.head, localEnv, syms.intType); owntype = new ArrayType(owntype, syms.arrayClass); } - if (tree.elemtype.hasTag(ANNOTATED_TYPE)) { - checkForDeclarationAnnotations(((JCAnnotatedType) tree.elemtype).annotations, - tree.elemtype.type.tsym); - } } else { // we are seeing an untyped aggregate { ... } // this is allowed only if the prototype is an array @@ -2614,15 +2590,61 @@ } } + /* Map to hold 'fake' clinit methods. If a lambda is used to initialize a + * static field and that lambda has type annotations, these annotations will + * also be stored at these fake clinit methods. + * + * LambdaToMethod also use fake clinit methods so they can be reused. + * Also as LTM is a phase subsequent to attribution, the methods from + * clinits can be safely removed by LTM to save memory. + */ + private Map<ClassSymbol, MethodSymbol> clinits = new HashMap<>(); + + public MethodSymbol removeClinit(ClassSymbol sym) { + return clinits.remove(sym); + } + + /* This method returns an environment to be used to attribute a lambda + * expression. + * + * The owner of this environment is a method symbol. If the current owner + * is not a method, for example if the lambda is used to initialize + * a field, then if the field is: + * + * - an instance field, we use the first constructor. + * - a static field, we create a fake clinit method. + */ private Env<AttrContext> lambdaEnv(JCLambda that, Env<AttrContext> env) { Env<AttrContext> lambdaEnv; Symbol owner = env.info.scope.owner; if (owner.kind == VAR && owner.owner.kind == TYP) { //field initializer lambdaEnv = env.dup(that, env.info.dup(env.info.scope.dupUnshared())); - lambdaEnv.info.scope.owner = - new MethodSymbol((owner.flags() & STATIC) | BLOCK, names.empty, null, - env.info.scope.owner); + ClassSymbol enclClass = owner.enclClass(); + /* if the field isn't static, then we can get the first constructor + * and use it as the owner of the environment. This is what + * LTM code is doing to look for type annotations so we are fine. + */ + if ((owner.flags() & STATIC) == 0) { + for (Symbol s : enclClass.members_field.getElementsByName(names.init)) { + lambdaEnv.info.scope.owner = s; + break; + } + } else { + /* if the field is static then we need to create a fake clinit + * method, this method can later be reused by LTM. + */ + MethodSymbol clinit = clinits.get(enclClass); + if (clinit == null) { + Type clinitType = new MethodType(List.<Type>nil(), + syms.voidType, List.<Type>nil(), syms.methodClass); + clinit = new MethodSymbol(STATIC | SYNTHETIC | PRIVATE, + names.clinit, clinitType, enclClass); + clinit.params = List.<VarSymbol>nil(); + clinits.put(enclClass, clinit); + } + lambdaEnv.info.scope.owner = clinit; + } } else { lambdaEnv = env.dup(that, env.info.dup(env.info.scope.dup())); } @@ -3982,10 +4004,6 @@ return bounds.head.type; } else { Type owntype = types.makeCompoundType(TreeInfo.types(bounds)); - if (tree.hasTag(TYPEINTERSECTION)) { - ((IntersectionClassType)owntype).intersectionKind = - IntersectionClassType.IntersectionKind.EXPLICIT; - } // ... the variable's bound is a class type flagged COMPOUND // (see comment for TypeVar.bound). // In this case, generate a class tree that represents the @@ -4422,7 +4440,7 @@ } public void visitMethodDef(JCMethodDecl tree) { if (tree.recvparam != null && - tree.recvparam.vartype.type.getKind() != TypeKind.ERROR) { + !tree.recvparam.vartype.type.isErroneous()) { checkForDeclarationAnnotations(tree.recvparam.mods.annotations, tree.recvparam.vartype.type.tsym); } @@ -4461,17 +4479,28 @@ super.visitTypeTest(tree); } public void visitNewClass(JCNewClass tree) { - if (tree.clazz.type != null) + if (tree.clazz.hasTag(ANNOTATED_TYPE)) { + checkForDeclarationAnnotations(((JCAnnotatedType) tree.clazz).annotations, + tree.clazz.type.tsym); + } + if (tree.def != null) { + checkForDeclarationAnnotations(tree.def.mods.annotations, tree.clazz.type.tsym); + } + if (tree.clazz.type != null) { validateAnnotatedType(tree.clazz, tree.clazz.type); + } super.visitNewClass(tree); } public void visitNewArray(JCNewArray tree) { - if (tree.elemtype != null && tree.elemtype.type != null) + if (tree.elemtype != null && tree.elemtype.type != null) { + if (tree.elemtype.hasTag(ANNOTATED_TYPE)) { + checkForDeclarationAnnotations(((JCAnnotatedType) tree.elemtype).annotations, + tree.elemtype.type.tsym); + } validateAnnotatedType(tree.elemtype, tree.elemtype.type); + } super.visitNewArray(tree); } - - @Override public void visitClassDef(JCClassDecl tree) { if (sigOnly) { scan(tree.mods); @@ -4486,8 +4515,6 @@ scan(member); } } - - @Override public void visitBlock(JCBlock tree) { if (!sigOnly) { scan(tree.stats); @@ -4593,6 +4620,20 @@ } } } + + private void checkForDeclarationAnnotations(List<? extends JCAnnotation> annotations, + Symbol sym) { + // Ensure that no declaration annotations are present. + // Note that a tree type might be an AnnotatedType with + // empty annotations, if only declaration annotations were given. + // This method will raise an error for such a type. + for (JCAnnotation ai : annotations) { + if (!ai.type.isErroneous() && + typeAnnotations.annotationType(ai.attribute, sym) == TypeAnnotations.AnnotationType.DECLARATION) { + log.error(ai.pos(), "annotation.type.not.applicable"); + } + } + } }; // <editor-fold desc="post-attribution visitor">
--- a/src/share/classes/com/sun/tools/javac/comp/Check.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/javac/comp/Check.java Thu Feb 06 16:12:26 2014 +0000 @@ -1326,6 +1326,14 @@ tree.underlyingType.accept(this); } + @Override + public void visitTypeIdent(JCPrimitiveTypeTree that) { + if (that.type.hasTag(TypeTag.VOID)) { + log.error(that.pos(), "void.not.allowed.here"); + } + super.visitTypeIdent(that); + } + /** Default visitor method: do nothing. */ @Override @@ -2977,6 +2985,7 @@ boolean annotationApplicable(JCAnnotation a, Symbol s) { Attribute.Array arr = getAttributeTargetAttribute(a.annotationType.type.tsym); Name[] targets; + if (arr == null) { targets = defaultTargetMetaInfo(a, s); } else { @@ -2993,7 +3002,7 @@ } for (Name target : targets) { if (target == names.TYPE) - { if (s.kind == TYP && !s.isAnonymous()) return true; } + { if (s.kind == TYP) return true; } else if (target == names.FIELD) { if (s.kind == VAR && s.owner.kind != MTH) return true; } else if (target == names.METHOD)
--- a/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java Thu Feb 06 16:12:26 2014 +0000 @@ -357,9 +357,11 @@ //first determine the method symbol to be used to generate the sam instance //this is either the method reference symbol, or the bridged reference symbol - Symbol refSym = localContext.needsBridge() ? - localContext.bridgeSym : - tree.sym; + Symbol refSym = localContext.needsBridge() + ? localContext.bridgeSym + : localContext.isSignaturePolymorphic() + ? localContext.sigPolySym + : tree.sym; //build the bridge method, if needed if (localContext.needsBridge()) { @@ -1472,12 +1474,27 @@ private Symbol initSym(ClassSymbol csym, long flags) { boolean isStatic = (flags & STATIC) != 0; if (isStatic) { - //static clinits are generated in Gen - so we need to fake them - Symbol clinit = clinits.get(csym); + /* static clinits are generated in Gen, so we need to use a fake + * one. Attr creates a fake clinit method while attributing + * lambda expressions used as initializers of static fields, so + * let's use that one. + */ + MethodSymbol clinit = attr.removeClinit(csym); + if (clinit != null) { + clinits.put(csym, clinit); + return clinit; + } + + /* if no clinit is found at Attr, then let's try at clinits. + */ + clinit = (MethodSymbol)clinits.get(csym); if (clinit == null) { + /* no luck, let's create a new one + */ clinit = makePrivateSyntheticMethod(STATIC, names.clinit, - new MethodType(List.<Type>nil(), syms.voidType, List.<Type>nil(), syms.methodClass), + new MethodType(List.<Type>nil(), syms.voidType, + List.<Type>nil(), syms.methodClass), csym); clinits.put(csym, clinit); } @@ -1995,6 +2012,7 @@ final boolean isSuper; final Symbol bridgeSym; + final Symbol sigPolySym; ReferenceTranslationContext(JCMemberReference tree) { super(tree); @@ -2004,6 +2022,12 @@ referenceBridgeName(), null, owner.enclClass()) : null; + this.sigPolySym = isSignaturePolymorphic() + ? makePrivateSyntheticMethod(tree.sym.flags(), + tree.sym.name, + bridgedRefSig(), + tree.sym.enclClass()) + : null; if (dumpLambdaToMethodStats) { String key = bridgeSym == null ? "mref.stat" : "mref.stat.1"; @@ -2106,6 +2130,15 @@ } /** + * Signature polymorphic methods need special handling. + * e.g. MethodHandle.invoke() MethodHandle.invokeExact() + */ + final boolean isSignaturePolymorphic() { + return tree.sym.kind == MTH && + types.isSignaturePolymorphic((MethodSymbol)tree.sym); + } + + /** * Does this reference needs a bridge (i.e. var args need to be * expanded or "super" is used) */
--- a/src/share/classes/com/sun/tools/javac/comp/Lower.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/javac/comp/Lower.java Thu Feb 06 16:12:26 2014 +0000 @@ -1378,11 +1378,14 @@ ref = make.Ident(sym); args = make.Idents(md.params); } else { - Symbol msym = sym; - if (sym.owner.isInterface()) { - msym = msym.clone(types.supertype(accessor.owner.type).tsym); + JCExpression site = make.Ident(md.params.head); + if (acode % 2 != 0) { + //odd access codes represent qualified super accesses - need to + //emit reference to the direct superclass, even if the refered + //member is from an indirect superclass (JLS 13.1) + site.setType(types.erasure(types.supertype(vsym.owner.enclClass().type))); } - ref = make.Select(make.Ident(md.params.head), msym); + ref = make.Select(site, sym); args = make.Idents(md.params.tail); } JCStatement stat; // The statement accessing the private symbol.
--- a/src/share/classes/com/sun/tools/javac/comp/Resolve.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/javac/comp/Resolve.java Thu Feb 06 16:12:26 2014 +0000 @@ -1503,7 +1503,7 @@ return ambiguityError(m1, m2); case AMBIGUOUS: //check if m1 is more specific than all ambiguous methods in m2 - AmbiguityError e = (AmbiguityError)m2; + AmbiguityError e = (AmbiguityError)m2.baseSymbol(); for (Symbol s : e.ambiguousSyms) { if (mostSpecific(argtypes, m1, s, env, site, allowBoxing, useVarargs) != m1) { return e.addAmbiguousSymbol(m1); @@ -3055,7 +3055,7 @@ final Symbol lookup(Env<AttrContext> env, MethodResolutionPhase phase) { Symbol sym = doLookup(env, phase); if (sym.kind == AMBIGUOUS) { - AmbiguityError a_err = (AmbiguityError)sym; + AmbiguityError a_err = (AmbiguityError)sym.baseSymbol(); sym = a_err.mergeAbstracts(site); } return sym; @@ -3125,7 +3125,7 @@ Symbol access(Env<AttrContext> env, DiagnosticPosition pos, Symbol location, Symbol sym) { if (sym.kind == AMBIGUOUS) { - AmbiguityError a_err = (AmbiguityError)sym; + AmbiguityError a_err = (AmbiguityError)sym.baseSymbol(); sym = a_err.mergeAbstracts(site); } //skip error reporting @@ -3992,7 +3992,7 @@ private List<Symbol> flatten(Symbol sym) { if (sym.kind == AMBIGUOUS) { - return ((AmbiguityError)sym).ambiguousSyms; + return ((AmbiguityError)sym.baseSymbol()).ambiguousSyms; } else { return List.of(sym); }
--- a/src/share/classes/com/sun/tools/javac/comp/TransTypes.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/javac/comp/TransTypes.java Thu Feb 06 16:12:26 2014 +0000 @@ -586,7 +586,7 @@ try { currentMethod = null; tree.params = translate(tree.params); - tree.body = translate(tree.body, null); + tree.body = translate(tree.body, tree.body.type==null? null : erasure(tree.body.type)); tree.type = erasure(tree.type); result = tree; }
--- a/src/share/classes/com/sun/tools/javac/file/RegularFileObject.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/javac/file/RegularFileObject.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java Thu Feb 06 16:12:26 2014 +0000 @@ -1174,9 +1174,8 @@ } // counter for number of generic local variables - int nGenericVars = 0; - - if (code.varBufferSize > 0) { + if (code.varDebugInfo && code.varBufferSize > 0) { + int nGenericVars = 0; int alenIdx = writeAttr(names.LocalVariableTable); databuf.appendChar(code.getLVTSize()); for (int i=0; i<code.varBufferSize; i++) { @@ -1195,37 +1194,38 @@ Type vartype = sym.erasure(types); databuf.appendChar(pool.put(typeSig(vartype))); databuf.appendChar(var.reg); - if (needsLocalVariableTypeEntry(var.sym.type)) + if (needsLocalVariableTypeEntry(var.sym.type)) { nGenericVars++; + } } } endAttr(alenIdx); acount++; - } - if (nGenericVars > 0) { - int alenIdx = writeAttr(names.LocalVariableTypeTable); - databuf.appendChar(nGenericVars); - int count = 0; + if (nGenericVars > 0) { + alenIdx = writeAttr(names.LocalVariableTypeTable); + databuf.appendChar(nGenericVars); + int count = 0; - for (int i=0; i<code.varBufferSize; i++) { - Code.LocalVar var = code.varBuffer[i]; - VarSymbol sym = var.sym; - if (!needsLocalVariableTypeEntry(sym.type)) - continue; - for (Code.LocalVar.Range r : var.aliveRanges) { - // write variable info - databuf.appendChar(r.start_pc); - databuf.appendChar(r.length); - databuf.appendChar(pool.put(sym.name)); - databuf.appendChar(pool.put(typeSig(sym.type))); - databuf.appendChar(var.reg); - count++; + for (int i=0; i<code.varBufferSize; i++) { + Code.LocalVar var = code.varBuffer[i]; + VarSymbol sym = var.sym; + if (!needsLocalVariableTypeEntry(sym.type)) + continue; + for (Code.LocalVar.Range r : var.aliveRanges) { + // write variable info + databuf.appendChar(r.start_pc); + databuf.appendChar(r.length); + databuf.appendChar(pool.put(sym.name)); + databuf.appendChar(pool.put(typeSig(sym.type))); + databuf.appendChar(var.reg); + count++; + } } + Assert.check(count == nGenericVars); + endAttr(alenIdx); + acount++; } - Assert.check(count == nGenericVars); - endAttr(alenIdx); - acount++; } if (code.stackMapBufferSize > 0) {
--- a/src/share/classes/com/sun/tools/javac/jvm/Gen.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/javac/jvm/Gen.java Thu Feb 06 16:12:26 2014 +0000 @@ -2420,7 +2420,7 @@ if (isInvokeDynamic(sym)) { result = items.makeDynamicItem(sym); return; - } else if (!accessSuper) { + } else { sym = binaryQualifier(sym, tree.selected.type); } if ((sym.flags() & STATIC) != 0) {
--- a/src/share/classes/com/sun/tools/javac/parser/DocCommentParser.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/javac/parser/DocCommentParser.java Thu Feb 06 16:12:26 2014 +0000 @@ -280,7 +280,7 @@ try { nextChar(); if (isIdentifierStart(ch)) { - Name name = readIdentifier(); + Name name = readTagName(); TagParser tp = tagParsers.get(name); if (tp == null) { List<DCTree> content = blockContent(); @@ -329,7 +329,7 @@ try { nextChar(); if (isIdentifierStart(ch)) { - Name name = readIdentifier(); + Name name = readTagName(); skipWhitespace(); TagParser tp = tagParsers.get(name); @@ -905,6 +905,14 @@ return names.fromChars(buf, start, bp - start); } + protected Name readTagName() { + int start = bp; + nextChar(); + while (bp < buflen && (Character.isUnicodeIdentifierPart(ch) || ch == '.')) + nextChar(); + return names.fromChars(buf, start, bp - start); + } + protected boolean isJavaIdentifierStart(char ch) { return Character.isJavaIdentifierStart(ch); }
--- a/src/share/classes/com/sun/tools/javac/parser/JavacParser.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/javac/parser/JavacParser.java Thu Feb 06 16:12:26 2014 +0000 @@ -1596,6 +1596,7 @@ // Identifier, ')' '->' -> implicit lambda return ParensResult.IMPLICIT_LAMBDA; } + type = false; break; case FINAL: case ELLIPSIS:
--- a/src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties Thu Feb 06 16:12:26 2014 +0000 @@ -72,21 +72,21 @@ compiler.err.already.defined.in.clinit={0} {1}\u306F\u3059\u3067\u306B{3} {4}\u306E{2}\u3067\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059 # 0: string -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 +compiler.err.already.defined.single.import=\u540C\u3058\u5358\u7D14\u540D\u306E\u578B\u304C{0}\u306E\u5358\u4E00\u578B\u30A4\u30F3\u30DD\u30FC\u30C8\u306B\u3088\u3063\u3066\u3059\u3067\u306B\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059 # 0: string -compiler.err.already.defined.static.single.import={0}\u306Fstatic\u306E\u5358\u4E00\u306E\u578B\u30A4\u30F3\u30DD\u30FC\u30C8\u5BA3\u8A00\u3067\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059 +compiler.err.already.defined.static.single.import=\u540C\u3058\u5358\u7D14\u540D\u306E\u578B\u304C{0}\u306Estatic\u5358\u4E00\u578B\u30A4\u30F3\u30DD\u30FC\u30C8\u306B\u3088\u3063\u3066\u3059\u3067\u306B\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059 compiler.err.already.defined.this.unit={0}\u306F\u30B3\u30F3\u30D1\u30A4\u30EB\u5358\u4F4D\u3067\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059 # 0: type, 1: list of name -compiler.err.annotation.missing.default.value=\u6CE8\u91C8{0}\u306B\u306F\u5C5E\u6027{1}\u306E\u5024\u304C\u3042\u308A\u307E\u305B\u3093 +compiler.err.annotation.missing.default.value=\u6CE8\u91C8@{0}\u306B\u306F\u8981\u7D20''{1}''\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u304C\u3042\u308A\u307E\u305B\u3093 # 0: type, 1: list of name -compiler.err.annotation.missing.default.value.1=\u6CE8\u91C8{0}\u306B\u306F\u5C5E\u6027{1}\u306E\u5024\u304C\u3042\u308A\u307E\u305B\u3093 +compiler.err.annotation.missing.default.value.1=\u6CE8\u91C8@{0}\u306B\u306F\u8981\u7D20{1}\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u304C\u3042\u308A\u307E\u305B\u3093 # 0: type -compiler.err.annotation.not.valid.for.type=\u6CE8\u91C8\u306F\u578B{0}\u306E\u5024\u306B\u6709\u52B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093 +compiler.err.annotation.not.valid.for.type=\u6CE8\u91C8\u306F\u578B{0}\u306E\u8981\u7D20\u306B\u5BFE\u3057\u3066\u6709\u52B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093 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 @@ -112,7 +112,7 @@ # 0: type 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 -compiler.err.attribute.value.must.be.constant=\u5C5E\u6027\u306E\u5024\u306F\u5B9A\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059 +compiler.err.attribute.value.must.be.constant=\u8981\u7D20\u5024\u306F\u5B9A\u6570\u5F0F\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059 # 0: statement type compiler.err.bad.initializer={0}\u306E\u4E0D\u6B63\u306A\u521D\u671F\u5316\u5B50 @@ -223,62 +223,61 @@ # 0: symbol compiler.err.cyclic.inheritance={0}\u3092\u542B\u3080\u7D99\u627F\u304C\u30EB\u30FC\u30D7\u3057\u3066\u3044\u307E\u3059 -compiler.err.cyclic.annotation.element=\u6CE8\u91C8\u306E\u8981\u7D20\u30BF\u30A4\u30D7\u304C\u30EB\u30FC\u30D7\u3057\u3066\u3044\u307E\u3059 +# 0: symbol +compiler.err.cyclic.annotation.element=\u8981\u7D20{0}\u306E\u578B\u304C\u30EB\u30FC\u30D7\u3057\u3066\u3044\u307E\u3059 # 0: unused 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\u51FA\u3057\u306F\u3067\u304D\u307E\u305B\u3093 # 0: type -compiler.err.no.superclass={0}\u306B\u306F\u30B9\u30FC\u30D1\u30FC\u30AF\u30E9\u30B9\u304C\u3042\u308A\u307E\u305B\u3093 +compiler.err.no.superclass={0}\u306B\u306F\u30B9\u30FC\u30D1\u30FC\u30AF\u30E9\u30B9\u304C\u3042\u308A\u307E\u305B\u3093\u3002 # 0: symbol, 1: type, 2: symbol, 3: type, 4: unused compiler.err.concrete.inheritance.conflict={1}\u306E\u30E1\u30BD\u30C3\u30C9{0}\u3068{3}\u306E{2}\u306F\u540C\u3058\u30B7\u30B0\u30CD\u30C1\u30E3\u304B\u3089\u7D99\u627F\u3055\u308C\u3066\u3044\u307E\u3059 -compiler.err.default.allowed.in.intf.annotation.member=\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306F@interface\u30E1\u30F3\u30D0\u30FC\u5185\u3067\u306E\u307F\u4F7F\u7528\u3067\u304D\u307E\u3059 +compiler.err.default.allowed.in.intf.annotation.member=\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306F\u6CE8\u91C8\u578B\u306E\u5BA3\u8A00\u3067\u306E\u307F\u4F7F\u7528\u3067\u304D\u307E\u3059 # 0: symbol compiler.err.doesnt.exist=\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u306F\u5B58\u5728\u3057\u307E\u305B\u3093 -compiler.err.duplicate.annotation=\u6CE8\u91C8\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059 - # 0: type -compiler.err.duplicate.annotation.invalid.repeated=\u6CE8\u91C8{0}\u3092\u7E70\u308A\u8FD4\u305B\u307E\u305B\u3093\n\u6709\u52B9\u306A\u5305\u542B\u3059\u308B\u6CE8\u91C8\u304C\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 +compiler.err.duplicate.annotation.invalid.repeated=\u6CE8\u91C8{0}\u306F\u6709\u52B9\u306A\u7E70\u8FD4\u3057\u53EF\u80FD\u306A\u6CE8\u91C8\u3067\u306F\u3042\u308A\u307E\u305B\u3093 # 0: name, 1: type -compiler.err.duplicate.annotation.member.value={1}\u306E\u6CE8\u91C8\u30E1\u30F3\u30D0\u30FC\u306E\u5024{0}\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059 - -# 0: type, 1: type -compiler.err.duplicate.annotation.missing.container=\u6CE8\u91C8\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: {0}\u306E\u5BA3\u8A00\u306B\u306F\u6709\u52B9\u306A{1}\u6CE8\u91C8\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093 - -# 0: type -compiler.err.invalid.repeatable.annotation=\u6CE8\u91C8\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: {0}\u306F\u7121\u52B9\u306A\u7E70\u8FD4\u3057\u53EF\u80FD\u6CE8\u91C8\u3067\u6CE8\u91C8\u4ED8\u3051\u3055\u308C\u3066\u3044\u307E\u3059 +compiler.err.duplicate.annotation.member.value=\u6CE8\u91C8@{1}\u306B\u91CD\u8907\u3057\u305F\u8981\u7D20''{0}''\u304C\u3042\u308A\u307E\u3059\u3002 + +# 0: name, 1: unused +compiler.err.duplicate.annotation.missing.container={0}\u306F\u7E70\u8FD4\u3057\u53EF\u80FD\u306A\u6CE8\u91C8\u578B\u3067\u306F\u3042\u308A\u307E\u305B\u3093 + +# 0: type, 1: unused +compiler.err.invalid.repeatable.annotation=\u6CE8\u91C8\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: {0}\u306F\u7121\u52B9\u306A@Repeatable\u6CE8\u91C8\u3067\u6CE8\u91C8\u4ED8\u3051\u3055\u308C\u3066\u3044\u307E\u3059 # 0: symbol or type -compiler.err.invalid.repeatable.annotation.no.value=\u6CE8\u91C8\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: {0}\u306F\u6709\u52B9\u306A\u7E70\u8FD4\u3057\u53EF\u80FD\u306A\u3082\u306E\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u5024\u8981\u7D20\u30E1\u30BD\u30C3\u30C9\u304C\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u305B\u3093 +compiler.err.invalid.repeatable.annotation.no.value={0}\u306F\u6709\u52B9\u306A@Repeatable\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u5024\u8981\u7D20\u30E1\u30BD\u30C3\u30C9\u304C\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u305B\u3093 # 0: type, 1: number -compiler.err.invalid.repeatable.annotation.multiple.values=\u6CE8\u91C8\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: {0}\u306F\u6709\u52B9\u306A\u7E70\u8FD4\u3057\u53EF\u80FD\u306A\u3082\u306E\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002{1}\u5024\u8981\u7D20\u30E1\u30BD\u30C3\u30C9\u304C\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u3059 +compiler.err.invalid.repeatable.annotation.multiple.values={0}\u306F\u6709\u52B9\u306A@Repeatable\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002{1}\u8981\u7D20\u30E1\u30BD\u30C3\u30C9''value''\u304C\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u3059 # 0: type -compiler.err.invalid.repeatable.annotation.invalid.value=\u6CE8\u91C8\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: {0}\u306F\u6709\u52B9\u306A\u7E70\u8FD4\u3057\u53EF\u80FD\u306A\u3082\u306E\u3067\u306F\u3042\u308A\u307E\u305B\u3093: \u5024\u8981\u7D20\u304C\u7121\u52B9\u3067\u3059 - -# 0: symbol type, 1: type, 2: type -compiler.err.invalid.repeatable.annotation.value.return=\u6CE8\u91C8\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: \u5305\u542B\u3059\u308B\u6CE8\u91C8{0}\u306E\u5024\u8981\u7D20\u306B\u306F\u578B{2}\u3092\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002{1}\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F +compiler.err.invalid.repeatable.annotation.invalid.value={0}\u306F\u6709\u52B9\u306A@Repeatable\u3067\u306F\u3042\u308A\u307E\u305B\u3093: \u5024\u8981\u7D20\u304C\u7121\u52B9\u3067\u3059 + +# 0: symbol type, 1: unused, 2: type +compiler.err.invalid.repeatable.annotation.value.return=\u5305\u542B\u3059\u308B\u6CE8\u91C8\u578B({0})\u306F\u578B{2}\u306E\u8981\u7D20''value''\u3092\u5BA3\u8A00\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059 # 0: symbol or type, 1: symbol -compiler.err.invalid.repeatable.annotation.elem.nondefault=\u5305\u542B\u3059\u308B\u6CE8\u91C8{0}\u306B\u306F\u8981\u7D20{1}\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093 - -# 0: symbol, 1: type, 2: symbol, 3: type -compiler.err.invalid.repeatable.annotation.retention=\u5305\u542B\u3059\u308B\u6CE8\u91C8{0}\u306B\u306F\u3001\u4FDD\u6709{3}\u3092\u542B\u3080\u5305\u542B\u3055\u308C\u305F\u6CE8\u91C8{2}\u3088\u308A\u77ED\u3044\u4FDD\u6709({1})\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059 +compiler.err.invalid.repeatable.annotation.elem.nondefault=\u5305\u542B\u3059\u308B\u6CE8\u91C8\u578B{0}\u306B\u306F\u8981\u7D20{1}\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093 + +# 0: symbol, 1: unused, 2: symbol, 3: unused +compiler.err.invalid.repeatable.annotation.retention=\u5305\u542B\u3059\u308B\u6CE8\u91C8\u578B({0})\u306E\u4FDD\u6709\u304C\u3001\u7E70\u8FD4\u3057\u53EF\u80FD\u306A\u6CE8\u91C8\u578B({2})\u306E\u4FDD\u6709\u3088\u308A\u77ED\u304F\u306A\u3063\u3066\u3044\u307E\u3059 # 0: symbol, 1: symbol -compiler.err.invalid.repeatable.annotation.not.documented=\u7E70\u308A\u8FD4\u3055\u308C\u305F\u6CE8\u91C8{1}\u306F@Documented\u3067\u3059\u304C\u3001\u5305\u542B\u3059\u308B\u6CE8\u91C8\u30BF\u30A4\u30D7{0}\u306F\u9055\u3044\u307E\u3059 +compiler.err.invalid.repeatable.annotation.not.documented=\u7E70\u8FD4\u3057\u53EF\u80FD\u306A\u6CE8\u91C8\u578B({1})\u306F@Documented\u3067\u3059\u304C\u3001\u5305\u542B\u3059\u308B\u6CE8\u91C8\u578B({0})\u306F\u9055\u3044\u307E\u3059 # 0: symbol, 1: symbol -compiler.err.invalid.repeatable.annotation.not.inherited=\u308A\u8FD4\u3055\u308C\u305F\u6CE8\u91C8\u30BF\u30A4\u30D7{1}\u306F@Inherited\u3067\u3059\u304C\u3001\u5305\u542B\u3059\u308B\u6CE8\u91C8\u30BF\u30A4\u30D7{0}\u306F\u9055\u3044\u307E\u3059 +compiler.err.invalid.repeatable.annotation.not.inherited=\u7E70\u8FD4\u3057\u53EF\u80FD\u306A\u6CE8\u91C8\u578B({1})\u306F@Inherited\u3067\u3059\u304C\u3001\u5305\u542B\u3059\u308B\u6CE8\u91C8\u578B({0})\u306F\u9055\u3044\u307E\u3059 # 0: symbol, 1: symbol -compiler.err.invalid.repeatable.annotation.incompatible.target=\u30B3\u30F3\u30C6\u30CA\u6CE8\u91C8{0}\u306E\u30BF\u30FC\u30B2\u30C3\u30C8\u306F\u3001\u7E70\u308A\u8FD4\u3055\u308C\u305F\u6CE8\u91C8{1}\u306E\u30BF\u30FC\u30B2\u30C3\u30C8\u306E\u30B5\u30D6\u30BB\u30C3\u30C8\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002 +compiler.err.invalid.repeatable.annotation.incompatible.target=\u5305\u542B\u3059\u308B\u6CE8\u91C8\u578B({0})\u306F\u3001\u7E70\u8FD4\u3057\u53EF\u80FD\u306A\u6CE8\u91C8\u578B({1})\u3088\u308A\u591A\u304F\u306E\u30BF\u30FC\u30B2\u30C3\u30C8\u306B\u9069\u7528\u3055\u308C\u307E\u3059 # 0: symbol compiler.err.invalid.repeatable.annotation.repeated.and.container.present=\u30B3\u30F3\u30C6\u30CA{0}\u306F\u542B\u307E\u308C\u3066\u3044\u308B\u8981\u7D20\u3068\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093 @@ -408,20 +407,24 @@ # 0: number compiler.err.int.number.too.large=\u6574\u6570{0}\u304C\u5927\u304D\u3059\u304E\u307E\u3059 -compiler.err.intf.annotation.members.cant.have.params=@interface\u30E1\u30F3\u30D0\u30FC\u304C\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093 - -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 - -compiler.err.intf.annotation.members.cant.have.type.params=@interface\u30E1\u30F3\u30D0\u30FC\u304C\u578B\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093 +compiler.err.intf.annotation.members.cant.have.params=\u6CE8\u91C8\u578B\u5BA3\u8A00\u5185\u306E\u8981\u7D20\u304C\u4EEE\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u5BA3\u8A00\u3067\u304D\u307E\u305B\u3093 + +# 0: symbol +compiler.err.intf.annotation.cant.have.type.params=\u6CE8\u91C8\u578B{0}\u306F\u6C4E\u7528\u306B\u3067\u304D\u307E\u305B\u3093 + +compiler.err.intf.annotation.members.cant.have.type.params=\u6CE8\u91C8\u578B\u5BA3\u8A00\u5185\u306E\u8981\u7D20\u306F\u6C4E\u7528\u30E1\u30BD\u30C3\u30C9\u306B\u3067\u304D\u307E\u305B\u3093 # 0: symbol, 1: type -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.annotation.member.clash=\u6CE8\u91C8\u578B{1}\u3067\u30E1\u30BD\u30C3\u30C9{0}\u3068\u540C\u3058\u540D\u524D\u306E\u8981\u7D20\u304C\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u3059 compiler.err.intf.expected.here=\u3053\u3053\u306B\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u304C\u5FC5\u8981\u3067\u3059 +compiler.err.intf.or.array.expected.here=\u3053\u3053\u306B\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u307E\u305F\u306F\u914D\u5217\u578B\u304C\u5FC5\u8981\u3067\u3059 + compiler.err.intf.meth.cant.have.body=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u62BD\u8C61\u30E1\u30BD\u30C3\u30C9\u304C\u672C\u4F53\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093 -compiler.err.invalid.annotation.member.type=\u6CE8\u91C8\u30E1\u30F3\u30D0\u30FC\u306E\u578B\u304C\u4E0D\u6B63\u3067\u3059 +# 0: symbol +compiler.err.invalid.annotation.member.type=\u6CE8\u91C8\u578B\u306E\u8981\u7D20{0}\u306E\u578B\u304C\u7121\u52B9\u3067\u3059 compiler.err.invalid.binary.number=2\u9032\u6570\u5B57\u306F\u5C11\u306A\u304F\u3068\u30821\u6841\u306E2\u9032\u6570\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059 @@ -531,9 +534,6 @@ compiler.misc.incompatible.arg.types.in.mref=\u30E1\u30BD\u30C3\u30C9\u53C2\u7167\u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u578B\u306F\u4E0D\u9069\u5408\u3067\u3059 -# 0: list of type, 1: message segment -compiler.misc.bad.arg.types.in.lambda=\u63A8\u5B9A\u30D1\u30E9\u30E1\u30FC\u30BF\u578B\u3067\u306F\u30E9\u30E0\u30C0\u5F0F\u306E\u578B\u30C1\u30A7\u30C3\u30AF\u3092\u5B9F\u884C\u3067\u304D\u307E\u305B\u3093\n\u63A8\u5B9A\u578B: {0} - 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\u30FC{0}\u304C\u3042\u308A\u307E\u305B\u3093 @@ -998,6 +998,9 @@ # 0: symbol compiler.warn.missing.SVUID=\u76F4\u5217\u5316\u53EF\u80FD\u306A\u30AF\u30E9\u30B9{0}\u306B\u306F\u3001serialVersionUID\u304C\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u305B\u3093 +# 0: symbol, 1: symbol, 2: symbol, 3: symbol +compiler.warn.potentially.ambiguous.overload={1}\u5185\u306E{0}\u306F{3}\u5185\u306E{2}\u3068\u77DB\u76FE\u3059\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059 + # 0: message segment compiler.warn.override.varargs.missing={0}\u3002\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3055\u308C\u305F\u30E1\u30BD\u30C3\u30C9\u306B\u306F''...''\u304C\u3042\u308A\u307E\u305B\u3093 @@ -1215,6 +1218,7 @@ # 0: symbol, 1: message segment compiler.err.cant.access={0}\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\n{1} +# 0: file name, 1: message segment compiler.misc.bad.class.file.header=\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB{0}\u306F\u4E0D\u6B63\u3067\u3059\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 # 0: file name, 1: message segment @@ -1244,6 +1248,12 @@ compiler.misc.class.file.not.found={0}\u306E\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093 +# 0: classfile major version, 1: classfile minor version +compiler.misc.invalid.default.interface=\u30D0\u30FC\u30B8\u30E7\u30F3{0}.{1}\u306E\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306B\u30C7\u30D5\u30A9\u30EB\u30C8\u30FB\u30E1\u30BD\u30C3\u30C9\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F + +# 0: classfile major version, 1: classfile minor version +compiler.misc.invalid.static.interface=\u30D0\u30FC\u30B8\u30E7\u30F3{0}.{1}\u306E\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306Bstatic\u30E1\u30BD\u30C3\u30C9\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F + # 0: name compiler.misc.file.doesnt.contain.class=\u30D5\u30A1\u30A4\u30EB\u306B\u30AF\u30E9\u30B9{0}\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u305B\u3093 @@ -1362,9 +1372,6 @@ # 0: type, 1: list of type compiler.misc.inferred.do.not.conform.to.eq.bounds=\u63A8\u8AD6\u578B\u304C\u7B49\u4FA1\u5236\u7D04\u306B\u9069\u5408\u3057\u307E\u305B\u3093\n\u63A8\u8AD6: {0}\n\u7B49\u4FA1\u5236\u7D04: {1} -# 0: list of type -compiler.misc.cyclic.inference=\u63A8\u8AD6\u306E\u30EB\u30FC\u30D7\u306E\u305F\u3081\u3001\u63A8\u8AD6\u5909\u6570{0}\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u751F\u6210\u3067\u304D\u307E\u305B\u3093 - # 0: symbol compiler.misc.diamond={0}<> @@ -1374,6 +1381,9 @@ # 0: unused compiler.misc.diamond.and.explicit.params=\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306E\u660E\u793A\u7684\u306A\u578B\u30D1\u30E9\u30E1\u30FC\u30BF\u3067\u306F''<>''\u3092\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093 +# 0: unused +compiler.misc.mref.infer.and.explicit.params=\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306E\u660E\u793A\u7684\u306A\u578B\u30D1\u30E9\u30E1\u30FC\u30BF\u3067\u306Fraw\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u53C2\u7167\u3092\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093 + # 0: type, 1: list of type compiler.misc.explicit.param.do.not.conform.to.bounds=\u660E\u793A\u7684\u306A\u578B\u5F15\u6570{0}\u306F\u3001\u5BA3\u8A00\u3055\u308C\u305F\u5883\u754C{1}\u306B\u9069\u5408\u3057\u307E\u305B\u3093 @@ -1574,6 +1584,8 @@ compiler.warn.underscore.as.identifier=\u8B58\u5225\u5B50\u3068\u3057\u3066''_''\u304C\u4F7F\u7528\u3055\u308C\u307E\u3057\u305F\n(\u8B58\u5225\u5B50\u3068\u3057\u3066\u306E''_''\u306E\u4F7F\u7528\u306F\u3001Java SE 8\u3088\u308A\u5F8C\u306E\u30EA\u30EA\u30FC\u30B9\u3067\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059) +compiler.err.underscore.as.identifier.in.lambda=''_''\u304C\u8B58\u5225\u5B50\u3068\u3057\u3066\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059\n(\u30E9\u30E0\u30C0\u30FB\u30D1\u30E9\u30E1\u30FC\u30BF\u3067\u306F''_''\u3092\u8B58\u5225\u5B50\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u7981\u6B62\u3055\u308C\u3066\u3044\u307E\u3059) + compiler.err.enum.as.identifier=\u30EA\u30EA\u30FC\u30B95\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\u4EE5\u524D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044) compiler.err.assert.as.identifier=\u30EA\u30EA\u30FC\u30B91.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\u4EE5\u524D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044) @@ -1585,11 +1597,12 @@ compiler.err.receiver.parameter.not.applicable.constructor.toplevel.class=\u53D7\u53D6\u308A\u5074\u30D1\u30E9\u30E1\u30FC\u30BF\u306F\u6700\u4E0A\u4F4D\u30EC\u30D9\u30EB\u30FB\u30AF\u30E9\u30B9\u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306B\u9069\u7528\u3067\u304D\u307E\u305B\u3093 # TODO 308: make a better error message -compiler.err.cant.annotate.static.class=\u5305\u542B\u3059\u308Bstatic\u306E\u30CD\u30B9\u30C8\u3055\u308C\u305F\u30AF\u30E9\u30B9\u306F\u6CE8\u91C8\u4ED8\u3051\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093 +# 0: symbol +compiler.err.cant.type.annotate.scoping.1=\u30B9\u30B3\u30FC\u30D7\u30FB\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30C8\u3092\u578B\u4F7F\u7528\u6CE8\u91C8\u3067\u6CE8\u91C8\u4ED8\u3051\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093: {0} # TODO 308: make a better error message -# 0: unused -compiler.err.cant.annotate.nested.type=static\u306E\u30CD\u30B9\u30C8\u3055\u308C\u305F\u30BF\u30A4\u30D7\u306E\u30B9\u30B3\u30FC\u30D7\u30FB\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30C8\u306B\u306F\u6CE8\u91C8\u4ED8\u3051\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093 +# 0: list of symbol +compiler.err.cant.type.annotate.scoping=\u30B9\u30B3\u30FC\u30D7\u30FB\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30C8\u3092\u578B\u4F7F\u7528\u6CE8\u91C8\u3067\u6CE8\u91C8\u4ED8\u3051\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093: {0} # 0: type, 1: type compiler.err.incorrect.receiver.name=\u53D7\u53D6\u308A\u5074\u306E\u540D\u524D\u304C\u3001\u5305\u542B\u3059\u308B\u30AF\u30E9\u30B9\u30FB\u30BF\u30A4\u30D7\u3068\u4E00\u81F4\u3057\u307E\u305B\u3093\n\u5FC5\u9808: {0}\n\u691C\u51FA: {1} @@ -1618,7 +1631,10 @@ compiler.err.type.annotations.not.supported.in.source=\u30BF\u30A4\u30D7\u6CE8\u91C8\u306F-source {0}\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(\u30BF\u30A4\u30D7\u6CE8\u91C8\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 8\u4EE5\u4E0A\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044) # 0: string -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.repeatable.annotations.not.supported.in.source=\u7E70\u8FD4\u3057\u6CE8\u91C8\u306F-source {0}\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(\u7E70\u8FD4\u3057\u6CE8\u91C8\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 8\u4EE5\u4E0A\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044) + +# 0: string +compiler.err.foreach.not.supported.in.source=\u62E1\u5F35for\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) # 0: string 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)
--- a/src/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties Thu Feb 06 16:12:26 2014 +0000 @@ -72,21 +72,21 @@ compiler.err.already.defined.in.clinit=\u5DF2\u5728{3} {4}\u7684{2}\u4E2D\u5B9A\u4E49\u4E86{0} {1} # 0: string -compiler.err.already.defined.single.import=\u5DF2\u5728 single-type \u5BFC\u5165\u4E2D\u5B9A\u4E49{0} +compiler.err.already.defined.single.import={0}\u7684 single-type-import \u5DF2\u5B9A\u4E49\u5177\u6709\u76F8\u540C\u7B80\u540D\u7684\u7C7B\u578B # 0: string -compiler.err.already.defined.static.single.import=\u5DF2\u5728\u9759\u6001 single-type \u5BFC\u5165\u4E2D\u5B9A\u4E49{0} +compiler.err.already.defined.static.single.import={0}\u7684\u9759\u6001 single-type-import \u5DF2\u5B9A\u4E49\u5177\u6709\u76F8\u540C\u7B80\u540D\u7684\u7C7B\u578B compiler.err.already.defined.this.unit=\u5DF2\u5728\u8BE5\u7F16\u8BD1\u5355\u5143\u4E2D\u5B9A\u4E49{0} # 0: type, 1: list of name -compiler.err.annotation.missing.default.value=\u5BF9\u4E8E\u5C5E\u6027{1}, \u6CE8\u91CA{0}\u7F3A\u5C11\u503C +compiler.err.annotation.missing.default.value=\u5BF9\u4E8E\u5143\u7D20 ''{1}'', \u6CE8\u91CA @{0} \u7F3A\u5C11\u9ED8\u8BA4\u503C # 0: type, 1: list of name -compiler.err.annotation.missing.default.value.1=\u5BF9\u4E8E\u5C5E\u6027{1}, \u6CE8\u91CA{0}\u7F3A\u5C11\u503C +compiler.err.annotation.missing.default.value.1=\u5BF9\u4E8E\u5143\u7D20{1}, \u6CE8\u91CA @{0} \u7F3A\u5C11\u9ED8\u8BA4\u503C # 0: type -compiler.err.annotation.not.valid.for.type=\u5BF9\u4E8E\u7C7B\u578B\u4E3A{0}\u7684\u503C, \u6CE8\u91CA\u65E0\u6548 +compiler.err.annotation.not.valid.for.type=\u6CE8\u91CA\u5BF9\u4E8E\u7C7B\u578B{0}\u7684\u5143\u7D20\u65E0\u6548 compiler.err.annotation.type.not.applicable=\u6CE8\u91CA\u7C7B\u578B\u4E0D\u9002\u7528\u4E8E\u8BE5\u7C7B\u578B\u7684\u58F0\u660E @@ -112,7 +112,7 @@ # 0: type compiler.err.array.req.but.found=\u9700\u8981\u6570\u7EC4, \u4F46\u627E\u5230{0} -compiler.err.attribute.value.must.be.constant=\u5C5E\u6027\u503C\u5FC5\u987B\u4E3A\u5E38\u91CF +compiler.err.attribute.value.must.be.constant=\u5143\u7D20\u503C\u5FC5\u987B\u4E3A\u5E38\u91CF\u8868\u8FBE\u5F0F # 0: statement type compiler.err.bad.initializer={0}\u7684\u521D\u59CB\u5316\u7A0B\u5E8F\u9519\u8BEF @@ -223,62 +223,61 @@ # 0: symbol compiler.err.cyclic.inheritance=\u6D89\u53CA{0}\u7684\u5FAA\u73AF\u7EE7\u627F -compiler.err.cyclic.annotation.element=\u5FAA\u73AF\u6CE8\u91CA\u5143\u7D20\u7C7B\u578B +# 0: symbol +compiler.err.cyclic.annotation.element=\u5143\u7D20 {0} \u7684\u7C7B\u578B\u4E3A\u5FAA\u73AF # 0: unused compiler.err.call.to.super.not.allowed.in.enum.ctor=\u5728\u679A\u4E3E\u6784\u9020\u5668\u4E2D\u4E0D\u5141\u8BB8\u8C03\u7528\u8D85\u7C7B # 0: type -compiler.err.no.superclass={0}\u4E0D\u5177\u6709\u8D85\u7C7B +compiler.err.no.superclass={0}\u4E0D\u5177\u6709\u8D85\u7C7B\u3002 # 0: symbol, 1: type, 2: symbol, 3: type, 4: unused 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.default.allowed.in.intf.annotation.member=\u6CE8\u91CA\u7C7B\u578B\u58F0\u660E\u4E2D\u4EC5\u5141\u8BB8\u9ED8\u8BA4\u503C # 0: symbol compiler.err.doesnt.exist=\u7A0B\u5E8F\u5305{0}\u4E0D\u5B58\u5728 -compiler.err.duplicate.annotation=\u6CE8\u91CA\u91CD\u590D - # 0: type -compiler.err.duplicate.annotation.invalid.repeated=\u65E0\u6CD5\u91CD\u590D\u6CE8\u91CA{0}\n\u5B83\u6CA1\u6709\u5B9A\u4E49\u6709\u6548\u7684\u5305\u542B\u6CE8\u91CA\u3002 +compiler.err.duplicate.annotation.invalid.repeated=\u6CE8\u91CA{0}\u4E0D\u662F\u6709\u6548\u7684\u53EF\u91CD\u590D\u6CE8\u91CA # 0: name, 1: type -compiler.err.duplicate.annotation.member.value={1}\u4E2D\u7684\u6CE8\u91CA\u6210\u5458\u503C{0}\u91CD\u590D - -# 0: type, 1: type -compiler.err.duplicate.annotation.missing.container=\u6CE8\u91CA\u91CD\u590D: {0}\u7684\u58F0\u660E\u6CA1\u6709\u6709\u6548\u7684{1}\u6CE8\u91CA - -# 0: type -compiler.err.invalid.repeatable.annotation=\u6CE8\u91CA\u91CD\u590D: \u4F7F\u7528\u65E0\u6548\u7684 Repeatable \u6CE8\u91CA\u5BF9{0}\u8FDB\u884C\u4E86\u6CE8\u91CA +compiler.err.duplicate.annotation.member.value=\u6CE8\u91CA@{1}\u4E2D\u7684\u5143\u7D20 ''{0}'' \u91CD\u590D\u3002 + +# 0: name, 1: unused +compiler.err.duplicate.annotation.missing.container={0} \u4E0D\u662F\u53EF\u91CD\u590D\u7684\u6CE8\u91CA\u7C7B\u578B + +# 0: type, 1: unused +compiler.err.invalid.repeatable.annotation=\u6CE8\u91CA\u91CD\u590D: \u4F7F\u7528\u65E0\u6548\u7684 @Repeatable \u6CE8\u91CA\u5BF9{0}\u8FDB\u884C\u4E86\u6CE8\u91CA # 0: symbol or type -compiler.err.invalid.repeatable.annotation.no.value=\u6CE8\u91CA\u91CD\u590D: {0}\u4E0D\u662F\u6709\u6548\u7684 Repeatable, \u672A\u58F0\u660E\u4EFB\u4F55\u503C\u5143\u7D20\u65B9\u6CD5 +compiler.err.invalid.repeatable.annotation.no.value={0}\u4E0D\u662F\u6709\u6548\u7684 @Repeatable, \u672A\u58F0\u660E\u4EFB\u4F55\u503C\u5143\u7D20\u65B9\u6CD5 # 0: type, 1: number -compiler.err.invalid.repeatable.annotation.multiple.values=\u6CE8\u91CA\u91CD\u590D: {0}\u4E0D\u662F\u6709\u6548\u7684 Repeatable, \u5DF2\u58F0\u660E {1} \u4E2A\u503C\u5143\u7D20\u65B9\u6CD5 +compiler.err.invalid.repeatable.annotation.multiple.values={0}\u4E0D\u662F\u6709\u6548\u7684 @Repeatable, \u5DF2\u58F0\u660E {1} \u4E2A\u540D\u4E3A ''value'' \u7684\u5143\u7D20\u65B9\u6CD5 # 0: type -compiler.err.invalid.repeatable.annotation.invalid.value=\u6CE8\u91CA\u91CD\u590D: {0}\u4E0D\u662F\u6709\u6548\u7684 Repeatable: \u503C\u5143\u7D20\u65E0\u6548 - -# 0: symbol type, 1: type, 2: type -compiler.err.invalid.repeatable.annotation.value.return=\u6CE8\u91CA\u91CD\u590D: \u5305\u542B\u6CE8\u91CA{0}\u7684\u503C\u5143\u7D20\u5E94\u5177\u6709\u7C7B\u578B{2}, \u4F46\u627E\u5230\u7684\u662F{1} +compiler.err.invalid.repeatable.annotation.invalid.value={0}\u4E0D\u662F\u6709\u6548\u7684 @Repeatable: \u503C\u5143\u7D20\u65E0\u6548 + +# 0: symbol type, 1: unused, 2: type +compiler.err.invalid.repeatable.annotation.value.return=\u5305\u542B\u6CE8\u91CA\u7C7B\u578B ({0}) \u5FC5\u987B\u58F0\u660E\u7C7B\u578B{2}\u7684\u540D\u4E3A ''value'' \u7684\u5143\u7D20 # 0: symbol or type, 1: symbol -compiler.err.invalid.repeatable.annotation.elem.nondefault=\u5305\u542B\u6CE8\u91CA{0}\u6CA1\u6709\u5143\u7D20 {1} \u7684\u9ED8\u8BA4\u503C - -# 0: symbol, 1: type, 2: symbol, 3: type -compiler.err.invalid.repeatable.annotation.retention=\u5305\u542B\u6CE8\u91CA {0} \u7684\u4FDD\u7559\u671F ({1}) \u77ED\u4E8E\u5DF2\u5305\u542B\u6CE8\u91CA {2} \u7684\u4FDD\u7559\u671F ({3}) +compiler.err.invalid.repeatable.annotation.elem.nondefault=\u5BF9\u4E8E\u5143\u7D20 {1}, \u5305\u542B\u6CE8\u91CA\u7C7B\u578B ({0}) \u6CA1\u6709\u9ED8\u8BA4\u503C + +# 0: symbol, 1: unused, 2: symbol, 3: unused +compiler.err.invalid.repeatable.annotation.retention=\u5305\u542B\u6CE8\u91CA\u7C7B\u578B ({0}) \u7684\u4FDD\u7559\u671F\u77ED\u4E8E\u53EF\u91CD\u590D\u6CE8\u91CA\u7C7B\u578B ({2}) \u7684\u4FDD\u7559\u671F # 0: symbol, 1: symbol -compiler.err.invalid.repeatable.annotation.not.documented=\u5305\u542B\u6CE8\u91CA\u7C7B\u578B {0} \u4E0D\u662F @Documented, \u800C\u91CD\u590D\u7684\u6CE8\u91CA\u7C7B\u578B {1} \u4E3A +compiler.err.invalid.repeatable.annotation.not.documented=\u53EF\u91CD\u590D\u6CE8\u91CA\u7C7B\u578B ({1}) \u662F @Documented, \u800C\u5305\u542B\u6CE8\u91CA\u7C7B\u578B ({0}) \u5219\u4E0D\u662F # 0: symbol, 1: symbol -compiler.err.invalid.repeatable.annotation.not.inherited=\u5305\u542B\u6CE8\u91CA\u7C7B\u578B {0} \u4E0D\u662F @Inherited, \u800C\u91CD\u590D\u7684\u6CE8\u91CA\u7C7B\u578B {1} \u4E3A +compiler.err.invalid.repeatable.annotation.not.inherited=\u53EF\u91CD\u590D\u6CE8\u91CA\u7C7B\u578B ({1}) \u662F @Inherited, \u800C\u5305\u542B\u6CE8\u91CA\u7C7B\u578B ({0}) \u5219\u4E0D\u662F # 0: symbol, 1: symbol -compiler.err.invalid.repeatable.annotation.incompatible.target=\u5BB9\u5668\u6CE8\u91CA {0} \u7684\u76EE\u6807\u4E0D\u662F\u91CD\u590D\u6CE8\u91CA {1} \u7684\u76EE\u6807\u5B50\u96C6 +compiler.err.invalid.repeatable.annotation.incompatible.target=\u5305\u542B\u6CE8\u91CA\u7C7B\u578B ({0}) \u9002\u7528\u7684\u76EE\u6807\u591A\u4E8E\u53EF\u91CD\u590D\u6CE8\u91CA\u7C7B\u578B ({1}) # 0: symbol compiler.err.invalid.repeatable.annotation.repeated.and.container.present=\u5BB9\u5668 {0} \u4E0D\u5F97\u4E0E\u5176\u5305\u542B\u7684\u5143\u7D20\u540C\u65F6\u5B58\u5728 @@ -408,20 +407,24 @@ # 0: number compiler.err.int.number.too.large=\u8FC7\u5927\u7684\u6574\u6570: {0} -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.members.cant.have.params=\u6CE8\u91CA\u7C7B\u578B\u58F0\u660E\u4E2D\u7684\u5143\u7D20\u65E0\u6CD5\u58F0\u660E\u5F62\u53C2 + +# 0: symbol +compiler.err.intf.annotation.cant.have.type.params=\u6CE8\u91CA\u7C7B\u578B {0} \u4E0D\u80FD\u4E3A\u6CDB\u578B + +compiler.err.intf.annotation.members.cant.have.type.params=\u6CE8\u91CA\u7C7B\u578B\u58F0\u660E\u4E2D\u7684\u5143\u7D20\u4E0D\u80FD\u4E3A\u6CDB\u578B\u65B9\u6CD5 # 0: symbol, 1: type -compiler.err.intf.annotation.member.clash=@interface \u6210\u5458\u4E0E{1}\u4E2D\u7684\u65B9\u6CD5 ''{0}'' \u51B2\u7A81 +compiler.err.intf.annotation.member.clash=\u6CE8\u91CA\u7C7B\u578B{1}\u58F0\u660E\u4E0E\u65B9\u6CD5 {0} \u540C\u540D\u7684\u5143\u7D20 compiler.err.intf.expected.here=\u6B64\u5904\u9700\u8981\u63A5\u53E3 +compiler.err.intf.or.array.expected.here=\u6B64\u5904\u9884\u671F\u4E3A\u63A5\u53E3\u6216\u6570\u7EC4\u7C7B\u578B + compiler.err.intf.meth.cant.have.body=\u63A5\u53E3\u62BD\u8C61\u65B9\u6CD5\u4E0D\u80FD\u5E26\u6709\u4E3B\u4F53 -compiler.err.invalid.annotation.member.type=\u6CE8\u91CA\u6210\u5458\u7684\u7C7B\u578B\u65E0\u6548 +# 0: symbol +compiler.err.invalid.annotation.member.type=\u6CE8\u91CA\u7C7B\u578B\u5143\u7D20 {0} \u7684\u7C7B\u578B\u65E0\u6548 compiler.err.invalid.binary.number=\u4E8C\u8FDB\u5236\u6570\u5B57\u4E2D\u5FC5\u987B\u5305\u542B\u81F3\u5C11\u4E00\u4E2A\u4E8C\u8FDB\u5236\u6570 @@ -531,9 +534,6 @@ compiler.misc.incompatible.arg.types.in.mref=\u65B9\u6CD5\u5F15\u7528\u4E2D\u7684\u53C2\u6570\u7C7B\u578B\u4E0D\u517C\u5BB9 -# 0: list of type, 1: message segment -compiler.misc.bad.arg.types.in.lambda=\u65E0\u6CD5\u4F7F\u7528\u63A8\u65AD\u53C2\u6570\u7C7B\u578B\u5BF9 lambda \u8868\u8FBE\u5F0F\u8FDB\u884C\u7C7B\u578B\u68C0\u67E5\n\u63A8\u65AD\u7C7B\u578B: {0} - 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} @@ -998,6 +998,9 @@ # 0: symbol compiler.warn.missing.SVUID=\u53EF\u5E8F\u5217\u5316\u7C7B{0}\u6CA1\u6709 serialVersionUID \u7684\u5B9A\u4E49 +# 0: symbol, 1: symbol, 2: symbol, 3: symbol +compiler.warn.potentially.ambiguous.overload={1} \u4E2D\u7684 {0} \u53EF\u80FD\u4E0E {3} \u4E2D\u7684 {2} \u6DF7\u6DC6 + # 0: message segment compiler.warn.override.varargs.missing={0}; \u88AB\u8986\u76D6\u7684\u65B9\u6CD5\u6CA1\u6709 ''...'' @@ -1215,6 +1218,7 @@ # 0: symbol, 1: message segment compiler.err.cant.access=\u65E0\u6CD5\u8BBF\u95EE{0}\n{1} +# 0: file name, 1: message segment compiler.misc.bad.class.file.header=\u9519\u8BEF\u7684\u7C7B\u6587\u4EF6: {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 # 0: file name, 1: message segment @@ -1244,6 +1248,12 @@ compiler.misc.class.file.not.found=\u627E\u4E0D\u5230{0}\u7684\u7C7B\u6587\u4EF6 +# 0: classfile major version, 1: classfile minor version +compiler.misc.invalid.default.interface=\u5728 {0}.{1} \u7248\u7C7B\u6587\u4EF6\u4E2D\u627E\u5230\u9ED8\u8BA4\u65B9\u6CD5 + +# 0: classfile major version, 1: classfile minor version +compiler.misc.invalid.static.interface=\u5728 {0}.{1} \u7248\u7C7B\u6587\u4EF6\u4E2D\u627E\u5230\u9759\u6001\u65B9\u6CD5 + # 0: name compiler.misc.file.doesnt.contain.class=\u6587\u4EF6\u4E0D\u5305\u542B\u7C7B{0} @@ -1362,9 +1372,6 @@ # 0: type, 1: list of type compiler.misc.inferred.do.not.conform.to.eq.bounds=\u63A8\u65AD\u7C7B\u578B\u4E0D\u7B26\u5408\u7B49\u5F0F\u7EA6\u675F\u6761\u4EF6\n\u63A8\u65AD: {0}\n\u7B49\u5F0F\u7EA6\u675F\u6761\u4EF6: {1} -# 0: list of type -compiler.misc.cyclic.inference=\u7531\u4E8E\u63A8\u8BBA\u5FAA\u73AF, \u65E0\u6CD5\u5B9E\u4F8B\u5316\u63A8\u8BBA\u53D8\u91CF{0} - # 0: symbol compiler.misc.diamond={0}<> @@ -1374,6 +1381,9 @@ # 0: unused compiler.misc.diamond.and.explicit.params=\u4E0D\u80FD\u5C06 ''<>'' \u4E0E\u6784\u9020\u5668\u7684\u663E\u5F0F\u7C7B\u578B\u53C2\u6570\u4E00\u8D77\u4F7F\u7528 +# 0: unused +compiler.misc.mref.infer.and.explicit.params=\u4E0D\u80FD\u5C06\u539F\u59CB\u6784\u9020\u5668\u5F15\u7528\u4E0E\u6784\u9020\u5668\u7684\u663E\u5F0F\u7C7B\u578B\u53C2\u6570\u4E00\u8D77\u4F7F\u7528 + # 0: type, 1: list of type compiler.misc.explicit.param.do.not.conform.to.bounds=\u663E\u5F0F\u7C7B\u578B\u53C2\u6570{0}\u4E0D\u7B26\u5408\u58F0\u660E\u7684\u8303\u56F4{1} @@ -1574,6 +1584,8 @@ compiler.warn.underscore.as.identifier=''_'' \u7528\u4F5C\u6807\u8BC6\u7B26\n(Java SE 8 \u4E4B\u540E\u7684\u53D1\u884C\u7248\u4E2D\u53EF\u80FD\u4E0D\u652F\u6301\u4F7F\u7528 ''_'' \u4F5C\u4E3A\u6807\u8BC6\u7B26) +compiler.err.underscore.as.identifier.in.lambda=''_'' \u7528\u4F5C\u6807\u8BC6\u7B26\n(\u5BF9\u4E8E lambda \u53C2\u6570, \u7981\u6B62\u5C06 ''_'' \u7528\u4F5C\u6807\u8BC6\u7B26) + compiler.err.enum.as.identifier=\u4ECE\u53D1\u884C\u7248 5 \u5F00\u59CB, ''enum'' \u4E3A\u5173\u952E\u5B57, \u800C\u4E0D\u7528\u4F5C\u6807\u8BC6\u7B26\n(\u8BF7\u4F7F\u7528 -source 1.4 \u6216\u66F4\u4F4E\u7248\u672C\u4EE5\u5C06 ''enum'' \u7528\u4F5C\u6807\u8BC6\u7B26) compiler.err.assert.as.identifier=\u4ECE\u53D1\u884C\u7248 1.4 \u5F00\u59CB, ''assert'' \u662F\u4E00\u4E2A\u5173\u952E\u5B57, \u4F46\u4E0D\u80FD\u7528\u4F5C\u6807\u8BC6\u7B26\n(\u8BF7\u4F7F\u7528 -source 1.3 \u6216\u66F4\u4F4E\u7248\u672C\u4EE5\u5C06 ''assert'' \u7528\u4F5C\u6807\u8BC6\u7B26) @@ -1585,11 +1597,12 @@ compiler.err.receiver.parameter.not.applicable.constructor.toplevel.class=\u63A5\u6536\u65B9\u53C2\u6570\u4E0D\u9002\u7528\u4E8E\u9876\u5C42\u7C7B\u7684\u6784\u9020\u5668 # TODO 308: make a better error message -compiler.err.cant.annotate.static.class=\u65E0\u6CD5\u5BF9\u5C01\u95ED\u9759\u6001\u5D4C\u5957\u7C7B\u8FDB\u884C\u6CE8\u91CA +# 0: symbol +compiler.err.cant.type.annotate.scoping.1=\u65E0\u6CD5\u4F7F\u7528 type-use \u6CE8\u91CA {0} \u6765\u6CE8\u91CA\u786E\u5B9A\u4F5C\u7528\u57DF\u7ED3\u6784 # TODO 308: make a better error message -# 0: unused -compiler.err.cant.annotate.nested.type=\u65E0\u6CD5\u6CE8\u91CA\u7528\u4E8E\u9759\u6001\u5D4C\u5957\u7C7B\u578B\u7684\u786E\u5B9A\u4F5C\u7528\u57DF\u7ED3\u6784 +# 0: list of symbol +compiler.err.cant.type.annotate.scoping=\u65E0\u6CD5\u4F7F\u7528 type-use \u6CE8\u91CA {0} \u6765\u6CE8\u91CA\u786E\u5B9A\u4F5C\u7528\u57DF\u7ED3\u6784 # 0: type, 1: type compiler.err.incorrect.receiver.name=\u63A5\u6536\u65B9\u540D\u79F0\u4E0E\u5C01\u95ED\u7C7B\u7C7B\u578B\u4E0D\u5339\u914D\n\u9700\u8981: {0}\n\u627E\u5230: {1} @@ -1618,7 +1631,10 @@ compiler.err.type.annotations.not.supported.in.source=-source {0} \u4E2D\u4E0D\u652F\u6301\u7C7B\u578B\u6CE8\u91CA\n(\u8BF7\u4F7F\u7528 -source 8 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528\u7C7B\u578B\u6CE8\u91CA) # 0: string -compiler.err.foreach.not.supported.in.source=-source {0} \u4E2D\u4E0D\u652F\u6301 for-each \u5FAA\u73AF\n(\u8BF7\u4F7F\u7528 -source 5 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528 for-each \u5FAA\u73AF) +compiler.err.repeatable.annotations.not.supported.in.source=-source {0}\u4E2D\u4E0D\u652F\u6301\u91CD\u590D\u6CE8\u91CA\n(\u8BF7\u4F7F\u7528 -source 8 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528\u91CD\u590D\u6CE8\u91CA) + +# 0: string +compiler.err.foreach.not.supported.in.source=-source {0}\u4E2D\u4E0D\u652F\u6301\u589E\u5F3A\u578B for \u5FAA\u73AF\n(\u4F7F\u7528 -source 5 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528 for-each \u5FAA\u73AF) # 0: string compiler.err.static.import.not.supported.in.source=-source {0} \u4E2D\u4E0D\u652F\u6301\u9759\u6001\u5BFC\u5165\u58F0\u660E\n(\u8BF7\u4F7F\u7528 -source 5 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528\u9759\u6001\u5BFC\u5165\u58F0\u660E)
--- a/src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/javac/util/Names.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/javac/util/Names.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/javadoc/AnnotationDescImpl.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/javadoc/AnnotationDescImpl.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java Thu Feb 06 16:12:26 2014 +0000 @@ -288,10 +288,6 @@ return false; } - public boolean isFunctionalInterface() { - return env.types.isFunctionalInterface(tsym) && env.source.allowLambda(); - } - /** * Return the package that this class is contained in. */
--- a/src/share/classes/com/sun/tools/javadoc/ConstructorDocImpl.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/javadoc/ConstructorDocImpl.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/javadoc/DocEnv.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/javadoc/DocEnv.java Thu Feb 06 16:12:26 2014 +0000 @@ -39,6 +39,7 @@ import com.sun.tools.javac.code.Symbol.*; import com.sun.tools.javac.code.Type.ClassType; import com.sun.tools.javac.comp.Check; +import com.sun.tools.javac.file.JavacFileManager; import com.sun.tools.javac.tree.JCTree; import com.sun.tools.javac.tree.JCTree.*; import com.sun.tools.javac.util.Context; @@ -146,6 +147,9 @@ chk = Check.instance(context); types = Types.instance(context); fileManager = context.get(JavaFileManager.class); + if (fileManager instanceof JavacFileManager) { + ((JavacFileManager)fileManager).setSymbolFileEnabled(false); + } // Default. Should normally be reset with setLocale. this.doclocale = new DocLocale(this, "", breakiterator);
--- a/src/share/classes/com/sun/tools/javadoc/RootDocImpl.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/javadoc/RootDocImpl.java Thu Feb 06 16:12:26 2014 +0000 @@ -381,6 +381,11 @@ env.initDoclint(opts, customTagNames); } + public boolean isFunctionalInterface(AnnotationDesc annotationDesc) { + return annotationDesc.annotationType().qualifiedName().equals( + env.syms.functionalInterfaceType.toString()) && env.source.allowLambda(); + } + public boolean showTagMessages() { return env.showTagMessages(); }
--- a/src/share/classes/com/sun/tools/javah/resources/l10n_ja.properties Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/javah/resources/l10n_ja.properties Thu Feb 06 16:12:26 2014 +0000 @@ -55,8 +55,8 @@ main.opt.o=\ -o <file> \u51FA\u529B\u30D5\u30A1\u30A4\u30EB(-d\u304B-o\u306E\u3069\u3061\u3089\u304B\u4E00\u65B9\u3092\u4F7F\u7528\u3059\u308B) main.opt.d=\ -d <dir> \u51FA\u529B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA main.opt.v=\ -v -verbose \u8A73\u7D30\u306A\u51FA\u529B\u3092\u884C\u3046 -main.opt.h=\ -h --help -? \u3053\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u8868\u793A\u3059\u308B -main.opt.version=\ -version \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u8868\u793A\u3059\u308B +main.opt.h=\ -h --help -? \u3053\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3059\u308B +main.opt.version=\ -version \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u51FA\u529B\u3059\u308B main.opt.jni=\ -jni JNI\u5F62\u5F0F\u306E\u30D8\u30C3\u30C0\u30FC\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u751F\u6210\u3059\u308B(\u30C7\u30D5\u30A9\u30EB\u30C8) main.opt.force=\ -force \u5E38\u306B\u51FA\u529B\u30D5\u30A1\u30A4\u30EB\u3092\u66F8\u304D\u8FBC\u3080 main.opt.classpath=\ -classpath <path> \u30AF\u30E9\u30B9\u3092\u30ED\u30FC\u30C9\u3059\u308B\u30D1\u30B9
--- a/src/share/classes/com/sun/tools/jdeps/Archive.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/jdeps/Archive.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/jdeps/ClassFileReader.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/jdeps/ClassFileReader.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/jdeps/JdepsTask.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/jdeps/JdepsTask.java Thu Feb 06 16:12:26 2014 +0000 @@ -180,6 +180,15 @@ task.options.depth = 0; } }, + new Option(false, "-jdkinternals") { + void process(JdepsTask task, String opt, String arg) { + task.options.findJDKInternals = true; + task.options.verbose = Analyzer.Type.CLASS; + if (task.options.includePattern == null) { + task.options.includePattern = Pattern.compile(".*"); + } + } + }, new Option(false, "-version") { void process(JdepsTask task, String opt, String arg) { task.options.version = true; @@ -248,6 +257,11 @@ showHelp(); return EXIT_CMDERR; } + if (options.findJDKInternals && + (options.regex != null || options.packageNames.size() > 0 || options.showSummary)) { + showHelp(); + return EXIT_CMDERR; + } if (options.showSummary && options.verbose != Analyzer.Type.SUMMARY) { showHelp(); return EXIT_CMDERR; @@ -571,6 +585,7 @@ boolean wildcard; boolean apiOnly; boolean showLabel; + boolean findJDKInternals; String dotOutputDir; String classpath = ""; int depth = 1; @@ -681,11 +696,22 @@ @Override public void visitDependence(String origin, Archive source, String target, Archive archive, Profile profile) { - if (!origin.equals(pkg)) { - pkg = origin; - writer.format(" %s (%s)%n", origin, source.getFileName()); + if (options.findJDKInternals && + !(archive instanceof JDKArchive && profile == null)) { + // filter dependences other than JDK internal APIs + return; } - writer.format(" -> %-50s %s%n", target, getProfileArchiveInfo(archive, profile)); + if (options.verbose == Analyzer.Type.VERBOSE) { + writer.format(" %-50s -> %-50s %s%n", + origin, target, getProfileArchiveInfo(archive, profile)); + } else { + if (!origin.equals(pkg)) { + pkg = origin; + writer.format(" %s (%s)%n", origin, source.getFileName()); + } + writer.format(" -> %-50s %s%n", + target, getProfileArchiveInfo(archive, profile)); + } } @Override @@ -717,6 +743,11 @@ @Override public void visitDependence(String origin, Archive source, String target, Archive archive, Profile profile) { + if (options.findJDKInternals && + !(archive instanceof JDKArchive && profile == null)) { + // filter dependences other than JDK internal APIs + return; + } // if -P option is specified, package name -> profile will // be shown and filter out multiple same edges. String name = getProfileArchiveInfo(archive, profile);
--- a/src/share/classes/com/sun/tools/jdeps/resources/jdeps.properties Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/jdeps/resources/jdeps.properties Thu Feb 06 16:12:26 2014 +0000 @@ -59,10 +59,19 @@ main.opt.dotoutput=\ \ -dotoutput <dir> Destination directory for DOT file output +main.opt.jdkinternals=\ +\ -jdkinternals Finds class-level dependences on JDK internal APIs.\n\ +\ By default, it analyzes all classes on -classpath\n\ +\ and input files unless -include option is specified.\n\ +\ This option cannot be used with -p, -e and -s options.\n\ +\ WARNING: JDK internal APIs may not be accessible in\n\ +\ the next release. + main.opt.depth=\ \ -depth=<depth> Specify the depth of the transitive\n\ \ dependency analysis + err.unknown.option=unknown option: {0} err.missing.arg=no value given for {0} err.internal.error=internal error: {0} {1} {2}
--- a/src/share/classes/com/sun/tools/jdeps/resources/jdeps_ja.properties Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/jdeps/resources/jdeps_ja.properties Thu Feb 06 16:12:26 2014 +0000 @@ -1,31 +1,35 @@ main.usage.summary=\u4F7F\u7528\u65B9\u6CD5: {0} <options> <classes...>\n\u4F7F\u7528\u53EF\u80FD\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u30EA\u30B9\u30C8\u306B\u3064\u3044\u3066\u306F\u3001-h\u3001-?\u307E\u305F\u306F--help\u3092\u4F7F\u7528\u3057\u307E\u3059 -main.usage=\u4F7F\u7528\u65B9\u6CD5: {0} <options> <classes...>\n<classes>\u306B\u306F\u3001.class\u30D5\u30A1\u30A4\u30EB\u306E\u30D1\u30B9\u540D\u3001\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3001JAR\u30D5\u30A1\u30A4\u30EB\u3001\u5B8C\u5168\u4FEE\u98FE\u30AF\u30E9\u30B9\u540D\n\u307E\u305F\u306F\u30EF\u30A4\u30EB\u30C9\u30AB\u30FC\u30C9"*"\u3092\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002\u4F7F\u7528\u3067\u304D\u308B\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u6B21\u306E\u3068\u304A\u308A\u3067\u3059: +main.usage=\u4F7F\u7528\u65B9\u6CD5: {0} <options> <classes...>\n<classes>\u306B\u306F\u3001.class\u30D5\u30A1\u30A4\u30EB\u306E\u30D1\u30B9\u540D\u3001\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3001JAR\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u5B8C\u5168\u4FEE\u98FE\n\u30AF\u30E9\u30B9\u540D\u3092\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002\u4F7F\u7528\u3067\u304D\u308B\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u6B21\u306E\u3068\u304A\u308A\u3067\u3059: error.prefix=\u30A8\u30E9\u30FC: warn.prefix=\u8B66\u544A: -main.opt.h=\ -h -? --help \u3053\u306E\u4F7F\u7528\u65B9\u6CD5\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3059\u308B +main.opt.h=\ -h -? -help \u3053\u306E\u4F7F\u7528\u65B9\u6CD5\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3057\u307E\u3059 -main.opt.version=\ --version \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831 +main.opt.version=\ -version \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831 + +main.opt.v=\ -v -verbose \u30AF\u30E9\u30B9\u30FB\u30EC\u30D9\u30EB\u306E\u4F9D\u5B58\u6027\u3092\u3059\u3079\u3066\u51FA\u529B\u3057\u307E\u3059\n -verbose:package \u30D1\u30C3\u30B1\u30FC\u30B8\u30FB\u30EC\u30D9\u30EB\u306E\u4F9D\u5B58\u6027\u3092\u51FA\u529B\u3057\u307E\u3059\n (\u540C\u3058\u30A2\u30FC\u30AB\u30A4\u30D6\u5185\u306E\u4F9D\u5B58\u6027\u3092\u9664\u304F)\n -verbose:class \u30AF\u30E9\u30B9\u30FB\u30EC\u30D9\u30EB\u306E\u4F9D\u5B58\u6027\u3092\u51FA\u529B\u3057\u307E\u3059\n (\u540C\u3058\u30A2\u30FC\u30AB\u30A4\u30D6\u5185\u306E\u4F9D\u5B58\u6027\u3092\u9664\u304F) -main.opt.V=\ -V <level> --verbose-level=<level> \u30D1\u30C3\u30B1\u30FC\u30B8\u30FB\u30EC\u30D9\u30EB\u307E\u305F\u306F\u30AF\u30E9\u30B9\u30FB\u30EC\u30D9\u30EB\u306E\u4F9D\u5B58\u6027\u3092\u51FA\u529B\u3059\u308B\n \u6709\u52B9\u306A\u30EC\u30D9\u30EB: "package"\u304A\u3088\u3073"class" +main.opt.s=\ -s -summary \u4F9D\u5B58\u6027\u306E\u8981\u7D04\u306E\u307F\u51FA\u529B\u3057\u307E\u3059 -main.opt.v=\ -v --verbose \u8FFD\u52A0\u60C5\u5831\u3092\u51FA\u529B\u3059\u308B +main.opt.p=\ -p <pkgname> -package <pkgname> \u6307\u5B9A\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u5185\u306E\u4F9D\u5B58\u6027\u3092\u691C\u51FA\u3057\u307E\u3059\n (\u8907\u6570\u56DE\u6307\u5B9A\u53EF\u80FD) -main.opt.s=\ -s --summary \u4F9D\u5B58\u6027\u306E\u8981\u7D04\u306E\u307F\u51FA\u529B\u3059\u308B +main.opt.e=\ -e <regex> -regex <regex> \u30D1\u30BF\u30FC\u30F3\u306B\u4E00\u81F4\u3059\u308B\u30D1\u30C3\u30B1\u30FC\u30B8\u5185\u306E\u4F9D\u5B58\u6027\u3092\u691C\u51FA\u3057\u307E\u3059\n (-p\u3068-e\u306F\u6392\u4ED6\u7684) -main.opt.p=\ -p <pkg name> --package=<pkg name> \u5206\u6790\u3092\u3053\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u30AF\u30E9\u30B9\u306B\u5236\u9650\u3059\u308B\n (\u8907\u6570\u56DE\u6307\u5B9A\u53EF\u80FD) +main.opt.include=\ -include <regex> \u30D1\u30BF\u30FC\u30F3\u306B\u4E00\u81F4\u3059\u308B\u30AF\u30E9\u30B9\u306B\u5206\u6790\u3092\u5236\u9650\u3057\u307E\u3059\n \u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u6307\u5B9A\u3059\u308B\u3068\u3001\u5206\u6790\u5BFE\u8C61\u30AF\u30E9\u30B9\u306E\n \u30EA\u30B9\u30C8\u304C\u30D5\u30A3\u30EB\u30BF\u51E6\u7406\u3055\u308C\u307E\u3059\u3002\u30D1\u30BF\u30FC\u30F3\u3092\u4F9D\u5B58\u6027\u306B\n \u9069\u7528\u3059\u308B-p\u304A\u3088\u3073-e\u3068\u4E00\u7DD2\u306B\u4F7F\u7528\u3067\u304D\u307E\u3059 -main.opt.e=\ -e <regex> --regex=<regex> \u5206\u6790\u3092\u30D1\u30BF\u30FC\u30F3\u306B\u4E00\u81F4\u3059\u308B\u30D1\u30C3\u30B1\u30FC\u30B8\u306B\u5236\u9650\u3059\u308B\n (-p\u3068-e\u306F\u6392\u4ED6\u7684) +main.opt.P=\ -P -profile \u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u3001\u307E\u305F\u306F\u30D1\u30C3\u30B1\u30FC\u30B8\u3092\u542B\u3080\u30D5\u30A1\u30A4\u30EB\u3092\u8868\u793A\u3057\u307E\u3059 -main.opt.P=\ -P --profile \u30D1\u30C3\u30B1\u30FC\u30B8\u3092\u542B\u3080\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30D5\u30A1\u30A4\u30EB\u3092\u8868\u793A\u3059\u308B +main.opt.cp=\ -cp <path> -classpath <path> \u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3059\u308B\u5834\u6240\u3092\u6307\u5B9A\u3057\u307E\u3059 -main.opt.c=\ -c <path> --classpath=<path> \u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3059\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B +main.opt.R=\ -R -recursive \u3059\u3079\u3066\u306E\u4F9D\u5B58\u6027\u3092\u53CD\u5FA9\u7684\u306B\u8D70\u67FB\u3057\u307E\u3059 + +main.opt.apionly=\ -apionly \u5206\u6790\u3092API\u3001\u3064\u307E\u308A\u3001\u30D1\u30D6\u30EA\u30C3\u30AF\u30FB\u30AF\u30E9\u30B9\u306E\n \u30D1\u30D6\u30EA\u30C3\u30AF\u30FB\u30E1\u30F3\u30D0\u30FC\u304A\u3088\u3073\u4FDD\u8B77\u3055\u308C\u305F\u30E1\u30F3\u30D0\u30FC\u306E\n \u7F72\u540D\u306B\u304A\u3051\u308B\u4F9D\u5B58\u6027(\u30D5\u30A3\u30FC\u30EB\u30C9\u30FB\u30BF\u30A4\u30D7\u3001\u30E1\u30BD\u30C3\u30C9\u30FB\n \u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30BF\u30A4\u30D7\u3001\u623B\u3055\u308C\u305F\u30BF\u30A4\u30D7\u3001\u30C1\u30A7\u30C3\u30AF\u3055\u308C\u305F\n \u4F8B\u5916\u30BF\u30A4\u30D7\u306A\u3069)\u306B\u5236\u9650\u3057\u307E\u3059 -main.opt.R=\ -R --recursive \u3059\u3079\u3066\u306E\u4F9D\u5B58\u6027\u3092\u53CD\u5FA9\u7684\u306B\u8D70\u67FB\u3059\u308B +main.opt.dotoutput=\ -dotoutput <dir> DOT\u30D5\u30A1\u30A4\u30EB\u51FA\u529B\u306E\u5B9B\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA -main.opt.d=\ -d <depth> --depth=<depth> \u63A8\u79FB\u7684\u306A\u4F9D\u5B58\u6027\u5206\u6790\u306E\u6DF1\u3055\u3092\u6307\u5B9A\u3059\u308B +main.opt.depth=\ -depth=<depth> \u63A8\u79FB\u7684\u306A\u4F9D\u5B58\u6027\u5206\u6790\u306E\u6DF1\u3055\u3092\n \u6307\u5B9A\u3057\u307E\u3059 err.unknown.option=\u4E0D\u660E\u306A\u30AA\u30D7\u30B7\u30E7\u30F3: {0} err.missing.arg={0}\u306B\u5024\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093 @@ -34,6 +38,7 @@ err.option.after.class=\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30AF\u30E9\u30B9\u306E\u524D\u306B\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059: {0} err.option.unsupported={0}\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093: {1} err.profiles.msg=\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u60C5\u5831\u304C\u3042\u308A\u307E\u305B\u3093 +err.dot.output.path=\u7121\u52B9\u306A\u30D1\u30B9: {0} warn.invalid.arg=\u7121\u52B9\u306A\u30AF\u30E9\u30B9\u540D\u307E\u305F\u306F\u30D1\u30B9\u540D\u304C\u5B58\u5728\u3057\u307E\u305B\u3093: {0} warn.split.package=\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u306F{1} {2}\u3067\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059
--- a/src/share/classes/com/sun/tools/jdeps/resources/jdeps_zh_CN.properties Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/jdeps/resources/jdeps_zh_CN.properties Thu Feb 06 16:12:26 2014 +0000 @@ -1,31 +1,35 @@ main.usage.summary=\u7528\u6CD5: {0} <options> <classes...>\n\u4F7F\u7528 -h, -? \u6216 --help \u5217\u51FA\u53EF\u80FD\u7684\u9009\u9879 -main.usage=\u7528\u6CD5: {0} <options> <classes...>\n\u5176\u4E2D, <classes> \u53EF\u4EE5\u662F .class \u6587\u4EF6, \u76EE\u5F55, JAR \u6587\u4EF6\u7684\u8DEF\u5F84\u540D,\n\u4E5F\u53EF\u4EE5\u662F\u5168\u9650\u5B9A\u7C7B\u540D\u6216\u901A\u914D\u7B26 "*"\u3002\u53EF\u80FD\u7684\u9009\u9879\u5305\u62EC: +main.usage=\u7528\u6CD5: {0} <options> <classes...>\n\u5176\u4E2D <classes> \u53EF\u4EE5\u662F .class \u6587\u4EF6, \u76EE\u5F55, JAR \u6587\u4EF6\u7684\u8DEF\u5F84\u540D,\n\u4E5F\u53EF\u4EE5\u662F\u5168\u9650\u5B9A\u7C7B\u540D\u3002\u53EF\u80FD\u7684\u9009\u9879\u5305\u62EC: error.prefix=\u9519\u8BEF: warn.prefix=\u8B66\u544A: -main.opt.h=\ -h -? --help \u8F93\u51FA\u6B64\u7528\u6CD5\u6D88\u606F +main.opt.h=\ -h -? -help \u8F93\u51FA\u6B64\u7528\u6CD5\u6D88\u606F -main.opt.version=\ --version \u7248\u672C\u4FE1\u606F +main.opt.version=\ -version \u7248\u672C\u4FE1\u606F + +main.opt.v=\ -v -verbose \u8F93\u51FA\u6240\u6709\u7C7B\u7EA7\u522B\u88AB\u4F9D\u8D56\u5BF9\u8C61\n -verbose:package \u8F93\u51FA\u7A0B\u5E8F\u5305\u7EA7\u522B\u88AB\u4F9D\u8D56\u5BF9\u8C61, \u4E0D\u5305\u62EC\n \u540C\u4E00\u6863\u6848\u4E2D\u7684\u88AB\u4F9D\u8D56\u5BF9\u8C61\n -verbose:class \u8F93\u51FA\u7C7B\u7EA7\u522B\u88AB\u4F9D\u8D56\u5BF9\u8C61, \u4E0D\u5305\u62EC\n \u540C\u4E00\u6863\u6848\u4E2D\u7684\u88AB\u4F9D\u8D56\u5BF9\u8C61 -main.opt.V=\ -V <level> --verbose-level=<level> \u8F93\u51FA\u7A0B\u5E8F\u5305\u7EA7\u522B\u6216\u7C7B\u7EA7\u522B\u88AB\u4F9D\u8D56\u5BF9\u8C61\n \u6709\u6548\u7EA7\u522B\u4E3A: "\u7A0B\u5E8F\u5305" \u548C "\u7C7B" +main.opt.s=\ -s -summary \u4EC5\u8F93\u51FA\u88AB\u4F9D\u8D56\u5BF9\u8C61\u6982\u8981 -main.opt.v=\ -v --verbose \u8F93\u51FA\u9644\u52A0\u4FE1\u606F +main.opt.p=\ -p <pkgname> -package <pkgname> \u67E5\u627E\u7ED9\u5B9A\u7A0B\u5E8F\u5305\u4E2D\u7684\u88AB\u4F9D\u8D56\u5BF9\u8C61\n (\u53EF\u80FD\u591A\u6B21\u6307\u5B9A) -main.opt.s=\ -s --summary \u4EC5\u8F93\u51FA\u88AB\u4F9D\u8D56\u5BF9\u8C61\u6982\u8981 +main.opt.e=\ -e <regex> -regex <regex> \u67E5\u627E\u4E0E\u6A21\u5F0F\u5339\u914D\u7684\u7A0B\u5E8F\u5305\u4E2D\u7684\u88AB\u4F9D\u8D56\u5BF9\u8C61\n (-p \u548C -e \u4E92\u76F8\u6392\u65A5) -main.opt.p=\ -p <pkg name> --package=<pkg name> \u5C06\u5206\u6790\u9650\u5236\u4E3A\u6B64\u7A0B\u5E8F\u5305\u4E2D\u7684\u7C7B\n (\u53EF\u4EE5\u6307\u5B9A\u591A\u6B21) +main.opt.include=\ -include <regex> \u5C06\u5206\u6790\u9650\u5236\u4E3A\u4E0E\u6A21\u5F0F\u5339\u914D\u7684\u7C7B\n \u6B64\u9009\u9879\u7B5B\u9009\u8981\u5206\u6790\u7684\u7C7B\u7684\u5217\u8868\u3002\n \u5B83\u53EF\u4EE5\u4E0E\u5411\u88AB\u4F9D\u8D56\u5BF9\u8C61\u5E94\u7528\u6A21\u5F0F\u7684\n -p \u548C -e \u7ED3\u5408\u4F7F\u7528 -main.opt.e=\ -e <regex> --regex=<regex> \u5C06\u5206\u6790\u9650\u5236\u4E3A\u4E0E\u6A21\u5F0F\u5339\u914D\u7684\u7A0B\u5E8F\u5305\n (-p \u548C -e \u4E92\u65A5) +main.opt.P=\ -P -profile \u663E\u793A\u914D\u7F6E\u6587\u4EF6\u6216\u5305\u542B\u7A0B\u5E8F\u5305\u7684\u6587\u4EF6 -main.opt.P=\ -P --profile \u663E\u793A\u914D\u7F6E\u6587\u4EF6\u6216\u5305\u542B\u7A0B\u5E8F\u5305\u7684\u6587\u4EF6 +main.opt.cp=\ -cp <path> -classpath <path> \u6307\u5B9A\u67E5\u627E\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E -main.opt.c=\ -c <path> --classpath=<path> \u6307\u5B9A\u67E5\u627E\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E +main.opt.R=\ -R -recursive \u9012\u5F52\u904D\u5386\u6240\u6709\u88AB\u4F9D\u8D56\u5BF9\u8C61 + +main.opt.apionly=\ -apionly \u901A\u8FC7\u516C\u5171\u7C7B (\u5305\u62EC\u5B57\u6BB5\u7C7B\u578B, \u65B9\u6CD5\u53C2\u6570\n \u7C7B\u578B, \u8FD4\u56DE\u7C7B\u578B, \u53D7\u63A7\u5F02\u5E38\u9519\u8BEF\u7C7B\u578B\n \u7B49) \u7684\u516C\u5171\u548C\u53D7\u4FDD\u62A4\u6210\u5458\u7684\u7B7E\u540D\n \u9650\u5236\u5BF9 API (\u5373\u88AB\u4F9D\u8D56\u5BF9\u8C61)\n \u8FDB\u884C\u5206\u6790 -main.opt.R=\ -R --recursive \u9012\u5F52\u904D\u5386\u6240\u6709\u88AB\u4F9D\u8D56\u5BF9\u8C61 +main.opt.dotoutput=\ -dotoutput <dir> DOT \u6587\u4EF6\u8F93\u51FA\u7684\u76EE\u6807\u76EE\u5F55 -main.opt.d=\ -d <depth> --depth=<depth> \u6307\u5B9A\u8FC7\u6E21\u88AB\u4F9D\u8D56\u5BF9\u8C61\u5206\u6790\u7684\u6DF1\u5EA6 +main.opt.depth=\ -depth=<depth> \u6307\u5B9A\u8FC7\u6E21\u88AB\u4F9D\u8D56\u5BF9\u8C61\u5206\u6790\n \u7684\u6DF1\u5EA6 err.unknown.option=\u672A\u77E5\u9009\u9879: {0} err.missing.arg=\u6CA1\u6709\u4E3A{0}\u6307\u5B9A\u503C @@ -34,6 +38,7 @@ err.option.after.class=\u5FC5\u987B\u5728\u7C7B\u4E4B\u524D\u6307\u5B9A\u9009\u9879: {0} err.option.unsupported=\u4E0D\u652F\u6301{0}: {1} err.profiles.msg=\u6CA1\u6709\u914D\u7F6E\u6587\u4EF6\u4FE1\u606F +err.dot.output.path=\u65E0\u6548\u8DEF\u5F84: {0} warn.invalid.arg=\u7C7B\u540D\u65E0\u6548\u6216\u8DEF\u5F84\u540D\u4E0D\u5B58\u5728: {0} warn.split.package=\u5DF2\u5728{1} {2}\u4E2D\u5B9A\u4E49\u7A0B\u5E8F\u5305{0}
--- a/src/share/classes/com/sun/tools/sjavac/CleanProperties.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/sjavac/CleanProperties.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/CompileChunk.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/sjavac/CompileChunk.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/CompileJavaPackages.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/sjavac/CompileJavaPackages.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/CompileProperties.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/sjavac/CompileProperties.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/CopyFile.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/sjavac/CopyFile.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/JavacState.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/sjavac/JavacState.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/Log.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/sjavac/Log.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/Module.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/sjavac/Module.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/Package.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/sjavac/Package.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/ProblemException.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/sjavac/ProblemException.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/Source.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/sjavac/Source.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/Transformer.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/sjavac/Transformer.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/Util.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/sjavac/Util.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/comp/JavaCompilerWithDeps.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/sjavac/comp/JavaCompilerWithDeps.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/comp/PubapiVisitor.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/sjavac/comp/PubapiVisitor.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/comp/ResolveWithDeps.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/sjavac/comp/ResolveWithDeps.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/comp/SmartFileManager.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/sjavac/comp/SmartFileManager.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/comp/SmartFileObject.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/sjavac/comp/SmartFileObject.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/comp/SmartWriter.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/sjavac/comp/SmartWriter.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/server/CompilerPool.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/sjavac/server/CompilerPool.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/server/PortFile.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/sjavac/server/PortFile.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/server/SysInfo.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/com/sun/tools/sjavac/server/SysInfo.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/javax/lang/model/element/TypeElement.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/javax/lang/model/element/TypeElement.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/javax/lang/model/element/VariableElement.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/javax/lang/model/element/VariableElement.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/javax/lang/model/element/package-info.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/javax/lang/model/element/package-info.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/javax/lang/model/type/DeclaredType.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/javax/lang/model/type/DeclaredType.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -49,14 +49,6 @@ * Types#directSupertypes(TypeMirror)} method. This returns the * supertypes with any type arguments substituted in. * - * <p> This interface is also used to represent intersection types. - * An intersection type is implicit in a program rather than being - * explictly declared. For example, the bound of the type parameter - * {@code <T extends Number & Runnable>} - * is an intersection type. It is represented by a {@code DeclaredType} - * with {@code Number} as its superclass and {@code Runnable} as its - * lone superinterface. - * * @author Joseph D. Darcy * @author Scott Seligman * @author Peter von der Ahé
--- a/src/share/classes/javax/lang/model/type/IntersectionType.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/javax/lang/model/type/IntersectionType.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -30,9 +30,17 @@ /** * Represents an intersection type. * - * As of the {@link javax.lang.model.SourceVersion#RELEASE_8 - * RELEASE_8} source version, intersection types can appear as the target type - * of a cast expression. + * <p>An intersection type can be either implicitly or explicitly + * declared in a program. For example, the bound of the type parameter + * {@code <T extends Number & Runnable>} is an (implicit) intersection + * type. As of {@link javax.lang.model.SourceVersion#RELEASE_8 + * RELEASE_8}, this is represented by an {@code IntersectionType} with + * {@code Number} and {@code Runnable} as its bounds. + * + * @implNote Also as of {@link + * javax.lang.model.SourceVersion#RELEASE_8 RELEASE_8}, in the + * reference implementation an {@code IntersectionType} is used to + * model the explicit target type of a cast expression. * * @since 1.8 */
--- a/src/share/classes/javax/lang/model/type/TypeVariable.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/javax/lang/model/type/TypeVariable.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -62,10 +62,9 @@ * <p> If this type variable was declared with no explicit * upper bounds, the result is {@code java.lang.Object}. * If it was declared with multiple upper bounds, - * the result is an intersection type (modeled as a - * {@link DeclaredType}). - * Individual bounds can be found by examining the result's - * {@linkplain Types#directSupertypes(TypeMirror) supertypes}. + * the result is an {@linkplain IntersectionType intersection type}; + * individual bounds can be found by examining the result's + * {@linkplain IntersectionType#getBounds() bounds}. * * @return the upper bound of this type variable */
--- a/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/javax/lang/model/util/Types.java Mon Dec 23 13:00:24 2013 +0000 +++ b/src/share/classes/javax/lang/model/util/Types.java Thu Feb 06 16:12:26 2014 +0000 @@ -60,13 +60,6 @@ /** * Tests whether two {@code TypeMirror} objects represent the same type. * - * <p>Since annotations are only meta-data associated with a type, - * the set of annotations on either argument is <em>not</em> taken - * into account when computing whether or not two {@code - * TypeMirror} objects are the same type. In particular, two - * {@code TypeMirror} objects can have different annotations and - * still be considered the same. - * * <p>Caveat: if either of the arguments to this method represents a * wildcard, this method will return false. As a consequence, a wildcard * is not the same type as itself. This might be surprising at first, @@ -77,6 +70,13 @@ * {@code list.add(list.get(0));} * </pre> * + * <p>Since annotations are only meta-data associated with a type, + * the set of annotations on either argument is <em>not</em> taken + * into account when computing whether or not two {@code + * TypeMirror} objects are the same type. In particular, two + * {@code TypeMirror} objects can have different annotations and + * still be considered the same. + * * @param t1 the first type * @param t2 the second type * @return {@code true} if and only if the two types are the same
--- a/test/com/sun/javadoc/AccessH1/AccessH1.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/AccessH1/AccessH1.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,7 +23,7 @@ /* * @test - * @bug 4636667 7052425 + * @bug 4636667 7052425 8016549 * @summary Use <H1, <H2>, and <H3> in proper sequence for accessibility * @author dkramer * @run main AccessH1 @@ -85,7 +85,7 @@ private static final String[][] testArray = { // Test the style sheet { - "h1 {" + LS + " font-size:1.8em;" + LS + + "h1 {" + LS + " font-size:20px;" + LS + "}", TMPDEST_DIR1 + "stylesheet.css" },
--- a/test/com/sun/javadoc/testAbstractMethod/TestAbstractMethod.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testAbstractMethod/TestAbstractMethod.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testAbstractMethod/pkg/A.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testAbstractMethod/pkg/A.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testAbstractMethod/pkg/B.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testAbstractMethod/pkg/B.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testAbstractMethod/pkg/C.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testAbstractMethod/pkg/C.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testAnnotationOptional/pkg/AnnotationOptional.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testAnnotationOptional/pkg/AnnotationOptional.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/com/sun/javadoc/testCompletionFailure/TestCompletionFailure.java Thu Feb 06 16:12:26 2014 +0000 @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 8027977 + * @summary Test to verify javadoc executes without CompletionFailure exception. + * @author Bhavesh Patel + * @library ../lib/ + * @build JavadocTester TestCompletionFailure + * @run main TestCompletionFailure + */ + +public class TestCompletionFailure extends JavadocTester { + + private static final String BUG_ID = "8027977"; + + //Input for string search tests. + private static final String[][] NEGATED_TEST = { + {ERROR_OUTPUT, "TestCompletionFailure: error - " + + "com.sun.tools.javac.code.Symbol$CompletionFailure: class file for " + + "sun.util.locale.provider.LocaleProviderAdapter not found" + } + }; + + private static final String[] ARGS = new String[] { + "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1" + }; + + /** + * The entry point of the test. + * @param args the array of command line arguments. + */ + public static void main(String[] args) throws Exception { + TestCompletionFailure tester = new TestCompletionFailure(); + run(tester, ARGS, NO_TEST, NEGATED_TEST); + tester.printSummary(); + } + + /** + * {@inheritDoc} + */ + public String getBugId() { + return BUG_ID; + } + + /** + * {@inheritDoc} + */ + public String getBugName() { + return getClass().getName(); + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/com/sun/javadoc/testCompletionFailure/pkg1/NumberFormatTest.java Thu Feb 06 16:12:26 2014 +0000 @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package pkg1; + +import java.text.NumberFormat; + +public abstract class NumberFormatTest extends NumberFormat { }
--- a/test/com/sun/javadoc/testDocRootLink/TestDocRootLink.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testDocRootLink/TestDocRootLink.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,7 +23,7 @@ /* * @test - * @bug 6553182 + * @bug 6553182 8025416 8029504 * @summary This test verifies the -Xdocrootparent option. * @author Bhavesh Patel * @library ../lib/ @@ -35,43 +35,87 @@ private static final String BUG_ID = "6553182"; private static final String[][] TEST1 = { {BUG_ID + FS + "pkg1" + FS + "C1.html", - "<a href=\"../../technotes/guides/index.html\">" + "Refer <a href=\"../../technotes/guides/index.html\">Here</a>" + }, + {BUG_ID + FS + "pkg1" + FS + "C1.html", + "This <a href=\"../pkg2/C2.html\">Here</a> should not be replaced" + NL + + " with an absolute link." + }, + {BUG_ID + FS + "pkg1" + FS + "C1.html", + "Testing <a href=\"../technotes/guides/index.html\">Link 1</a> and" + NL + + " <a href=\"../pkg2/C2.html\">Link 2</a>." }, {BUG_ID + FS + "pkg1" + FS + "package-summary.html", - "<a href=\"../../technotes/guides/index.html\">" + "<a href=\"../../technotes/guides/index.html\">" + NL + + " Test document 1</a>" + }, + {BUG_ID + FS + "pkg1" + FS + "package-summary.html", + "<a href=\"../pkg2/C2.html\">" + NL + + " Another Test document 1</a>" + }, + {BUG_ID + FS + "pkg1" + FS + "package-summary.html", + "<a href=\"../technotes/guides/index.html\">" + NL + + " Another Test document 2.</a>" } }; private static final String[][] NEGATED_TEST1 = { {BUG_ID + FS + "pkg1" + FS + "C1.html", "<a href=\"http://download.oracle.com/javase/7/docs/technotes/guides/index.html\">" }, + {BUG_ID + FS + "pkg1" + FS + "C1.html", + "<a href=\"http://download.oracle.com/javase/7/docs/pkg2/C2.html\">" + }, {BUG_ID + FS + "pkg1" + FS + "package-summary.html", "<a href=\"http://download.oracle.com/javase/7/docs/technotes/guides/index.html\">" + }, + {BUG_ID + FS + "pkg1" + FS + "package-summary.html", + "<a href=\"http://download.oracle.com/javase/7/docs/pkg2/C2.html\">" } }; private static final String[][] TEST2 = { - {BUG_ID + FS + "pkg2" + FS + "C2.html", - "<a href=\"http://download.oracle.com/javase/7/docs/technotes/guides/index.html\">" + {BUG_ID + "-1" + FS + "pkg2" + FS + "C2.html", + "Refer <a href=\"http://download.oracle.com/javase/7/docs/technotes/guides/index.html\">Here</a>" + }, + {BUG_ID + "-1" + FS + "pkg2" + FS + "C2.html", + "This <a href=\"../pkg1/C1.html\">Here</a> should not be replaced" + NL + + " with an absolute link." }, - {BUG_ID + FS + "pkg2" + FS + "package-summary.html", - "<a href=\"http://download.oracle.com/javase/7/docs/technotes/guides/index.html\">" + {BUG_ID + "-1" + FS + "pkg2" + FS + "C2.html", + "Testing <a href=\"../technotes/guides/index.html\">Link 1</a> and" + NL + + " <a href=\"../pkg1/C1.html\">Link 2</a>." + }, + {BUG_ID + "-1" + FS + "pkg2" + FS + "package-summary.html", + "<a href=\"http://download.oracle.com/javase/7/docs/technotes/guides/index.html\">" + NL + + " Test document 1</a>" + }, + {BUG_ID + "-1" + FS + "pkg2" + FS + "package-summary.html", + "<a href=\"../pkg1/C1.html\">" + NL + " Another Test document 1</a>" + }, + {BUG_ID + "-1" + FS + "pkg2" + FS + "package-summary.html", + "<a href=\"../technotes/guides/index.html\">" + NL + " Another Test document 2.</a>" } }; private static final String[][] NEGATED_TEST2 = { - {BUG_ID + FS + "pkg2" + FS + "C2.html", + {BUG_ID + "-1" + FS + "pkg2" + FS + "C2.html", "<a href=\"../../technotes/guides/index.html\">" }, - {BUG_ID + FS + "pkg2" + FS + "package-summary.html", + {BUG_ID + "-1" + FS + "pkg2" + FS + "C2.html", + "<a href=\"http://download.oracle.com/javase/7/docs/pkg1/C1.html\">" + }, + {BUG_ID + "-1" + FS + "pkg2" + FS + "package-summary.html", "<a href=\"../../technotes/guides/index.html\">" + }, + {BUG_ID + "-1" + FS + "pkg2" + FS + "package-summary.html", + "<a href=\"http://download.oracle.com/javase/7/docs/pkg1/C1.html\">" } }; private static final String[] ARGS1 = new String[]{ - "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1" + "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1", "pkg2" }; private static final String[] ARGS2 = new String[]{ - "-d", BUG_ID, "-Xdocrootparent", "http://download.oracle.com/javase/7/docs", "-sourcepath", SRC_DIR, "pkg2" + "-d", BUG_ID + "-1", "-Xdocrootparent", "http://download.oracle.com/javase/7/docs", "-sourcepath", SRC_DIR, "pkg1", "pkg2" }; /**
--- a/test/com/sun/javadoc/testDocRootLink/pkg1/C1.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testDocRootLink/pkg1/C1.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,7 +25,12 @@ /** * Class 1. This is a test. - * Refer <a href="{@docRoot}/../technotes/guides/index.html">Here</a>. Lets see if this works - * or not. + * Refer <a href="{@docRoot}/../technotes/guides/index.html">Here</a>. This link should + * not be replaced with an absolute link. + * This <a href="{@docRoot}/pkg2/C2.html">Here</a> should not be replaced + * with an absolute link. + * Testing <a href="{@docRoot}/technotes/guides/index.html">Link 1</a> and + * <a href="{@docRoot}/pkg2/C2.html">Link 2</a>. 2 back-to-back links using + * docroot. These should not be replaced with an absolute link. */ public class C1 {}
--- a/test/com/sun/javadoc/testDocRootLink/pkg1/package.html Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testDocRootLink/pkg1/package.html Thu Feb 06 16:12:26 2014 +0000 @@ -3,16 +3,16 @@ <title>javax.management package</title> </head> <body bgcolor="white"> -This is a test. - <p id="spec"> - @see <a href="{@docRoot}/../technotes/guides/index.html"> - Test document 1</a> - in particular the - <a href="{@docRoot}/../technotes/guides/index.html"> + This is a test. + <p id="spec"> + @see <a href="{@docRoot}/../technotes/guides/index.html"> + Test document 1</a> should not be replaced with an absolute link. + @see <a href="{@docRoot}/pkg2/C2.html"> + Another Test document 1</a> which should not be replaced with an absolute link. + <a href="{@docRoot}/technotes/guides/index.html"> + Another Test document 2.</a> which should not be replaced with an absolute link. - Test document 2.</a> - - @since 1.5 + @since 1.5 </body> </html>
--- a/test/com/sun/javadoc/testDocRootLink/pkg2/C2.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testDocRootLink/pkg2/C2.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,8 +24,13 @@ package pkg2; /** - * Class 1. This is a test. - * Refer <a href="{@docRoot}/../technotes/guides/index.html">Here</a>. Lets see if this works - * or not. + * Class 2. This is a test. + * Refer <a href="{@docRoot}/../technotes/guides/index.html">Here</a> should be + * replaced with an absolute link. + * This <a href="{@docRoot}/pkg1/C1.html">Here</a> should not be replaced + * with an absolute link. + * Testing <a href="{@docRoot}/technotes/guides/index.html">Link 1</a> and + * <a href="{@docRoot}/pkg1/C1.html">Link 2</a>. Both should not be replaced with + * an absolute link. */ public class C2 {}
--- a/test/com/sun/javadoc/testDocRootLink/pkg2/package.html Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testDocRootLink/pkg2/package.html Thu Feb 06 16:12:26 2014 +0000 @@ -3,16 +3,16 @@ <title>javax.management package</title> </head> <body bgcolor="white"> -This is a test. - <p id="spec"> - @see <a href="{@docRoot}/../technotes/guides/index.html"> - Test document 1</a> - in particular the - <a href="{@docRoot}/../technotes/guides/index.html"> + This is a test. + <p id="spec"> + @see <a href="{@docRoot}/../technotes/guides/index.html"> + Test document 1</a> should be replaced with an absolute link. + @see <a href="{@docRoot}/pkg1/C1.html"> + Another Test document 1</a> which should not be replaced with an absolute link. + <a href="{@docRoot}/technotes/guides/index.html"> + Another Test document 2.</a> which should not be replaced with an absolute link. - Test document 2.</a> - - @since 1.5 + @since 1.5 </body> </html>
--- a/test/com/sun/javadoc/testLambdaFeature/TestLambdaFeature.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testLambdaFeature/TestLambdaFeature.java Thu Feb 06 16:12:26 2014 +0000 @@ -23,7 +23,7 @@ /* * @test - * @bug 8004893 8022738 + * @bug 8004893 8022738 8029143 * @summary Make sure that the lambda feature changes work fine in * javadoc. * @author bpatel @@ -81,6 +81,11 @@ "<pre>default default void defaultMethod()</pre>"}, {BUG_ID + FS + "pkg" + FS + "B.html", "<td class=\"colFirst\"><code>default void</code></td>"}, + {BUG_ID + FS + "pkg1" + FS + "NotAFuncInf.html", + "<dl>" + NL + "<dt>Functional Interface:</dt>" + NL + + "<dd>This is a functional interface and can therefore be used as " + + "the assignment target for a lambda expression or method " + + "reference.</dd>" + NL + "</dl>"}, {BUG_ID + FS + "pkg" + FS + "B.html", "<dl>" + NL + "<dt>Functional Interface:</dt>"} };
--- a/test/com/sun/javadoc/testLambdaFeature/pkg/A.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testLambdaFeature/pkg/A.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,6 +23,7 @@ package pkg; +@FunctionalInterface public interface A { public void method1();
--- a/test/com/sun/javadoc/testLambdaFeature/pkg1/FuncInf.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testLambdaFeature/pkg1/FuncInf.java Thu Feb 06 16:12:26 2014 +0000 @@ -23,6 +23,7 @@ package pkg1; +@FunctionalInterface public interface FuncInf<V> { V call() throws Exception;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/com/sun/javadoc/testLambdaFeature/pkg1/NotAFuncInf.java Thu Feb 06 16:12:26 2014 +0000 @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package pkg1; + +public interface NotAFuncInf<V> { + + V call() throws Exception; +}
--- a/test/com/sun/javadoc/testLegacyTaglet/C.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testLegacyTaglet/C.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testNavigation/pkg/A.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testNavigation/pkg/A.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testNavigation/pkg/C.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testNavigation/pkg/C.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testNavigation/pkg/E.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testNavigation/pkg/E.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testNavigation/pkg/I.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testNavigation/pkg/I.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg/C.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/C.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContaineeRegDoc.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContaineeRegDoc.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContainerRegDoc.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContainerRegDoc.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContainerRegNotDoc.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContainerRegNotDoc.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg/D.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/D.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg/NonSynthDocContainer.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/NonSynthDocContainer.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegArryDoc.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegArryDoc.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContaineeDoc.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContaineeDoc.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContaineeNotDoc.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContaineeNotDoc.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContainerDoc.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContainerDoc.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContainerNotDoc.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContainerNotDoc.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegDoc.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegDoc.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/C.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/C.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContaineeNotDoc.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContaineeNotDoc.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContainerValDoc.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContainerValDoc.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContainerValNotDoc.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContainerValNotDoc.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContaineeDoc.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContaineeDoc.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContaineeNotDoc.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContaineeNotDoc.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContainerValDoc.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContainerValDoc.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContainerValNotDoc.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContainerValNotDoc.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testStylesheet/TestStylesheet.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/com/sun/javadoc/testStylesheet/TestStylesheet.java Thu Feb 06 16:12:26 2014 +0000 @@ -23,7 +23,7 @@ /* * @test - * @bug 4494033 7028815 7052425 8007338 8023608 8008164 + * @bug 4494033 7028815 7052425 8007338 8023608 8008164 8016549 * @summary Run tests on doclet stylesheet. * @author jamieh * @library ../lib/ @@ -54,8 +54,8 @@ {BUG_ID + FS + "stylesheet.css", "body {" + NL + " background-color:#ffffff;" + NL + " color:#353833;" + NL + - " font-family:Arial, Helvetica, sans-serif;" + NL + - " font-size:76%;" + NL + " margin:0;" + NL + "}"}, + " font-family:'DejaVu Sans', Arial, Helvetica, sans-serif;" + NL + + " font-size:14px;" + NL + " margin:0;" + NL + "}"}, {BUG_ID + FS + "stylesheet.css", "ul {" + NL + " list-style-type:disc;" + NL + "}"}, {BUG_ID + FS + "stylesheet.css", @@ -64,49 +64,65 @@ " position:relative;" + NL + " text-align:left;" + NL + " background-repeat:no-repeat;" + NL + - " color:#FFFFFF;" + NL + + " color:#253441;" + NL + " font-weight:bold;" + NL + " clear:none;" + NL + " overflow:hidden;" + NL + " padding:0px;" + NL + + " padding-top:10px;" + NL + + " padding-left:1px;" + NL + " margin:0px;" + NL + + " white-space:pre;" + NL + "}"}, {BUG_ID + FS + "stylesheet.css", ".overviewSummary caption span, .memberSummary caption span, .typeSummary caption span," + NL + ".useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span {" + NL + " white-space:nowrap;" + NL + - " padding-top:8px;" + NL + - " padding-left:8px;" + NL + + " padding-top:5px;" + NL + + " padding-left:12px;" + NL + + " padding-right:12px;" + NL + + " padding-bottom:7px;" + NL + " display:inline-block;" + NL + " float:left;" + NL + - " background-image:url(resources/titlebar.gif);" + NL + + " background-color:#F8981D;" + NL + + " border: none;" + NL + + " height:16px;" + NL + "}"}, {BUG_ID + FS + "stylesheet.css", ".memberSummary caption span.activeTableTab span {" + NL + " white-space:nowrap;" + NL + - " padding-top:8px;" + NL + - " padding-left:8px;" + NL + + " padding-top:5px;" + NL + + " padding-left:12px;" + NL + + " padding-right:12px;" + NL + + " margin-right:3px;" + NL + " display:inline-block;" + NL + " float:left;" + NL + - " background-image:url(resources/activetitlebar.gif);" + NL + + " background-color:#F8981D;" + NL + + " height:16px;" + NL + "}"}, {BUG_ID + FS + "stylesheet.css", ".memberSummary caption span.tableTab span {" + NL + " white-space:nowrap;" + NL + - " padding-top:8px;" + NL + - " padding-left:8px;" + NL + + " padding-top:5px;" + NL + + " padding-left:12px;" + NL + + " padding-right:12px;" + NL + + " margin-right:3px;" + NL + " display:inline-block;" + NL + " float:left;" + NL + - " background-image:url(resources/titlebar.gif);" + NL + + " background-color:#4D7A97;" + NL + + " height:16px;" + NL + "}"}, {BUG_ID + FS + "stylesheet.css", ".memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab {" + NL + " padding-top:0px;" + NL + " padding-left:0px;" + NL + + " padding-right:0px;" + NL + " background-image:none;" + NL + " float:none;" + NL + - " display:inline-block;" + NL + + " display:inline;" + NL + "}"}, + {BUG_ID + FS + "stylesheet.css", + "@import url('resources/fonts/dejavu.css');"}, // Test whether a link to the stylesheet file is inserted properly // in the class documentation. {BUG_ID + FS + "pkg" + FS + "A.html",
--- a/test/tools/doclint/CustomTagTest.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/doclint/CustomTagTest.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,17 +1,18 @@ /* * @test /nodynamiccopyright/ - * @bug 8006248 + * @bug 8006248 8028318 * @summary DocLint should report unknown tags * @build DocLintTester * @run main DocLintTester CustomTagTest.java * @run main DocLintTester -XcustomTags: -ref CustomTagTest.out CustomTagTest.java - * @run main DocLintTester -XcustomTags:customTag -ref CustomTagTestWithOption.out CustomTagTest.java - * @run main DocLintTester -XcustomTags:customTag,anotherCustomTag -ref CustomTagTestWithOption.out CustomTagTest.java + * @run main DocLintTester -XcustomTags:customTag,custom.tag -ref CustomTagTestWithOption.out CustomTagTest.java + * @run main DocLintTester -XcustomTags:customTag,custom.tag,anotherCustomTag -ref CustomTagTestWithOption.out CustomTagTest.java * @author bpatel */ /** * @customTag Text for a custom tag. + * @custom.tag Text for another custom tag. * @unknownTag Text for an unknown tag. */ public class CustomTagTest {
--- a/test/tools/doclint/CustomTagTest.out Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/doclint/CustomTagTest.out Thu Feb 06 16:12:26 2014 +0000 @@ -1,8 +1,11 @@ CustomTagTest.java:14: error: unknown tag: customTag * @customTag Text for a custom tag. ^ -CustomTagTest.java:15: error: unknown tag: unknownTag +CustomTagTest.java:15: error: unknown tag: custom.tag + * @custom.tag Text for another custom tag. + ^ +CustomTagTest.java:16: error: unknown tag: unknownTag * @unknownTag Text for an unknown tag. ^ -2 errors +3 errors
--- a/test/tools/doclint/CustomTagTestWithOption.out Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/doclint/CustomTagTestWithOption.out Thu Feb 06 16:12:26 2014 +0000 @@ -1,4 +1,4 @@ -CustomTagTest.java:15: error: unknown tag: unknownTag +CustomTagTest.java:16: error: unknown tag: unknownTag * @unknownTag Text for an unknown tag. ^ 1 error
--- a/test/tools/javac/T6725036.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/T6725036.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/T8028504/DontGenerateLVTForGNoneOpTest.java Thu Feb 06 16:12:26 2014 +0000 @@ -0,0 +1,74 @@ +/* + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 8028504 + * @summary javac generates LocalVariableTable even with -g:none + * @compile -g:none DontGenerateLVTForGNoneOpTest.java + * @run main DontGenerateLVTForGNoneOpTest + */ + +import java.io.File; +import java.lang.annotation.ElementType; +import java.lang.annotation.Target; +import java.nio.file.Paths; + +import com.sun.tools.classfile.Attribute; +import com.sun.tools.classfile.ClassFile; +import com.sun.tools.classfile.Code_attribute; +import com.sun.tools.classfile.Method; + +public class DontGenerateLVTForGNoneOpTest { + + public static void main(String[] args) throws Exception { + new DontGenerateLVTForGNoneOpTest().run(); + } + + void run() throws Exception { + checkClassFile(new File(Paths.get(System.getProperty("test.classes"), + this.getClass().getName() + ".class").toUri())); + } + + void checkClassFile(final File cfile) throws Exception { + ClassFile classFile = ClassFile.read(cfile); + for (Method method : classFile.methods) { + Code_attribute code = (Code_attribute)method.attributes.get(Attribute.Code); + if (code != null) { + if (code.attributes.get(Attribute.LocalVariableTable) != null) { + throw new AssertionError("LVT shouldn't be generated for g:none"); + } + } + } + } + + public void bar() { + try { + System.out.println(); + } catch(@TA Exception e) { + } catch(Throwable t) {} + } + + @Target(ElementType.TYPE_USE) + @interface TA {} +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/T8029179/CompileErrorForValidBooleanExpTest.java Thu Feb 06 16:12:26 2014 +0000 @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 8029179 + * @summary javac produces a compile error for valid boolean expressions + * @compile CompileErrorForValidBooleanExpTest.java + */ + +public class CompileErrorForValidBooleanExpTest { + static int a, b, c, d; + + static void m() { + boolean cond1 = (a < b & c > d); + boolean cond2 = (f1() < f2() & c > d); + boolean cond3 = (f1() < b & f3() > d); + boolean cond4 = (f1() < b & f3() > 1); + } + + static int f1() { + return 0; + } + + static int f2() { + return 0; + } + + static int f3() { + return 0; + } + + static int f4() { + return 0; + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/T8029569/VarargsAmbiguityCrashTest.java Thu Feb 06 16:12:26 2014 +0000 @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 8029569 + * @summary internal javac cast exception when resolving varargs ambiguity + * @compile/fail/ref=VarargsAmbiguityCrashTest.out -XDrawDiagnostics VarargsAmbiguityCrashTest.java + */ + +public class VarargsAmbiguityCrashTest { + void m1() { + m2(null, new Exception()); + } + + void m2(Long l) {} + + void m2(Exception... exception) {} + + void m2(Long l, Exception... exception) {} +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/T8029569/VarargsAmbiguityCrashTest.out Thu Feb 06 16:12:26 2014 +0000 @@ -0,0 +1,2 @@ +VarargsAmbiguityCrashTest.java:33:9: compiler.err.ref.ambiguous: m2, kindname.method, m2(java.lang.Exception...), VarargsAmbiguityCrashTest, kindname.method, m2(java.lang.Long,java.lang.Exception...), VarargsAmbiguityCrashTest +1 error
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/annotations/AnnotationTypeElementModifiers.java Thu Feb 06 16:12:26 2014 +0000 @@ -0,0 +1,46 @@ +/* + * @test /nodynamiccopyright/ + * @bug 8028428 + * @summary Test that only 'public' and 'abstract' elements compile + * @compile/fail/ref=AnnotationTypeElementModifiers.out -XDrawDiagnostics AnnotationTypeElementModifiers.java + */ + +public @interface AnnotationTypeElementModifiers { + // First 4 should work + public int A(); + public int AA() default 1; + + abstract int B(); + abstract int BB() default 1; + + // These shouldn't work + private int C(); + private int CC() default 1; + + protected int D(); + protected int DD() default 1; + + static int E(); + static int EE() default 1; + + final int F(); + final int FF() default 1; + + synchronized int H(); + synchronized int HH() default 1; + + volatile int I(); + volatile int II() default 1; + + transient int J(); + transient int JJ() default 1; + + native int K(); + native int KK() default 1; + + strictfp float L(); + strictfp float LL() default 0.1f; + + default int M(); + default int MM() default 1; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/annotations/AnnotationTypeElementModifiers.out Thu Feb 06 16:12:26 2014 +0000 @@ -0,0 +1,21 @@ +AnnotationTypeElementModifiers.java:17:17: compiler.err.mod.not.allowed.here: private +AnnotationTypeElementModifiers.java:18:17: compiler.err.mod.not.allowed.here: private +AnnotationTypeElementModifiers.java:20:19: compiler.err.mod.not.allowed.here: protected +AnnotationTypeElementModifiers.java:21:19: compiler.err.mod.not.allowed.here: protected +AnnotationTypeElementModifiers.java:23:16: compiler.err.mod.not.allowed.here: static +AnnotationTypeElementModifiers.java:24:16: compiler.err.mod.not.allowed.here: static +AnnotationTypeElementModifiers.java:26:15: compiler.err.mod.not.allowed.here: final +AnnotationTypeElementModifiers.java:27:15: compiler.err.mod.not.allowed.here: final +AnnotationTypeElementModifiers.java:29:22: compiler.err.mod.not.allowed.here: synchronized +AnnotationTypeElementModifiers.java:30:22: compiler.err.mod.not.allowed.here: synchronized +AnnotationTypeElementModifiers.java:32:18: compiler.err.mod.not.allowed.here: volatile +AnnotationTypeElementModifiers.java:33:18: compiler.err.mod.not.allowed.here: volatile +AnnotationTypeElementModifiers.java:35:19: compiler.err.mod.not.allowed.here: transient +AnnotationTypeElementModifiers.java:36:19: compiler.err.mod.not.allowed.here: transient +AnnotationTypeElementModifiers.java:38:16: compiler.err.mod.not.allowed.here: native +AnnotationTypeElementModifiers.java:39:16: compiler.err.mod.not.allowed.here: native +AnnotationTypeElementModifiers.java:41:20: compiler.err.mod.not.allowed.here: strictfp +AnnotationTypeElementModifiers.java:42:20: compiler.err.mod.not.allowed.here: strictfp +AnnotationTypeElementModifiers.java:44:17: compiler.err.mod.not.allowed.here: default +AnnotationTypeElementModifiers.java:45:17: compiler.err.mod.not.allowed.here: default +20 errors
--- a/test/tools/javac/annotations/repeatingAnnotations/combo/expectedFiles/ExpectedBase.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/repeatingAnnotations/combo/expectedFiles/ExpectedBase.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/repeatingAnnotations/combo/expectedFiles/ExpectedContainer.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/repeatingAnnotations/combo/expectedFiles/ExpectedContainer.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/TargetTypes.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/typeAnnotations/TargetTypes.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/api/AnnotatedArrayOrder.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/typeAnnotations/api/AnnotatedArrayOrder.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/api/ArrayCreationTree.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/typeAnnotations/api/ArrayCreationTree.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/api/ArrayPositionConsistency.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/typeAnnotations/api/ArrayPositionConsistency.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/classfile/NoTargetAnnotations.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/typeAnnotations/classfile/NoTargetAnnotations.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/annotations/typeAnnotations/failures/CheckForDeclAnnoNPE.java Thu Feb 06 16:12:26 2014 +0000 @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 8028699 + * @summary Ensure there is no NPE in checking for decl. annotations in this example + * @author Werner Dietl + * @compile -doe CheckForDeclAnnoNPE.java + */ + +import java.lang.annotation.ElementType; +import java.lang.annotation.Target; + + +class CheckForDeclAnnoNPE { + void test(String s) { + test(new @TA String().toString()); + } +} + +@Target(ElementType.TYPE_USE) +@interface TA {}
--- a/test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DeclarationAnnotation.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DeclarationAnnotation.java Thu Feb 06 16:12:26 2014 +0000 @@ -10,9 +10,6 @@ Object e1 = new @DA int[5]; Object e2 = new @DA String[42]; Object e3 = new @DA Object(); - - // The declaration annotation is only allowed for - // an anonymous class creation. Object ok = new @DA Object() { }; }
--- a/test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DeclarationAnnotation.out Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DeclarationAnnotation.out Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ DeclarationAnnotation.java:10:21: compiler.err.annotation.type.not.applicable DeclarationAnnotation.java:11:21: compiler.err.annotation.type.not.applicable DeclarationAnnotation.java:12:21: compiler.err.annotation.type.not.applicable -DeclarationAnnotation.java:16:21: compiler.err.annotation.type.not.applicable +DeclarationAnnotation.java:13:21: compiler.err.annotation.type.not.applicable 4 errors
--- a/test/tools/javac/annotations/typeAnnotations/failures/target/DotClass.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/typeAnnotations/failures/target/DotClass.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/newlocations/Lambda.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/typeAnnotations/newlocations/Lambda.java Thu Feb 06 16:12:26 2014 +0000 @@ -23,8 +23,9 @@ /* * @test - * @bug 8008077 + * @bug 8008077 8029721 * @summary new type annotation location: lambda expressions + * javac crash for annotated parameter type of lambda in a field * @compile Lambda.java * @author Werner Dietl */ @@ -57,6 +58,14 @@ LambdaInt2 getLambda() { return (@TA Object x, @TB Object y) -> { @TA Object l = null; System.out.println("We have: " + (@TB Object) x); }; } + + java.util.function.IntUnaryOperator x = (@TA int y) -> 1; + + static java.util.function.IntUnaryOperator xx = (@TA int y) -> 1; + + java.util.function.IntUnaryOperator foo() { + return (@TA int y) -> 2; + } } @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER})
--- a/test/tools/javac/annotations/typeAnnotations/newlocations/Varargs.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/typeAnnotations/newlocations/Varargs.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/Anno.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/Anno.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/MyClass.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/MyClass.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/package-info.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/package-info.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/referenceinfos/ClassExtends.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/typeAnnotations/referenceinfos/ClassExtends.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/referenceinfos/ClassTypeParam.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/typeAnnotations/referenceinfos/ClassTypeParam.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/referenceinfos/Fields.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/typeAnnotations/referenceinfos/Fields.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/referenceinfos/FromSpecification.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/typeAnnotations/referenceinfos/FromSpecification.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/referenceinfos/Lambda.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/typeAnnotations/referenceinfos/Lambda.java Thu Feb 06 16:12:26 2014 +0000 @@ -23,8 +23,9 @@ /* * @test - * @bug 8008077 + * @bug 8008077 8029721 * @summary Test population of reference info for lambda expressions + * javac crash for annotated parameter type of lambda in a field * @compile -g Driver.java ReferenceInfoUtil.java Lambda.java * @run main Driver Lambda * @author Werner Dietl @@ -285,4 +286,24 @@ " }" + "}"; } + + @TADescriptions({ + @TADescription(annotation = "TA", type = METHOD_FORMAL_PARAMETER, + paramIndex = 0)}) + public String lambdaField1() { + return + "class Test {" + + " java.util.function.IntUnaryOperator field = (@TA int y) -> 1;" + + "}"; + } + + @TADescriptions({ + @TADescription(annotation = "TA", type = METHOD_FORMAL_PARAMETER, + paramIndex = 0)}) + public String lambdaField2() { + return + "class Test {" + + " static java.util.function.IntUnaryOperator field = (@TA int y) -> 1;" + + "}"; + } }
--- a/test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodParameters.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodParameters.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodReceivers.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodReceivers.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodReturns.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodReturns.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodTypeParam.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodTypeParam.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/referenceinfos/RepeatingTypeAnnotations.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/typeAnnotations/referenceinfos/RepeatingTypeAnnotations.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeCasts.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeCasts.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeTests.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeTests.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/cast/intersection/IntersectionTypeParserTest.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/cast/intersection/IntersectionTypeParserTest.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/cast/intersection/model/Model01.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/cast/intersection/model/Model01.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/cast/intersection/model/ModelChecker.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/cast/intersection/model/ModelChecker.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/declaration/method/MethodVoidParameter.java Thu Feb 06 16:12:26 2014 +0000 @@ -0,0 +1,9 @@ +/* @test /nodynamiccopyright/ + * @bug 8026374 + * @summary Cannot use void as a variable type + * @compile/fail/ref=MethodVoidParameter.out -XDrawDiagnostics MethodVoidParameter.java + */ +public class MethodVoidParameter { + void method(void v) { } + void method(void... v) { } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/declaration/method/MethodVoidParameter.out Thu Feb 06 16:12:26 2014 +0000 @@ -0,0 +1,3 @@ +MethodVoidParameter.java:7:17: compiler.err.void.not.allowed.here +MethodVoidParameter.java:8:17: compiler.err.void.not.allowed.here +2 errors
--- a/test/tools/javac/defaultMethods/static/Static01.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/defaultMethods/static/Static01.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/defaultMethods/static/Static02.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/defaultMethods/static/Static02.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/defaultMethods/static/hiding/InterfaceMethodHidingTest.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/defaultMethods/static/hiding/InterfaceMethodHidingTest.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/defaultMethods/static/import/StaticImport1.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/defaultMethods/static/import/StaticImport1.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/defaultMethods/static/import/StaticImport2.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/defaultMethods/static/import/StaticImport2.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/defaultMethods/static/import/StaticImport3.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/defaultMethods/static/import/StaticImport3.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/defaultMethods/static/import/pkg/A.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/defaultMethods/static/import/pkg/A.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/defaultMethods/static/import/pkg/B.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/defaultMethods/static/import/pkg/B.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/defaultMethods/static/import/pkg/C.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/defaultMethods/static/import/pkg/C.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/defaultMethods/syntax/TestDefaultMethodsSyntax.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/defaultMethods/syntax/TestDefaultMethodsSyntax.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/diags/MessageFile.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/diags/MessageFile.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/diags/MessageInfo.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/diags/MessageInfo.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/diags/examples/AlreadyDefinedStaticImport/AlreadDefinedStaticImport.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/diags/examples/AlreadyDefinedStaticImport/AlreadDefinedStaticImport.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/diags/examples/AlreadyDefinedStaticImport/p/E1.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/diags/examples/AlreadyDefinedStaticImport/p/E1.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/diags/examples/AlreadyDefinedStaticImport/p/E2.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/diags/examples/AlreadyDefinedStaticImport/p/E2.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/diags/examples/IllegalStaticIntfMethCall.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/diags/examples/IllegalStaticIntfMethCall.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/diags/examples/KindnameConstructor.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/diags/examples/KindnameConstructor.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/diags/examples/NonStaticCantBeRefFragment.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/diags/examples/NonStaticCantBeRefFragment.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/diags/examples/NotInProfile.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/diags/examples/NotInProfile.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/diags/examples/RepeatableAnnotationsNotSupported.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/diags/examples/RepeatableAnnotationsNotSupported.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/diags/examples/StaticIntfMethodNotSupported.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/diags/examples/StaticIntfMethodNotSupported.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/diags/examples/WhereIntersection.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/diags/examples/WhereIntersection.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/expression/_super/NonDirectSuper/Base.java Thu Feb 06 16:12:26 2014 +0000 @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package base; + +public class Base extends PackagePrivate { } + +class PackagePrivate { + protected int refTobaseBase() { + return 0; + } + protected int refTotestOtherPackageTest() { + return 0; + } + protected int refTotestTarget11() { + return 0; + } + protected int refTotestCurPackagePrivateExt11() { + return 0; + } + protected int refTobaseBase; + protected int refTotestOtherPackageTest; + protected int refTotestTarget11; + protected int refTotestCurPackagePrivateExt11; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/expression/_super/NonDirectSuper/NonDirectSuper.java Thu Feb 06 16:12:26 2014 +0000 @@ -0,0 +1,179 @@ +/* + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 8027789 + * @summary check that the direct superclass is used as the site when calling + * a superclass' method + * @compile Base.java NonDirectSuper.java + * @compile -source 1.2 -target 1.1 Target11.java + * @run main test.NonDirectSuper + */ + +package test; + +import java.io.File; + +import com.sun.tools.classfile.Attribute; +import com.sun.tools.classfile.ClassFile; +import com.sun.tools.classfile.Code_attribute; +import com.sun.tools.classfile.ConstantPool.CPRefInfo; +import com.sun.tools.classfile.Instruction; +import com.sun.tools.classfile.Method; +import com.sun.tools.classfile.Opcode; + +public class NonDirectSuper { + public static void main(String... args) { + new NonDirectSuper().run(); + } + + void run() { + String workDir = System.getProperty("test.classes"); + File testPackage = new File(workDir, "test"); + + for (File clazz : testPackage.listFiles()) { + if ("NonDirectSuper.class".equals(clazz.getName())) continue; + verifyInvokeSpecialRefToObject(clazz); + } + } + + void verifyInvokeSpecialRefToObject(File clazz) { + try { + final ClassFile cf = ClassFile.read(clazz); + for (Method m : cf.methods) { + Code_attribute codeAttr = (Code_attribute)m.attributes.get(Attribute.Code); + for (Instruction instr : codeAttr.getInstructions()) { + if (instr.getOpcode() == Opcode.INVOKESPECIAL || + instr.getOpcode() == Opcode.INVOKEVIRTUAL) { + int pc_index = instr.getShort(1); + CPRefInfo ref = (CPRefInfo)cf.constant_pool.get(pc_index); + String className = ref.getClassName(); + String methodName = ref.getNameAndTypeInfo().getName(); + if (methodName.equals("toString")) { + if (!className.equals("java/lang/Object")) + throw new IllegalStateException("Must directly refer to j.l.Object"); + } else if (methodName.startsWith("refTo")) { + String expectedClass = methodName.substring("refTo".length()); + if (!className.replace("/", "").equals(expectedClass)) { + throw new IllegalStateException("Unexpected reference to: " + + className + ", should be " + expectedClass); + } + } + } + if (instr.getOpcode() == Opcode.GETFIELD || + instr.getOpcode() == Opcode.PUTFIELD) { + int pc_index = instr.getShort(1); + CPRefInfo ref = (CPRefInfo)cf.constant_pool.get(pc_index); + String className = ref.getClassName(); + String fieldName = ref.getNameAndTypeInfo().getName(); + if (fieldName.startsWith("refTo")) { + String expectedClass = fieldName.substring("refTo".length()); + if (!className.replace("/", "").equals(expectedClass)) { + throw new IllegalStateException("Unexpected reference to: " + + className + ", should be " + expectedClass); + } + } + } + } + } + } catch (Exception e) { + e.printStackTrace(); + throw new Error("error reading " + clazz +": " + e); + } + } +} + +class OtherPackageTest extends base.Base { + void run() { + new Runnable() { + public void run() { + OtherPackageTest.super.refTobaseBase(); + OtherPackageTest.super.refTobaseBase = OtherPackageTest.super.refTobaseBase + 1; + OtherPackageTest.super.toString(); + refTotestOtherPackageTest(); + refTotestOtherPackageTest = refTotestOtherPackageTest + 1; + OtherPackageTest.this.refTotestOtherPackageTest(); + OtherPackageTest.this.refTotestOtherPackageTest = + OtherPackageTest.this.refTotestOtherPackageTest + 1; + } + }.run(); + super.refTobaseBase(); + super.refTobaseBase = super.refTobaseBase + 1; + super.toString(); + OtherPackageTest.super.refTobaseBase(); + OtherPackageTest.super.refTobaseBase = OtherPackageTest.super.refTobaseBase + 1; + OtherPackageTest.super.toString(); + refTotestOtherPackageTest(); + refTotestOtherPackageTest = refTotestOtherPackageTest + 1; + } + + static class InnerBase { + private void refTotestOtherPackageTest$InnerBase() { } + } + static class InnerTest extends InnerBase { + void run() { + new Runnable() { + public void run() { + InnerTest.super.refTotestOtherPackageTest$InnerBase(); + } + }.run(); + super.refTotestOtherPackageTest$InnerBase(); + InnerTest.super.refTotestOtherPackageTest$InnerBase(); + } + } +} + +class CurPackagePrivateBase { + void refTotestCurPackagePrivateExt() { } + void refTotestCurPackagePrivateTest() { } + int refTotestCurPackagePrivateExt; + int refTotestCurPackagePrivateTest; +} + +class CurPackagePrivateExt extends CurPackagePrivateBase { +} + +class CurPackagePrivateTest extends CurPackagePrivateExt { + void run() { + new Runnable() { + public void run() { + CurPackagePrivateTest.super.refTotestCurPackagePrivateExt(); + CurPackagePrivateTest.super.refTotestCurPackagePrivateExt = + CurPackagePrivateTest.super.refTotestCurPackagePrivateExt + 1; + CurPackagePrivateTest.this.refTotestCurPackagePrivateTest(); + CurPackagePrivateTest.this.refTotestCurPackagePrivateTest = + CurPackagePrivateTest.this.refTotestCurPackagePrivateTest + 1; + refTotestCurPackagePrivateTest(); + refTotestCurPackagePrivateTest = refTotestCurPackagePrivateTest + 1; + } + }.run(); + super.refTotestCurPackagePrivateExt(); + super.refTotestCurPackagePrivateExt = super.refTotestCurPackagePrivateExt + 1; + CurPackagePrivateTest.super.refTotestCurPackagePrivateExt(); + CurPackagePrivateTest.super.refTotestCurPackagePrivateExt = + CurPackagePrivateTest.super.refTotestCurPackagePrivateExt + 1; + refTotestCurPackagePrivateTest(); + refTotestCurPackagePrivateTest = refTotestCurPackagePrivateTest + 1; + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/expression/_super/NonDirectSuper/Target11.java Thu Feb 06 16:12:26 2014 +0000 @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package test; + +class Target11 extends CurPackagePrivateExt11 { + void run() { + new Runnable() { + public void run() { + Target11.super.refTotestCurPackagePrivateBase11(); + Target11.super.refTotestCurPackagePrivateBase11 = + Target11.super.refTotestCurPackagePrivateBase11 + 1; + Target11.super.refTotestCurPackagePrivateExt11(); + Target11.super.refTotestCurPackagePrivateExt11 = + Target11.super.refTotestCurPackagePrivateExt11 + 1; + Target11.super.toString(); + refTotestCurPackagePrivateBase11(); + refTotestCurPackagePrivateBase11 = + refTotestCurPackagePrivateBase11 + 1; + refTotestTarget11(); + refTotestTarget11 = refTotestTarget11 + 1; + Target11.this.refTotestCurPackagePrivateBase11(); + Target11.this.refTotestCurPackagePrivateBase11 = + Target11.this.refTotestCurPackagePrivateBase11 + 1; + Target11.this.refTotestTarget11(); + Target11.this.refTotestTarget11 = + Target11.this.refTotestTarget11 + 1; + } + }.run(); + super.refTotestCurPackagePrivateBase11(); + super.refTotestCurPackagePrivateBase11 = + super.refTotestCurPackagePrivateBase11 + 1; + super.refTotestCurPackagePrivateExt11(); + super.refTotestCurPackagePrivateExt11 = + super.refTotestCurPackagePrivateExt11 + 1; + super.toString(); + + Target11.super.refTotestCurPackagePrivateBase11(); + Target11.super.refTotestCurPackagePrivateBase11 = + Target11.super.refTotestCurPackagePrivateBase11 + 1; + Target11.super.refTotestCurPackagePrivateExt11(); + Target11.super.refTotestCurPackagePrivateExt11 = + Target11.super.refTotestCurPackagePrivateExt11 + 1; + + refTotestCurPackagePrivateBase11(); + refTotestCurPackagePrivateBase11 = refTotestCurPackagePrivateBase11 + 1; + refTotestTarget11 = refTotestTarget11 + 1; + } +} + +class CurPackagePrivateBase11 extends base.Base { + protected void refTotestCurPackagePrivateBase11() {} + protected int refTotestCurPackagePrivateBase11; +} + +class CurPackagePrivateExt11 extends CurPackagePrivateBase11 { }
--- a/test/tools/javac/generics/odersky/BadTest4.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/generics/odersky/BadTest4.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/DoubleStaticImport.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/lambda/DoubleStaticImport.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/Intersection01.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/lambda/Intersection01.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/Intersection02.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/lambda/Intersection02.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/LambdaCapture06.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/lambda/LambdaCapture06.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/LambdaConv01.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/lambda/LambdaConv01.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/LambdaExpr15.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/lambda/LambdaExpr15.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/lambda/LambdaParenGeneric.java Thu Feb 06 16:12:26 2014 +0000 @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 8029558 + * @summary VerifyError lambda body is parenthesized generic value + * @author Robert Field + * @run main LambdaParenGeneric + */ + +public class LambdaParenGeneric { + + @FunctionalInterface + public interface FI { + Integer apply(); + } + + public static class Val<A> { + A value; + Val(A v) { value = v; } + } + + public static void main(String[] args) { + FI inc = () -> (new Val<Integer>(77).value); + System.out.println(inc.apply()); + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/lambda/LambdaParenGenericOrig.java Thu Feb 06 16:12:26 2014 +0000 @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 8029558 + * @summary VerifyError lambda body is parenthesized generic value (originally submitted test) + * @author Dmitrii Afanasyev + * @run main LambdaParenGenericOrig + */ + +public class LambdaParenGenericOrig { + + @FunctionalInterface + public static interface Function1<R, A> { + R apply(A input); + } + + @FunctionalInterface + public static interface Function2<R, A1, A2> { + R apply(A1 input1, A2 input2); + } + + public static void main(String[] args) { + final Function2<Integer, Integer, Integer> add = (x, y) -> x + y; + final Function1<Integer, Integer> inc = x -> (add.apply(x, 1)); + System.out.println(inc.apply(0)); + } +}
--- a/test/tools/javac/lambda/LambdaScope05.out Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/lambda/LambdaScope05.out Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ LambdaScope05.java:13:47: compiler.err.already.defined.in.clinit: kindname.variable, p, kindname.static.init, kindname.class, LambdaScope05 -LambdaScope05.java:14:40: compiler.err.already.defined.in.clinit: kindname.variable, p, kindname.instance.init, kindname.class, LambdaScope05 +LambdaScope05.java:14:40: compiler.err.already.defined: kindname.variable, p, kindname.constructor, LambdaScope05() LambdaScope05.java:17:43: compiler.err.already.defined.in.clinit: kindname.variable, p, kindname.static.init, kindname.class, LambdaScope05 LambdaScope05.java:21:43: compiler.err.already.defined.in.clinit: kindname.variable, p, kindname.instance.init, kindname.class, LambdaScope05 LambdaScope05.java:25:43: compiler.err.already.defined: kindname.variable, p, kindname.method, m_static()
--- a/test/tools/javac/lambda/MethodReference25.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/lambda/MethodReference25.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/MethodReference26.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/lambda/MethodReference26.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/MethodReference59.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/lambda/MethodReference59.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/MethodReference60.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/lambda/MethodReference60.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/TargetType51.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/lambda/TargetType51.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/lambdaExecution/InInterface.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/lambda/lambdaExecution/InInterface.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/lambdaExpression/LambdaTest6.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/lambda/lambdaExpression/LambdaTest6.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/lambdaExpression/SamConversionComboTest.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/lambda/lambdaExpression/SamConversionComboTest.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/methodReference/BridgeMethod.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/lambda/methodReference/BridgeMethod.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/methodReference/SamConversion.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/lambda/methodReference/SamConversion.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/methodReference/SamConversionComboTest.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/lambda/methodReference/SamConversionComboTest.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestMethodHandle.java Thu Feb 06 16:12:26 2014 +0000 @@ -0,0 +1,105 @@ +/* + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/** + * @test + * @bug 8028739 + * @summary javac generates incorrect descriptor for MethodHandle::invoke + * @run testng MethodReferenceTestMethodHandle + */ + +import java.lang.invoke.*; +import java.util.*; + +import org.testng.annotations.Test; +import static org.testng.Assert.assertEquals; + +@Test +public class MethodReferenceTestMethodHandle { + + MethodHandles.Lookup lookup = MethodHandles.lookup(); + + interface ReplaceItf { + Object apply(String a, char b, char c) throws Throwable; + } + + interface FormatItf { + Object apply(String a, Object... args) throws Throwable; + } + + interface AddItf { + void apply(List st, int idx, Object v) throws Throwable; + } + + public void testVirtual() throws Throwable { + + MethodType mt = MethodType.methodType(String.class, char.class, char.class); + MethodHandle ms = lookup.findVirtual(String.class, "replace", mt); + + // --- String.replace(String, char, char) --- + + assertEquals("oome otring to oearch", ms.invoke("some string to search", 's', 'o')); + + ReplaceItf f1 = (a, b, c) -> ms.invoke(a,b,c); + assertEquals("oome otring to oearch", f1.apply("some string to search", 's', 'o')); + + ReplaceItf f2 = ms::invoke; + assertEquals("oome otring to oearch", f2.apply("some string to search", 's', 'o')); + assertEquals("oome otring to oearch", f2.apply("some string to search", new Character('s'), 'o')); + assertEquals("oome otring to oearch", ((ReplaceItf) ms::invoke).apply("some string to search", 's', 'o')); + } + + public void testStatic() throws Throwable { + MethodType fmt = MethodType.methodType(String.class, String.class, (new Object[1]).getClass()); + MethodHandle fms = lookup.findStatic(String.class, "format", fmt); + + // --- String.format(String, Object...) --- + + assertEquals("Testing One 2 3", fms.invoke("Testing %s %d %x", "One", new Integer(2), 3)); + + FormatItf ff2 = fms::invoke; + assertEquals("Testing One 2 3", ff2.apply("Testing %s %d %x", "One", new Integer(2), 3)); + assertEquals("Testing One 2 3", ((FormatItf) fms::invoke).apply("Testing %s %d %x", "One", new Integer(2), 3)); + assertEquals("Testing One 2 3 four", ff2.apply("Testing %s %d %x %s", "One", new Integer(2), 3, "four")); + } + + public void testVoid() throws Throwable { + MethodType pmt = MethodType.methodType(void.class, int.class, Object.class); + MethodHandle pms = lookup.findVirtual(List.class, "add", pmt); + List<String> list = new ArrayList<>(); + + // --- List.add(int,String) --- + + pms.invoke(list, 0, "Hi"); + + AddItf pf2 = pms::invoke; + pf2.apply(list, 1, "there"); + AddItf pf3 = pms::invokeExact; + pf3.apply(list, 2, "you"); + assertEquals("Hi", list.get(0)); + assertEquals("there", list.get(1)); + assertEquals("you", list.get(2)); + } +}
--- a/test/tools/javac/lambda/typeInference/InferenceTest2b.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/lambda/typeInference/InferenceTest2b.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/Compiler.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/Compiler.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/SourceModel.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/SourceModel.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/TestHarness.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/TestHarness.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/multicatch/Pos05.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/multicatch/Pos05.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/processing/environment/round/TestElementsAnnotatedWith.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/processing/environment/round/TestElementsAnnotatedWith.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/processing/model/type/IntersectionPropertiesTest.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/processing/model/type/IntersectionPropertiesTest.java Thu Feb 06 16:12:26 2014 +0000 @@ -31,26 +31,27 @@ */ import com.sun.source.util.*; -import com.sun.tools.javac.api.*; -import com.sun.tools.javac.file.*; +import com.sun.tools.javac.util.Assert; import javax.annotation.processing.*; -import javax.lang.model.SourceVersion; import javax.lang.model.type.*; import javax.lang.model.util.ElementFilter; import javax.lang.model.element.*; import javax.tools.*; import java.util.*; import java.io.*; +import javax.lang.model.util.Types; public class IntersectionPropertiesTest { private int errors = 0; private static final String Intersection_name = "IntersectionTest.java"; private static final String Intersection_contents = + "import java.util.AbstractList;\n" + "import java.util.List;\n" + "import java.io.Serializable;\t" + - "public class IntersectionTest<S extends List & Serializable> {\n" + - " void method(S s) { }\n" + + "public class IntersectionTest<S extends List & Serializable, One extends AbstractList & Runnable & Serializable, Two extends AbstractList & Serializable & Runnable> {\n" + + " void method(S s, One o, Two t) { }\n" + + " public static abstract class SubType extends AbstractList implements Runnable, Serializable { } \n" + "}"; private static final File classesdir = new File("intersectionproperties"); @@ -116,7 +117,8 @@ TypeParameterElement typeParameterElement = ((TypeParameterElement) typeVariable.asElement()); final List<? extends TypeMirror> bounds = typeParameterElement.getBounds(); - final HashSet<TypeMirror> actual = new HashSet<TypeMirror>(processingEnv.getTypeUtils().directSupertypes(upperBound)); + Types types = processingEnv.getTypeUtils(); + final HashSet<TypeMirror> actual = new HashSet<TypeMirror>(types.directSupertypes(upperBound)); final HashSet<TypeMirror> expected = new HashSet<TypeMirror>(bounds); if (!expected.equals(actual)) { System.err.println("Mismatched expected and actual bounds."); @@ -128,6 +130,40 @@ System.err.println(" " + tm); errors++; } + + TypeVariable oneTypeVariable = (TypeVariable) method.getParameters().get(1).asType(); + TypeMirror oneUpperBound = oneTypeVariable.getUpperBound(); + TypeVariable twoTypeVariable = (TypeVariable) method.getParameters().get(2).asType(); + TypeMirror twoUpperBound = twoTypeVariable.getUpperBound(); + TypeElement oneUpperBoundElement = (TypeElement) types.asElement(oneUpperBound); + + Assert.checkNonNull(oneUpperBoundElement); + + Assert.check("java.util.AbstractList".equals(oneUpperBoundElement.getSuperclass().toString()), + oneUpperBoundElement.getSuperclass().toString()); + + List<String> superInterfaces = new java.util.ArrayList<>(); + + for (TypeMirror tm : oneUpperBoundElement.getInterfaces()) { + superInterfaces.add(tm.toString()); + } + + Assert.check(java.util.Arrays.asList("java.lang.Runnable", + "java.io.Serializable").equals(superInterfaces), + superInterfaces); + + Assert.check(types.isSameType(upperBound, types.capture(upperBound))); + Assert.check(types.isSameType(types.erasure(typeVariable), types.erasure(upperBound))); + + TypeElement subTypeClass = processingEnv.getElementUtils().getTypeElement("IntersectionTest.SubType"); + + Assert.checkNonNull(subTypeClass); + + Assert.check(types.isAssignable(subTypeClass.asType(), oneUpperBound)); + Assert.check(types.isSameType(oneUpperBound, twoUpperBound)); + Assert.check(!types.isSameType(upperBound, twoUpperBound)); + Assert.check(types.isSubtype(subTypeClass.asType(), oneUpperBound)); + Assert.check(types.isSubtype(oneUpperBound, upperBound)); } }
--- a/test/tools/javac/resolve/Pos.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/resolve/Pos.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/resolve/ResolveHarness.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/resolve/ResolveHarness.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/resolve/tests/PrimitiveOverReferenceVarargsAmbiguous.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/resolve/tests/PrimitiveOverReferenceVarargsAmbiguous.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/warnings/AuxiliaryClass/ClassUsingAnotherAuxiliary.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/warnings/AuxiliaryClass/ClassUsingAnotherAuxiliary.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/warnings/AuxiliaryClass/ClassUsingAuxiliary.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/warnings/AuxiliaryClass/ClassUsingAuxiliary.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/warnings/AuxiliaryClass/SelfClassWithAux.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javac/warnings/AuxiliaryClass/SelfClassWithAux.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javadoc/api/basic/APITest.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/javadoc/api/basic/APITest.java Thu Feb 06 16:12:26 2014 +0000 @@ -202,12 +202,6 @@ "pkg/package-frame.html", "pkg/package-summary.html", "pkg/package-tree.html", - "resources/background.gif", - "resources/tab.gif", - "resources/activetitlebar_end.gif", - "resources/activetitlebar.gif", - "resources/titlebar_end.gif", - "resources/titlebar.gif", "script.js", "stylesheet.css" ));
--- a/test/tools/jdeps/APIDeps.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/jdeps/APIDeps.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,8 +23,8 @@ /* * @test - * @bug 8015912 - * @summary find API dependencies + * @bug 8015912 8029216 + * @summary Test -apionly and -jdkinternals options * @build m.Bar m.Foo m.Gee b.B c.C c.I d.D e.E f.F g.G * @run main APIDeps */ @@ -88,6 +88,19 @@ new String[] {"g.G", "sun.misc.Lock"}, new String[] {testDirBasename, "JDK internal API"}, new String[] {"-classpath", testDir.getPath(), "-verbose"}); + + // -jdkinternals + test(new File(mDir, "Gee.class"), + new String[] {"sun.misc.Lock"}, + new String[] {"JDK internal API"}, + new String[] {"-jdkinternals"}); + // -jdkinternals parses all classes on -classpath and the input arguments + test(new File(mDir, "Gee.class"), + new String[] {"sun.misc.Lock", "sun.misc.Unsafe"}, + new String[] {"JDK internal API"}, + new String[] {"-classpath", testDir.getPath(), "-jdkinternals"}); + + // parse only APIs // parse only APIs test(mDir, new String[] {"java.lang.Object", "java.lang.String",
--- a/test/tools/jdeps/p/Foo.java Mon Dec 23 13:00:24 2013 +0000 +++ b/test/tools/jdeps/p/Foo.java Thu Feb 06 16:12:26 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it