8244763: Update --release 8 symbol information after JSR 337 MR3

Reviewed-by: jjg, wetmore
This commit is contained in:
Jan Lahoda 2020-05-18 18:20:53 +02:00
parent 2e65885257
commit a4b135316c
9 changed files with 335 additions and 128 deletions

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -632,10 +632,37 @@ class name java/security/cert/X509CRL
class name java/security/cert/X509Certificate class name java/security/cert/X509Certificate
-method name verify descriptor (Ljava/security/PublicKey;Ljava/security/Provider;)V -method name verify descriptor (Ljava/security/PublicKey;Ljava/security/Provider;)V
class name java/security/interfaces/RSAKey
-method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec;
-class name java/security/spec/DSAGenParameterSpec -class name java/security/spec/DSAGenParameterSpec
class name java/security/spec/MGF1ParameterSpec class name java/security/spec/MGF1ParameterSpec
-field name SHA224 descriptor Ljava/security/spec/MGF1ParameterSpec; -field name SHA224 descriptor Ljava/security/spec/MGF1ParameterSpec;
-field name SHA512_224 descriptor Ljava/security/spec/MGF1ParameterSpec;
-field name SHA512_256 descriptor Ljava/security/spec/MGF1ParameterSpec;
class name java/security/spec/PSSParameterSpec
-field name TRAILER_FIELD_BC descriptor I
-method name toString descriptor ()Ljava/lang/String;
class name java/security/spec/RSAKeyGenParameterSpec
-method name <init> descriptor (ILjava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V
-method name getKeyParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec;
class name java/security/spec/RSAMultiPrimePrivateCrtKeySpec
-method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;[Ljava/security/spec/RSAOtherPrimeInfo;Ljava/security/spec/AlgorithmParameterSpec;)V
class name java/security/spec/RSAPrivateCrtKeySpec
-method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V
class name java/security/spec/RSAPrivateKeySpec
-method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V
-method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec;
class name java/security/spec/RSAPublicKeySpec
-method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V
-method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec;
class name java/text/Collator class name java/text/Collator
-method name getInstance descriptor (Ljava/util/Locale;)Ljava/text/Collator; -method name getInstance descriptor (Ljava/util/Locale;)Ljava/text/Collator;
@ -1457,6 +1484,14 @@ method name newUpdater descriptor (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/
-class name java/util/function/UnaryOperator -class name java/util/function/UnaryOperator
class name java/util/jar/Attributes$Name
-field name EXTENSION_INSTALLATION descriptor Ljava/util/jar/Attributes$Name;
-field name IMPLEMENTATION_VENDOR_ID descriptor Ljava/util/jar/Attributes$Name;
-field name IMPLEMENTATION_URL descriptor Ljava/util/jar/Attributes$Name;
field name EXTENSION_INSTALLATION descriptor Ljava/util/jar/Attributes$Name; flags 19
field name IMPLEMENTATION_VENDOR_ID descriptor Ljava/util/jar/Attributes$Name; flags 19
field name IMPLEMENTATION_URL descriptor Ljava/util/jar/Attributes$Name; flags 19
class name java/util/jar/JarFile class name java/util/jar/JarFile
-method name stream descriptor ()Ljava/util/stream/Stream; -method name stream descriptor ()Ljava/util/stream/Stream;
@ -1535,6 +1570,9 @@ class name java/util/zip/ZipEntry
class name java/util/zip/ZipFile class name java/util/zip/ZipFile
-method name stream descriptor ()Ljava/util/stream/Stream; -method name stream descriptor ()Ljava/util/stream/Stream;
class name javax/crypto/SealedObject
header extends java/lang/Object implements java/io/Serializable flags 21
class name javax/crypto/SecretKey class name javax/crypto/SecretKey
header extends java/lang/Object implements java/security/Key flags 601 header extends java/lang/Object implements java/security/Key flags 601
@ -1559,6 +1597,12 @@ class name javax/net/ssl/ExtendedSSLSession
-class name javax/net/ssl/SNIServerName -class name javax/net/ssl/SNIServerName
class name javax/net/ssl/SSLEngine
-method name getApplicationProtocol descriptor ()Ljava/lang/String;
-method name getHandshakeApplicationProtocol descriptor ()Ljava/lang/String;
-method name setHandshakeApplicationProtocolSelector descriptor (Ljava/util/function/BiFunction;)V
-method name getHandshakeApplicationProtocolSelector descriptor ()Ljava/util/function/BiFunction;
class name javax/net/ssl/SSLParameters class name javax/net/ssl/SSLParameters
-method name setServerNames descriptor (Ljava/util/List;)V -method name setServerNames descriptor (Ljava/util/List;)V
-method name getServerNames descriptor ()Ljava/util/List; -method name getServerNames descriptor ()Ljava/util/List;
@ -1566,6 +1610,14 @@ class name javax/net/ssl/SSLParameters
-method name getSNIMatchers descriptor ()Ljava/util/Collection; -method name getSNIMatchers descriptor ()Ljava/util/Collection;
-method name setUseCipherSuitesOrder descriptor (Z)V -method name setUseCipherSuitesOrder descriptor (Z)V
-method name getUseCipherSuitesOrder descriptor ()Z -method name getUseCipherSuitesOrder descriptor ()Z
-method name getApplicationProtocols descriptor ()[Ljava/lang/String;
-method name setApplicationProtocols descriptor ([Ljava/lang/String;)V
class name javax/net/ssl/SSLSocket
-method name getApplicationProtocol descriptor ()Ljava/lang/String;
-method name getHandshakeApplicationProtocol descriptor ()Ljava/lang/String;
-method name setHandshakeApplicationProtocolSelector descriptor (Ljava/util/function/BiFunction;)V
-method name getHandshakeApplicationProtocolSelector descriptor ()Ljava/util/function/BiFunction;
class name javax/net/ssl/SSLSocketFactory class name javax/net/ssl/SSLSocketFactory
-method name createSocket descriptor (Ljava/net/Socket;Ljava/io/InputStream;Z)Ljava/net/Socket; -method name createSocket descriptor (Ljava/net/Socket;Ljava/io/InputStream;Z)Ljava/net/Socket;

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -8200,6 +8200,7 @@ method name getW descriptor ()Ljava/security/spec/ECPoint; flags 401
class name java/security/interfaces/RSAKey class name java/security/interfaces/RSAKey
header extends java/lang/Object flags 601 classAnnotations @Ljdk/Profile+Annotation;(value=I1) header extends java/lang/Object flags 601 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
method name getModulus descriptor ()Ljava/math/BigInteger; flags 401 method name getModulus descriptor ()Ljava/math/BigInteger; flags 401
method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1
class name java/security/interfaces/RSAMultiPrimePrivateCrtKey class name java/security/interfaces/RSAMultiPrimePrivateCrtKey
header extends java/lang/Object implements java/security/interfaces/RSAPrivateKey flags 601 classAnnotations @Ljdk/Profile+Annotation;(value=I1) header extends java/lang/Object implements java/security/interfaces/RSAPrivateKey flags 601 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
@ -8363,6 +8364,8 @@ field name SHA224 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19
field name SHA256 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19 field name SHA256 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19
field name SHA384 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19 field name SHA384 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19
field name SHA512 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19 field name SHA512 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19
field name SHA512_224 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19
field name SHA512_256 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19
method name <init> descriptor (Ljava/lang/String;)V flags 1 method name <init> descriptor (Ljava/lang/String;)V flags 1
method name getDigestAlgorithm descriptor ()Ljava/lang/String; flags 1 method name getDigestAlgorithm descriptor ()Ljava/lang/String; flags 1
@ -8375,6 +8378,7 @@ method name getFormat descriptor ()Ljava/lang/String; flags 11
class name java/security/spec/PSSParameterSpec class name java/security/spec/PSSParameterSpec
header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
field name DEFAULT descriptor Ljava/security/spec/PSSParameterSpec; flags 19 field name DEFAULT descriptor Ljava/security/spec/PSSParameterSpec; flags 19
field name TRAILER_FIELD_BC descriptor I constantValue 1 flags 19
method name <init> descriptor (Ljava/lang/String;Ljava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;II)V flags 1 method name <init> descriptor (Ljava/lang/String;Ljava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;II)V flags 1
method name <init> descriptor (I)V flags 1 method name <init> descriptor (I)V flags 1
method name getDigestAlgorithm descriptor ()Ljava/lang/String; flags 1 method name getDigestAlgorithm descriptor ()Ljava/lang/String; flags 1
@ -8382,6 +8386,7 @@ method name getMGFAlgorithm descriptor ()Ljava/lang/String; flags 1
method name getMGFParameters descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1 method name getMGFParameters descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1
method name getSaltLength descriptor ()I flags 1 method name getSaltLength descriptor ()I flags 1
method name getTrailerField descriptor ()I flags 1 method name getTrailerField descriptor ()I flags 1
method name toString descriptor ()Ljava/lang/String; flags 1
class name java/security/spec/RSAKeyGenParameterSpec class name java/security/spec/RSAKeyGenParameterSpec
header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
@ -8390,6 +8395,8 @@ field name F4 descriptor Ljava/math/BigInteger; flags 19
method name <init> descriptor (ILjava/math/BigInteger;)V flags 1 method name <init> descriptor (ILjava/math/BigInteger;)V flags 1
method name getKeysize descriptor ()I flags 1 method name getKeysize descriptor ()I flags 1
method name getPublicExponent descriptor ()Ljava/math/BigInteger; flags 1 method name getPublicExponent descriptor ()Ljava/math/BigInteger; flags 1
method name <init> descriptor (ILjava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1
method name getKeyParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1
class name java/security/spec/RSAMultiPrimePrivateCrtKeySpec class name java/security/spec/RSAMultiPrimePrivateCrtKeySpec
header extends java/security/spec/RSAPrivateKeySpec flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) header extends java/security/spec/RSAPrivateKeySpec flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
@ -8401,6 +8408,7 @@ method name getPrimeExponentP descriptor ()Ljava/math/BigInteger; flags 1
method name getPrimeExponentQ descriptor ()Ljava/math/BigInteger; flags 1 method name getPrimeExponentQ descriptor ()Ljava/math/BigInteger; flags 1
method name getCrtCoefficient descriptor ()Ljava/math/BigInteger; flags 1 method name getCrtCoefficient descriptor ()Ljava/math/BigInteger; flags 1
method name getOtherPrimeInfo descriptor ()[Ljava/security/spec/RSAOtherPrimeInfo; flags 1 method name getOtherPrimeInfo descriptor ()[Ljava/security/spec/RSAOtherPrimeInfo; flags 1
method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;[Ljava/security/spec/RSAOtherPrimeInfo;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1
class name java/security/spec/RSAOtherPrimeInfo class name java/security/spec/RSAOtherPrimeInfo
header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
@ -8418,18 +8426,23 @@ method name getPrimeQ descriptor ()Ljava/math/BigInteger; flags 1
method name getPrimeExponentP descriptor ()Ljava/math/BigInteger; flags 1 method name getPrimeExponentP descriptor ()Ljava/math/BigInteger; flags 1
method name getPrimeExponentQ descriptor ()Ljava/math/BigInteger; flags 1 method name getPrimeExponentQ descriptor ()Ljava/math/BigInteger; flags 1
method name getCrtCoefficient descriptor ()Ljava/math/BigInteger; flags 1 method name getCrtCoefficient descriptor ()Ljava/math/BigInteger; flags 1
method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1
class name java/security/spec/RSAPrivateKeySpec class name java/security/spec/RSAPrivateKeySpec
header extends java/lang/Object implements java/security/spec/KeySpec flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) header extends java/lang/Object implements java/security/spec/KeySpec flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;)V flags 1 method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;)V flags 1
method name getModulus descriptor ()Ljava/math/BigInteger; flags 1 method name getModulus descriptor ()Ljava/math/BigInteger; flags 1
method name getPrivateExponent descriptor ()Ljava/math/BigInteger; flags 1 method name getPrivateExponent descriptor ()Ljava/math/BigInteger; flags 1
method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1
method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1
class name java/security/spec/RSAPublicKeySpec class name java/security/spec/RSAPublicKeySpec
header extends java/lang/Object implements java/security/spec/KeySpec flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) header extends java/lang/Object implements java/security/spec/KeySpec flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;)V flags 1 method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;)V flags 1
method name getModulus descriptor ()Ljava/math/BigInteger; flags 1 method name getModulus descriptor ()Ljava/math/BigInteger; flags 1
method name getPublicExponent descriptor ()Ljava/math/BigInteger; flags 1 method name getPublicExponent descriptor ()Ljava/math/BigInteger; flags 1
method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1
method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1
class name java/security/spec/X509EncodedKeySpec class name java/security/spec/X509EncodedKeySpec
header extends java/security/spec/EncodedKeySpec flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) header extends java/security/spec/EncodedKeySpec flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
@ -10429,6 +10442,7 @@ method name values descriptor ()[Ljava/time/chrono/JapaneseEra; flags 9
method name getValue descriptor ()I flags 1 method name getValue descriptor ()I flags 1
method name range descriptor (Ljava/time/temporal/TemporalField;)Ljava/time/temporal/ValueRange; flags 1 method name range descriptor (Ljava/time/temporal/TemporalField;)Ljava/time/temporal/ValueRange; flags 1
method name toString descriptor ()Ljava/lang/String; flags 1 method name toString descriptor ()Ljava/lang/String; flags 1
method name getDisplayName descriptor (Ljava/time/format/TextStyle;Ljava/util/Locale;)Ljava/lang/String; flags 1
class name java/time/chrono/MinguoChronology class name java/time/chrono/MinguoChronology
header extends java/time/chrono/AbstractChronology implements java/io/Serializable flags 31 classAnnotations @Ljdk/Profile+Annotation;(value=I1) header extends java/time/chrono/AbstractChronology implements java/io/Serializable flags 31 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
@ -15563,15 +15577,15 @@ field name MAIN_CLASS descriptor Ljava/util/jar/Attributes$Name; flags 19
field name SEALED descriptor Ljava/util/jar/Attributes$Name; flags 19 field name SEALED descriptor Ljava/util/jar/Attributes$Name; flags 19
field name EXTENSION_LIST descriptor Ljava/util/jar/Attributes$Name; flags 19 field name EXTENSION_LIST descriptor Ljava/util/jar/Attributes$Name; flags 19
field name EXTENSION_NAME descriptor Ljava/util/jar/Attributes$Name; flags 19 field name EXTENSION_NAME descriptor Ljava/util/jar/Attributes$Name; flags 19
field name EXTENSION_INSTALLATION descriptor Ljava/util/jar/Attributes$Name; flags 19
field name IMPLEMENTATION_TITLE descriptor Ljava/util/jar/Attributes$Name; flags 19 field name IMPLEMENTATION_TITLE descriptor Ljava/util/jar/Attributes$Name; flags 19
field name IMPLEMENTATION_VERSION descriptor Ljava/util/jar/Attributes$Name; flags 19 field name IMPLEMENTATION_VERSION descriptor Ljava/util/jar/Attributes$Name; flags 19
field name IMPLEMENTATION_VENDOR descriptor Ljava/util/jar/Attributes$Name; flags 19 field name IMPLEMENTATION_VENDOR descriptor Ljava/util/jar/Attributes$Name; flags 19
field name IMPLEMENTATION_VENDOR_ID descriptor Ljava/util/jar/Attributes$Name; flags 19
field name IMPLEMENTATION_URL descriptor Ljava/util/jar/Attributes$Name; flags 19
field name SPECIFICATION_TITLE descriptor Ljava/util/jar/Attributes$Name; flags 19 field name SPECIFICATION_TITLE descriptor Ljava/util/jar/Attributes$Name; flags 19
field name SPECIFICATION_VERSION descriptor Ljava/util/jar/Attributes$Name; flags 19 field name SPECIFICATION_VERSION descriptor Ljava/util/jar/Attributes$Name; flags 19
field name SPECIFICATION_VENDOR descriptor Ljava/util/jar/Attributes$Name; flags 19 field name SPECIFICATION_VENDOR descriptor Ljava/util/jar/Attributes$Name; flags 19
field name EXTENSION_INSTALLATION descriptor Ljava/util/jar/Attributes$Name; flags 19 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
field name IMPLEMENTATION_VENDOR_ID descriptor Ljava/util/jar/Attributes$Name; flags 19 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
field name IMPLEMENTATION_URL descriptor Ljava/util/jar/Attributes$Name; flags 19 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
method name <init> descriptor (Ljava/lang/String;)V flags 1 method name <init> descriptor (Ljava/lang/String;)V flags 1
method name equals descriptor (Ljava/lang/Object;)Z flags 1 method name equals descriptor (Ljava/lang/Object;)Z flags 1
method name hashCode descriptor ()I flags 1 method name hashCode descriptor ()I flags 1
@ -16698,6 +16712,7 @@ method name <init> descriptor ()V flags 1
class name javax/crypto/SealedObject class name javax/crypto/SealedObject
header extends java/lang/Object implements java/io/Serializable flags 21 header extends java/lang/Object implements java/io/Serializable flags 21
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
field name encodedParams descriptor [B flags 4 field name encodedParams descriptor [B flags 4
method name <init> descriptor (Ljava/io/Serializable;Ljavax/crypto/Cipher;)V thrownTypes java/io/IOException,javax/crypto/IllegalBlockSizeException flags 1 method name <init> descriptor (Ljava/io/Serializable;Ljavax/crypto/Cipher;)V thrownTypes java/io/IOException,javax/crypto/IllegalBlockSizeException flags 1
method name <init> descriptor (Ljavax/crypto/SealedObject;)V flags 4 method name <init> descriptor (Ljavax/crypto/SealedObject;)V flags 4
@ -17086,6 +17101,10 @@ method name setEnableSessionCreation descriptor (Z)V flags 401
method name getEnableSessionCreation descriptor ()Z flags 401 method name getEnableSessionCreation descriptor ()Z flags 401
method name getSSLParameters descriptor ()Ljavax/net/ssl/SSLParameters; flags 1 method name getSSLParameters descriptor ()Ljavax/net/ssl/SSLParameters; flags 1
method name setSSLParameters descriptor (Ljavax/net/ssl/SSLParameters;)V flags 1 method name setSSLParameters descriptor (Ljavax/net/ssl/SSLParameters;)V flags 1
method name getApplicationProtocol descriptor ()Ljava/lang/String; flags 1
method name getHandshakeApplicationProtocol descriptor ()Ljava/lang/String; flags 1
method name setHandshakeApplicationProtocolSelector descriptor (Ljava/util/function/BiFunction;)V flags 1 signature (Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLEngine;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;)V
method name getHandshakeApplicationProtocolSelector descriptor ()Ljava/util/function/BiFunction; flags 1 signature ()Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLEngine;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;
class name javax/net/ssl/SSLEngineResult class name javax/net/ssl/SSLEngineResult
header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
@ -17156,6 +17175,8 @@ method name setSNIMatchers descriptor (Ljava/util/Collection;)V flags 11 signatu
method name getSNIMatchers descriptor ()Ljava/util/Collection; flags 11 signature ()Ljava/util/Collection<Ljavax/net/ssl/SNIMatcher;>; method name getSNIMatchers descriptor ()Ljava/util/Collection; flags 11 signature ()Ljava/util/Collection<Ljavax/net/ssl/SNIMatcher;>;
method name setUseCipherSuitesOrder descriptor (Z)V flags 11 method name setUseCipherSuitesOrder descriptor (Z)V flags 11
method name getUseCipherSuitesOrder descriptor ()Z flags 11 method name getUseCipherSuitesOrder descriptor ()Z flags 11
method name getApplicationProtocols descriptor ()[Ljava/lang/String; flags 1
method name setApplicationProtocols descriptor ([Ljava/lang/String;)V flags 1
class name javax/net/ssl/SSLPeerUnverifiedException class name javax/net/ssl/SSLPeerUnverifiedException
header extends javax/net/ssl/SSLException flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) header extends javax/net/ssl/SSLException flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
@ -17272,6 +17293,10 @@ method name setEnableSessionCreation descriptor (Z)V flags 401
method name getEnableSessionCreation descriptor ()Z flags 401 method name getEnableSessionCreation descriptor ()Z flags 401
method name getSSLParameters descriptor ()Ljavax/net/ssl/SSLParameters; flags 1 method name getSSLParameters descriptor ()Ljavax/net/ssl/SSLParameters; flags 1
method name setSSLParameters descriptor (Ljavax/net/ssl/SSLParameters;)V flags 1 method name setSSLParameters descriptor (Ljavax/net/ssl/SSLParameters;)V flags 1
method name getApplicationProtocol descriptor ()Ljava/lang/String; flags 1
method name getHandshakeApplicationProtocol descriptor ()Ljava/lang/String; flags 1
method name setHandshakeApplicationProtocolSelector descriptor (Ljava/util/function/BiFunction;)V flags 1 signature (Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLSocket;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;)V
method name getHandshakeApplicationProtocolSelector descriptor ()Ljava/util/function/BiFunction; flags 1 signature ()Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLSocket;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;
class name javax/net/ssl/SSLSocketFactory class name javax/net/ssl/SSLSocketFactory
header extends javax/net/SocketFactory flags 421 classAnnotations @Ljdk/Profile+Annotation;(value=I1) header extends javax/net/SocketFactory flags 421 classAnnotations @Ljdk/Profile+Annotation;(value=I1)

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -2083,13 +2083,42 @@ method name equals descriptor (Ljava/lang/Object;)Z flags 1
method name toString descriptor ()Ljava/lang/String; flags 1 method name toString descriptor ()Ljava/lang/String; flags 1
method name clone descriptor ()Ljava/lang/Object; thrownTypes java/lang/CloneNotSupportedException flags 1041 method name clone descriptor ()Ljava/lang/Object; thrownTypes java/lang/CloneNotSupportedException flags 1041
class name java/security/interfaces/RSAKey
-method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec;
class name java/security/spec/EncodedKeySpec class name java/security/spec/EncodedKeySpec
method name <init> descriptor ([BLjava/lang/String;)V flags 4 method name <init> descriptor ([BLjava/lang/String;)V flags 4
method name getAlgorithm descriptor ()Ljava/lang/String; flags 1 method name getAlgorithm descriptor ()Ljava/lang/String; flags 1
class name java/security/spec/MGF1ParameterSpec
-field name SHA512_224 descriptor Ljava/security/spec/MGF1ParameterSpec;
-field name SHA512_256 descriptor Ljava/security/spec/MGF1ParameterSpec;
class name java/security/spec/PKCS8EncodedKeySpec class name java/security/spec/PKCS8EncodedKeySpec
method name <init> descriptor ([BLjava/lang/String;)V flags 1 method name <init> descriptor ([BLjava/lang/String;)V flags 1
class name java/security/spec/PSSParameterSpec
-field name TRAILER_FIELD_BC descriptor I
-method name toString descriptor ()Ljava/lang/String;
class name java/security/spec/RSAKeyGenParameterSpec
-method name <init> descriptor (ILjava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V
-method name getKeyParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec;
class name java/security/spec/RSAMultiPrimePrivateCrtKeySpec
-method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;[Ljava/security/spec/RSAOtherPrimeInfo;Ljava/security/spec/AlgorithmParameterSpec;)V
class name java/security/spec/RSAPrivateCrtKeySpec
-method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V
class name java/security/spec/RSAPrivateKeySpec
-method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V
-method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec;
class name java/security/spec/RSAPublicKeySpec
-method name <init> descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V
-method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec;
class name java/security/spec/X509EncodedKeySpec class name java/security/spec/X509EncodedKeySpec
method name <init> descriptor ([BLjava/lang/String;)V flags 1 method name <init> descriptor ([BLjava/lang/String;)V flags 1
@ -2224,9 +2253,6 @@ innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang
class name java/time/chrono/IsoChronology class name java/time/chrono/IsoChronology
method name epochSecond descriptor (IIIIIILjava/time/ZoneOffset;)J flags 1 method name epochSecond descriptor (IIIIIILjava/time/ZoneOffset;)J flags 1
class name java/time/chrono/JapaneseEra
method name getDisplayName descriptor (Ljava/time/format/TextStyle;Ljava/util/Locale;)Ljava/lang/String; flags 1
class name java/time/format/DateTimeFormatter class name java/time/format/DateTimeFormatter
header extends java/lang/Object flags 31 header extends java/lang/Object flags 31
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
@ -3221,12 +3247,6 @@ header extends java/lang/Object implements java/util/function/Function flags 601
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
class name java/util/jar/Attributes$Name class name java/util/jar/Attributes$Name
-field name EXTENSION_INSTALLATION descriptor Ljava/util/jar/Attributes$Name;
-field name IMPLEMENTATION_VENDOR_ID descriptor Ljava/util/jar/Attributes$Name;
-field name IMPLEMENTATION_URL descriptor Ljava/util/jar/Attributes$Name;
field name EXTENSION_INSTALLATION descriptor Ljava/util/jar/Attributes$Name; flags 19 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
field name IMPLEMENTATION_VENDOR_ID descriptor Ljava/util/jar/Attributes$Name; flags 19 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
field name IMPLEMENTATION_URL descriptor Ljava/util/jar/Attributes$Name; flags 19 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
field name MULTI_RELEASE descriptor Ljava/util/jar/Attributes$Name; flags 19 field name MULTI_RELEASE descriptor Ljava/util/jar/Attributes$Name; flags 19
class name java/util/jar/JarFile class name java/util/jar/JarFile
@ -3381,6 +3401,9 @@ method name finalize descriptor ()V thrownTypes java/io/IOException flags 4 depr
class name javax/crypto/ExemptionMechanism class name javax/crypto/ExemptionMechanism
-method name finalize descriptor ()V -method name finalize descriptor ()V
class name javax/crypto/SealedObject
header extends java/lang/Object implements java/io/Serializable flags 21
class name javax/net/ssl/ExtendedSSLSession class name javax/net/ssl/ExtendedSSLSession
method name getStatusResponses descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<[B>; method name getStatusResponses descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<[B>;
@ -3388,12 +3411,6 @@ class name javax/net/ssl/HandshakeCompletedEvent
-method name getPeerCertificateChain descriptor ()[Ljavax/security/cert/X509Certificate; -method name getPeerCertificateChain descriptor ()[Ljavax/security/cert/X509Certificate;
method name getPeerCertificateChain descriptor ()[Ljavax/security/cert/X509Certificate; thrownTypes javax/net/ssl/SSLPeerUnverifiedException flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") method name getPeerCertificateChain descriptor ()[Ljavax/security/cert/X509Certificate; thrownTypes javax/net/ssl/SSLPeerUnverifiedException flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9")
class name javax/net/ssl/SSLEngine
method name getApplicationProtocol descriptor ()Ljava/lang/String; flags 1
method name getHandshakeApplicationProtocol descriptor ()Ljava/lang/String; flags 1
method name setHandshakeApplicationProtocolSelector descriptor (Ljava/util/function/BiFunction;)V flags 1 signature (Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLEngine;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;)V
method name getHandshakeApplicationProtocolSelector descriptor ()Ljava/util/function/BiFunction; flags 1 signature ()Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLEngine;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;
class name javax/net/ssl/SSLEngineResult class name javax/net/ssl/SSLEngineResult
header extends java/lang/Object flags 21 header extends java/lang/Object flags 21
innerclass innerClass javax/net/ssl/SSLEngineResult$HandshakeStatus outerClass javax/net/ssl/SSLEngineResult innerClassName HandshakeStatus flags 4019 innerclass innerClass javax/net/ssl/SSLEngineResult$HandshakeStatus outerClass javax/net/ssl/SSLEngineResult innerClassName HandshakeStatus flags 4019
@ -3409,19 +3426,11 @@ method name setEnableRetransmissions descriptor (Z)V flags 1
method name getEnableRetransmissions descriptor ()Z flags 1 method name getEnableRetransmissions descriptor ()Z flags 1
method name setMaximumPacketSize descriptor (I)V flags 1 method name setMaximumPacketSize descriptor (I)V flags 1
method name getMaximumPacketSize descriptor ()I flags 1 method name getMaximumPacketSize descriptor ()I flags 1
method name getApplicationProtocols descriptor ()[Ljava/lang/String; flags 1
method name setApplicationProtocols descriptor ([Ljava/lang/String;)V flags 1
class name javax/net/ssl/SSLSession class name javax/net/ssl/SSLSession
-method name getPeerCertificateChain descriptor ()[Ljavax/security/cert/X509Certificate; -method name getPeerCertificateChain descriptor ()[Ljavax/security/cert/X509Certificate;
method name getPeerCertificateChain descriptor ()[Ljavax/security/cert/X509Certificate; thrownTypes javax/net/ssl/SSLPeerUnverifiedException flags 401 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") method name getPeerCertificateChain descriptor ()[Ljavax/security/cert/X509Certificate; thrownTypes javax/net/ssl/SSLPeerUnverifiedException flags 401 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9")
class name javax/net/ssl/SSLSocket
method name getApplicationProtocol descriptor ()Ljava/lang/String; flags 1
method name getHandshakeApplicationProtocol descriptor ()Ljava/lang/String; flags 1
method name setHandshakeApplicationProtocolSelector descriptor (Ljava/util/function/BiFunction;)V flags 1 signature (Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLSocket;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;)V
method name getHandshakeApplicationProtocolSelector descriptor ()Ljava/util/function/BiFunction; flags 1 signature ()Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLSocket;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;
class name javax/security/auth/Policy class name javax/security/auth/Policy
header extends java/lang/Object flags 421 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.4") header extends java/lang/Object flags 421 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.4")

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -77,6 +77,9 @@ class name javax/swing/ImageIcon
field name component descriptor Ljava/awt/Component; flags 1c field name component descriptor Ljava/awt/Component; flags 1c
field name tracker descriptor Ljava/awt/MediaTracker; flags 1c field name tracker descriptor Ljava/awt/MediaTracker; flags 1c
class name javax/swing/JComboBox
-method name processKeyBinding descriptor (Ljavax/swing/KeyStroke;Ljava/awt/event/KeyEvent;IZ)Z
class name javax/swing/JComponent class name javax/swing/JComponent
field name accessibleContext descriptor Ljavax/accessibility/AccessibleContext; flags 4 field name accessibleContext descriptor Ljavax/accessibility/AccessibleContext; flags 4
-method name hide descriptor ()V -method name hide descriptor ()V
@ -90,8 +93,12 @@ field name accessibleFocusHandler descriptor Ljava/awt/event/FocusListener; flag
class name javax/swing/JDesktopPane class name javax/swing/JDesktopPane
-method name remove descriptor (Ljava/awt/Component;)V -method name remove descriptor (Ljava/awt/Component;)V
class name javax/swing/JViewport class name javax/swing/JList$AccessibleJList$AccessibleJListChild
-method name addNotify descriptor ()V method name getAccessibleAction descriptor ()Ljavax/accessibility/AccessibleAction; flags 1
class name javax/swing/plaf/basic/BasicRadioButtonUI
-method name installListeners descriptor (Ljavax/swing/AbstractButton;)V
-method name uninstallListeners descriptor (Ljavax/swing/AbstractButton;)V
class name javax/swing/tree/DefaultMutableTreeNode class name javax/swing/tree/DefaultMutableTreeNode
-method name setParent descriptor (Ljavax/swing/tree/MutableTreeNode;)V -method name setParent descriptor (Ljavax/swing/tree/MutableTreeNode;)V

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -13524,6 +13524,7 @@ method name getItemAt descriptor (I)Ljava/lang/Object; flags 1 signature (I)TE;
method name createDefaultKeySelectionManager descriptor ()Ljavax/swing/JComboBox$KeySelectionManager; flags 4 method name createDefaultKeySelectionManager descriptor ()Ljavax/swing/JComboBox$KeySelectionManager; flags 4
method name paramString descriptor ()Ljava/lang/String; flags 4 method name paramString descriptor ()Ljava/lang/String; flags 4
method name getAccessibleContext descriptor ()Ljavax/accessibility/AccessibleContext; flags 1 method name getAccessibleContext descriptor ()Ljavax/accessibility/AccessibleContext; flags 1
method name processKeyBinding descriptor (Ljavax/swing/KeyStroke;Ljava/awt/event/KeyEvent;IZ)Z flags 4
class name javax/swing/JComboBox$AccessibleJComboBox class name javax/swing/JComboBox$AccessibleJComboBox
header extends javax/swing/JComponent$AccessibleJComponent implements javax/accessibility/AccessibleAction,javax/accessibility/AccessibleSelection flags 21 header extends javax/swing/JComponent$AccessibleJComponent implements javax/accessibility/AccessibleAction,javax/accessibility/AccessibleSelection flags 21
@ -14604,7 +14605,6 @@ method name getAccessibleChild descriptor (I)Ljavax/accessibility/Accessible; fl
method name getLocale descriptor ()Ljava/util/Locale; flags 1 method name getLocale descriptor ()Ljava/util/Locale; flags 1
method name addPropertyChangeListener descriptor (Ljava/beans/PropertyChangeListener;)V flags 1 method name addPropertyChangeListener descriptor (Ljava/beans/PropertyChangeListener;)V flags 1
method name removePropertyChangeListener descriptor (Ljava/beans/PropertyChangeListener;)V flags 1 method name removePropertyChangeListener descriptor (Ljava/beans/PropertyChangeListener;)V flags 1
method name getAccessibleAction descriptor ()Ljavax/accessibility/AccessibleAction; flags 1
method name getAccessibleComponent descriptor ()Ljavax/accessibility/AccessibleComponent; flags 1 method name getAccessibleComponent descriptor ()Ljavax/accessibility/AccessibleComponent; flags 1
method name getAccessibleSelection descriptor ()Ljavax/accessibility/AccessibleSelection; flags 1 method name getAccessibleSelection descriptor ()Ljavax/accessibility/AccessibleSelection; flags 1
method name getAccessibleText descriptor ()Ljavax/accessibility/AccessibleText; flags 1 method name getAccessibleText descriptor ()Ljavax/accessibility/AccessibleText; flags 1
@ -16720,7 +16720,6 @@ method name updateUI descriptor ()V flags 1
method name getUIClassID descriptor ()Ljava/lang/String; flags 1 method name getUIClassID descriptor ()Ljava/lang/String; flags 1
method name addImpl descriptor (Ljava/awt/Component;Ljava/lang/Object;I)V flags 4 method name addImpl descriptor (Ljava/awt/Component;Ljava/lang/Object;I)V flags 4
method name remove descriptor (Ljava/awt/Component;)V flags 1 method name remove descriptor (Ljava/awt/Component;)V flags 1
method name addNotify descriptor ()V flags 1
method name scrollRectToVisible descriptor (Ljava/awt/Rectangle;)V flags 1 method name scrollRectToVisible descriptor (Ljava/awt/Rectangle;)V flags 1
method name setBorder descriptor (Ljavax/swing/border/Border;)V flags 11 method name setBorder descriptor (Ljavax/swing/border/Border;)V flags 11
method name getInsets descriptor ()Ljava/awt/Insets; flags 11 method name getInsets descriptor ()Ljava/awt/Insets; flags 11
@ -20281,6 +20280,8 @@ method name getDefaultIcon descriptor ()Ljavax/swing/Icon; flags 1
method name paint descriptor (Ljava/awt/Graphics;Ljavax/swing/JComponent;)V flags 21 method name paint descriptor (Ljava/awt/Graphics;Ljavax/swing/JComponent;)V flags 21
method name paintFocus descriptor (Ljava/awt/Graphics;Ljava/awt/Rectangle;Ljava/awt/Dimension;)V flags 4 method name paintFocus descriptor (Ljava/awt/Graphics;Ljava/awt/Rectangle;Ljava/awt/Dimension;)V flags 4
method name getPreferredSize descriptor (Ljavax/swing/JComponent;)Ljava/awt/Dimension; flags 1 method name getPreferredSize descriptor (Ljavax/swing/JComponent;)Ljava/awt/Dimension; flags 1
method name installListeners descriptor (Ljavax/swing/AbstractButton;)V flags 4
method name uninstallListeners descriptor (Ljavax/swing/AbstractButton;)V flags 4
class name javax/swing/plaf/basic/BasicRootPaneUI class name javax/swing/plaf/basic/BasicRootPaneUI
header extends javax/swing/plaf/RootPaneUI implements java/beans/PropertyChangeListener flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I4) header extends javax/swing/plaf/RootPaneUI implements java/beans/PropertyChangeListener flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I4)

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -2524,7 +2524,6 @@ method name getPopupMenuListeners descriptor ()[Ljavax/swing/event/PopupMenuList
method name setAction descriptor (Ljavax/swing/Action;)V flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(visualUpdate=Ztrue,description="the\u005C;u0020;Action\u005C;u0020;instance\u005C;u0020;connected\u005C;u0020;with\u005C;u0020;this\u005C;u0020;ActionEvent\u005C;u0020;source") method name setAction descriptor (Ljavax/swing/Action;)V flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(visualUpdate=Ztrue,description="the\u005C;u0020;Action\u005C;u0020;instance\u005C;u0020;connected\u005C;u0020;with\u005C;u0020;this\u005C;u0020;ActionEvent\u005C;u0020;source")
method name getSelectedObjects descriptor ()[Ljava/lang/Object; flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(bound=Zfalse) method name getSelectedObjects descriptor ()[Ljava/lang/Object; flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(bound=Zfalse)
method name setEnabled descriptor (Z)V flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(description="The\u005C;u0020;enabled\u005C;u0020;state\u005C;u0020;of\u005C;u0020;the\u005C;u0020;component.",preferred=Ztrue) method name setEnabled descriptor (Z)V flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(description="The\u005C;u0020;enabled\u005C;u0020;state\u005C;u0020;of\u005C;u0020;the\u005C;u0020;component.",preferred=Ztrue)
method name processKeyBinding descriptor (Ljavax/swing/KeyStroke;Ljava/awt/event/KeyEvent;IZ)Z flags 4
method name setKeySelectionManager descriptor (Ljavax/swing/JComboBox$KeySelectionManager;)V flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(expert=Ztrue,bound=Zfalse,description="The\u005C;u0020;objects\u005C;u0020;that\u005C;u0020;changes\u005C;u0020;the\u005C;u0020;selection\u005C;u0020;when\u005C;u0020;a\u005C;u0020;key\u005C;u0020;is\u005C;u0020;pressed.") method name setKeySelectionManager descriptor (Ljavax/swing/JComboBox$KeySelectionManager;)V flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(expert=Ztrue,bound=Zfalse,description="The\u005C;u0020;objects\u005C;u0020;that\u005C;u0020;changes\u005C;u0020;the\u005C;u0020;selection\u005C;u0020;when\u005C;u0020;a\u005C;u0020;key\u005C;u0020;is\u005C;u0020;pressed.")
method name getItemCount descriptor ()I flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(bound=Zfalse) method name getItemCount descriptor ()I flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(bound=Zfalse)
method name getAccessibleContext descriptor ()Ljavax/accessibility/AccessibleContext; flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(bound=Zfalse) method name getAccessibleContext descriptor ()Ljavax/accessibility/AccessibleContext; flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(bound=Zfalse)
@ -3039,6 +3038,7 @@ class name javax/swing/JList$AccessibleJList$AccessibleJListChild
header extends javax/accessibility/AccessibleContext implements javax/accessibility/Accessible,javax/accessibility/AccessibleComponent,javax/accessibility/AccessibleAction flags 21 header extends javax/accessibility/AccessibleContext implements javax/accessibility/Accessible,javax/accessibility/AccessibleComponent,javax/accessibility/AccessibleAction flags 21
innerclass innerClass javax/swing/JList$AccessibleJList outerClass javax/swing/JList innerClassName AccessibleJList flags 4 innerclass innerClass javax/swing/JList$AccessibleJList outerClass javax/swing/JList innerClassName AccessibleJList flags 4
innerclass innerClass javax/swing/JList$AccessibleJList$AccessibleJListChild outerClass javax/swing/JList$AccessibleJList innerClassName AccessibleJListChild flags 4 innerclass innerClass javax/swing/JList$AccessibleJList$AccessibleJListChild outerClass javax/swing/JList$AccessibleJList innerClassName AccessibleJListChild flags 4
method name getAccessibleAction descriptor ()Ljavax/accessibility/AccessibleAction; flags 1
method name doAccessibleAction descriptor (I)Z flags 1 method name doAccessibleAction descriptor (I)Z flags 1
method name getAccessibleActionDescription descriptor (I)Ljava/lang/String; flags 1 method name getAccessibleActionDescription descriptor (I)Ljava/lang/String; flags 1
method name getAccessibleActionCount descriptor ()I flags 1 method name getAccessibleActionCount descriptor ()I flags 1
@ -3907,7 +3907,6 @@ innerclass innerClass javax/swing/JViewport$AccessibleJViewport outerClass javax
innerclass innerClass javax/swing/JViewport$ViewListener outerClass javax/swing/JViewport innerClassName ViewListener flags 4 innerclass innerClass javax/swing/JViewport$ViewListener outerClass javax/swing/JViewport innerClassName ViewListener flags 4
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
-method name setUI descriptor (Ljavax/swing/plaf/ViewportUI;)V -method name setUI descriptor (Ljavax/swing/plaf/ViewportUI;)V
-method name addNotify descriptor ()V
-method name getInsets descriptor (Ljava/awt/Insets;)Ljava/awt/Insets; -method name getInsets descriptor (Ljava/awt/Insets;)Ljava/awt/Insets;
-method name setScrollMode descriptor (I)V -method name setScrollMode descriptor (I)V
method name setUI descriptor (Ljavax/swing/plaf/ViewportUI;)V flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(hidden=Ztrue,visualUpdate=Ztrue,description="The\u005C;u0020;UI\u005C;u0020;object\u005C;u0020;that\u005C;u0020;implements\u005C;u0020;the\u005C;u0020;Component's\u005C;u0020;LookAndFeel.") method name setUI descriptor (Ljavax/swing/plaf/ViewportUI;)V flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(hidden=Ztrue,visualUpdate=Ztrue,description="The\u005C;u0020;UI\u005C;u0020;object\u005C;u0020;that\u005C;u0020;implements\u005C;u0020;the\u005C;u0020;Component's\u005C;u0020;LookAndFeel.")
@ -4402,8 +4401,6 @@ innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang
class name javax/swing/plaf/basic/BasicRadioButtonUI class name javax/swing/plaf/basic/BasicRadioButtonUI
header extends javax/swing/plaf/basic/BasicToggleButtonUI flags 21 header extends javax/swing/plaf/basic/BasicToggleButtonUI flags 21
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
method name installListeners descriptor (Ljavax/swing/AbstractButton;)V flags 4
method name uninstallListeners descriptor (Ljavax/swing/AbstractButton;)V flags 4
class name javax/swing/plaf/basic/BasicScrollBarUI class name javax/swing/plaf/basic/BasicScrollBarUI
header extends javax/swing/plaf/ScrollBarUI implements java/awt/LayoutManager,javax/swing/SwingConstants flags 21 header extends javax/swing/plaf/ScrollBarUI implements java/awt/LayoutManager,javax/swing/SwingConstants flags 21

View File

@ -27,7 +27,7 @@
# ########################################################## # ##########################################################
# #
#command used to generate this file: #command used to generate this file:
#build.tools.symbolgenerator.CreateSymbols build-description-incremental symbols include.list #build.tools.symbolgenerator.CreateSymbols build-description-incremental-file symbols include.list 8 jdk8-updated.classes <none> --normalize-method-flags
# #
generate platforms 7:8:9:A:B:C:D:E generate platforms 7:8:9:A:B:C:D:E
platform version 8 files java.activation-8.sym.txt:java.base-8.sym.txt:java.compiler-8.sym.txt:java.corba-8.sym.txt:java.datatransfer-8.sym.txt:java.desktop-8.sym.txt:java.instrument-8.sym.txt:java.logging-8.sym.txt:java.management-8.sym.txt:java.management.rmi-8.sym.txt:java.naming-8.sym.txt:java.prefs-8.sym.txt:java.rmi-8.sym.txt:java.scripting-8.sym.txt:java.security.jgss-8.sym.txt:java.security.sasl-8.sym.txt:java.sql-8.sym.txt:java.sql.rowset-8.sym.txt:java.transaction-8.sym.txt:java.xml-8.sym.txt:java.xml.bind-8.sym.txt:java.xml.crypto-8.sym.txt:java.xml.ws-8.sym.txt:java.xml.ws.annotation-8.sym.txt:jdk.httpserver-8.sym.txt:jdk.management-8.sym.txt:jdk.scripting.nashorn-8.sym.txt:jdk.sctp-8.sym.txt:jdk.security.auth-8.sym.txt:jdk.security.jgss-8.sym.txt platform version 8 files java.activation-8.sym.txt:java.base-8.sym.txt:java.compiler-8.sym.txt:java.corba-8.sym.txt:java.datatransfer-8.sym.txt:java.desktop-8.sym.txt:java.instrument-8.sym.txt:java.logging-8.sym.txt:java.management-8.sym.txt:java.management.rmi-8.sym.txt:java.naming-8.sym.txt:java.prefs-8.sym.txt:java.rmi-8.sym.txt:java.scripting-8.sym.txt:java.security.jgss-8.sym.txt:java.security.sasl-8.sym.txt:java.sql-8.sym.txt:java.sql.rowset-8.sym.txt:java.transaction-8.sym.txt:java.xml-8.sym.txt:java.xml.bind-8.sym.txt:java.xml.crypto-8.sym.txt:java.xml.ws-8.sym.txt:java.xml.ws.annotation-8.sym.txt:jdk.httpserver-8.sym.txt:jdk.management-8.sym.txt:jdk.scripting.nashorn-8.sym.txt:jdk.sctp-8.sym.txt:jdk.security.auth-8.sym.txt:jdk.security.jgss-8.sym.txt

View File

@ -31,6 +31,7 @@ import build.tools.symbolgenerator.CreateSymbols
import build.tools.symbolgenerator.CreateSymbols import build.tools.symbolgenerator.CreateSymbols
.ModuleHeaderDescription .ModuleHeaderDescription
.RequiresDescription; .RequiresDescription;
import java.io.BufferedInputStream; import java.io.BufferedInputStream;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.BufferedOutputStream; import java.io.BufferedOutputStream;
@ -43,6 +44,7 @@ import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.io.StringWriter; import java.io.StringWriter;
import java.io.Writer; import java.io.Writer;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.FileVisitResult; import java.nio.file.FileVisitResult;
import java.nio.file.FileVisitor; import java.nio.file.FileVisitor;
@ -220,7 +222,7 @@ public class CreateSymbols {
long timestamp, String currentVersion, String systemModules) throws IOException { long timestamp, String currentVersion, String systemModules) throws IOException {
LoadDescriptions data = load(ctDescriptionFileExtra != null ? Paths.get(ctDescriptionFileExtra) LoadDescriptions data = load(ctDescriptionFileExtra != null ? Paths.get(ctDescriptionFileExtra)
: null, : null,
Paths.get(ctDescriptionFile), null); Paths.get(ctDescriptionFile));
splitHeaders(data.classes); splitHeaders(data.classes);
@ -303,7 +305,7 @@ public class CreateSymbols {
public static String EXTENSION = ".sig"; public static String EXTENSION = ".sig";
LoadDescriptions load(Path ctDescriptionWithExtraContent, Path ctDescriptionOpen, String deletePlatform) throws IOException { LoadDescriptions load(Path ctDescriptionWithExtraContent, Path ctDescriptionOpen) throws IOException {
Map<String, PlatformInput> platforms = new LinkedHashMap<>(); Map<String, PlatformInput> platforms = new LinkedHashMap<>();
if (ctDescriptionWithExtraContent != null && Files.isRegularFile(ctDescriptionWithExtraContent)) { if (ctDescriptionWithExtraContent != null && Files.isRegularFile(ctDescriptionWithExtraContent)) {
@ -317,8 +319,7 @@ public class CreateSymbols {
case "platform": case "platform":
PlatformInput platform = PlatformInput.load(ctDescriptionWithExtraContent, PlatformInput platform = PlatformInput.load(ctDescriptionWithExtraContent,
reader); reader);
if (!platform.version.equals(deletePlatform)) platforms.put(platform.version, platform);
platforms.put(platform.version, platform);
reader.moveNext(); reader.moveNext();
break; break;
default: default:
@ -336,13 +337,11 @@ public class CreateSymbols {
case "generate": case "generate":
String[] platformsAttr = reader.attributes.get("platforms").split(":"); String[] platformsAttr = reader.attributes.get("platforms").split(":");
generatePlatforms = new HashSet<>(List.of(platformsAttr)); generatePlatforms = new HashSet<>(List.of(platformsAttr));
generatePlatforms.remove(deletePlatform);
reader.moveNext(); reader.moveNext();
break; break;
case "platform": case "platform":
PlatformInput platform = PlatformInput.load(ctDescriptionOpen, reader); PlatformInput platform = PlatformInput.load(ctDescriptionOpen, reader);
if (!platform.version.equals(deletePlatform) && if (!platforms.containsKey(platform.version))
!platforms.containsKey(platform.version))
platforms.put(platform.version, platform); platforms.put(platform.version, platform);
reader.moveNext(); reader.moveNext();
break; break;
@ -408,18 +407,28 @@ public class CreateSymbols {
ClassList result = new ClassList(); ClassList result = new ClassList();
for (ClassDescription desc : classes.values()) { classes.values().forEach(result::add);
return new LoadDescriptions(result,
modules,
new ArrayList<>(platforms.values()));
}
private static void removeVersion(LoadDescriptions load, String deletePlatform) {
for (Iterator<ClassDescription> it = load.classes.iterator(); it.hasNext();) {
ClassDescription desc = it.next();
Iterator<ClassHeaderDescription> chdIt = desc.header.iterator(); Iterator<ClassHeaderDescription> chdIt = desc.header.iterator();
while (chdIt.hasNext()) { while (chdIt.hasNext()) {
ClassHeaderDescription chd = chdIt.next(); ClassHeaderDescription chd = chdIt.next();
chd.versions = reduce(chd.versions, generatePlatforms); chd.versions = removeVersion(chd.versions, deletePlatform);
if (chd.versions.isEmpty()) if (chd.versions.isEmpty()) {
chdIt.remove(); chdIt.remove();
}
} }
if (desc.header.isEmpty()) { if (desc.header.isEmpty()) {
it.remove();
continue; continue;
} }
@ -428,7 +437,7 @@ public class CreateSymbols {
while (methodIt.hasNext()) { while (methodIt.hasNext()) {
MethodDescription method = methodIt.next(); MethodDescription method = methodIt.next();
method.versions = reduce(method.versions, generatePlatforms); method.versions = removeVersion(method.versions, deletePlatform);
if (method.versions.isEmpty()) if (method.versions.isEmpty())
methodIt.remove(); methodIt.remove();
} }
@ -438,37 +447,29 @@ public class CreateSymbols {
while (fieldIt.hasNext()) { while (fieldIt.hasNext()) {
FieldDescription field = fieldIt.next(); FieldDescription field = fieldIt.next();
field.versions = reduce(field.versions, generatePlatforms); field.versions = removeVersion(field.versions, deletePlatform);
if (field.versions.isEmpty()) if (field.versions.isEmpty())
fieldIt.remove(); fieldIt.remove();
} }
result.add(desc);
} }
Map<String, ModuleDescription> moduleList = new HashMap<>(); for (Iterator<ModuleDescription> it = load.modules.values().iterator(); it.hasNext();) {
ModuleDescription desc = it.next();
for (ModuleDescription desc : modules.values()) {
Iterator<ModuleHeaderDescription> mhdIt = desc.header.iterator(); Iterator<ModuleHeaderDescription> mhdIt = desc.header.iterator();
while (mhdIt.hasNext()) { while (mhdIt.hasNext()) {
ModuleHeaderDescription mhd = mhdIt.next(); ModuleHeaderDescription mhd = mhdIt.next();
mhd.versions = reduce(mhd.versions, generatePlatforms); mhd.versions = removeVersion(mhd.versions, deletePlatform);
if (mhd.versions.isEmpty()) if (mhd.versions.isEmpty())
mhdIt.remove(); mhdIt.remove();
} }
if (desc.header.isEmpty()) { if (desc.header.isEmpty()) {
it.remove();
continue; continue;
} }
moduleList.put(desc.name, desc);
} }
return new LoadDescriptions(result,
moduleList,
new ArrayList<>(platforms.values()));
} }
static final class LoadDescriptions { static final class LoadDescriptions {
@ -550,6 +551,17 @@ public class CreateSymbols {
return sb.toString(); return sb.toString();
} }
private static String removeVersion(String original, String remove) {
StringBuilder sb = new StringBuilder();
for (char v : original.toCharArray()) {
if (v != remove.charAt(0)) {
sb.append(v);
}
}
return sb.toString();
}
private static class PlatformInput { private static class PlatformInput {
public final String version; public final String version;
public final String basePlatform; public final String basePlatform;
@ -1271,24 +1283,9 @@ public class CreateSymbols {
Map<String, ModuleDescription> modules = new HashMap<>(); Map<String, ModuleDescription> modules = new HashMap<>();
for (VersionDescription desc : versions) { for (VersionDescription desc : versions) {
List<byte[]> classFileData = new ArrayList<>(); Iterable<byte[]> classFileData = loadClassData(desc.classes);
try (BufferedReader descIn = loadVersionClasses(classes, modules, classFileData, excludesIncludes, desc.version, null);
Files.newBufferedReader(Paths.get(desc.classes))) {
String line;
while ((line = descIn.readLine()) != null) {
ByteArrayOutputStream data = new ByteArrayOutputStream();
for (int i = 0; i < line.length(); i += 2) {
String hex = line.substring(i, i + 2);
data.write(Integer.parseInt(hex, 16));
}
classFileData.add(data.toByteArray());
}
} catch (IOException ex) {
throw new IllegalStateException(ex);
}
loadVersionClasses(classes, modules, classFileData, excludesIncludes, desc.version);
} }
List<PlatformInput> platforms = List<PlatformInput> platforms =
@ -1299,7 +1296,7 @@ public class CreateSymbols {
null)) null))
.collect(Collectors.toList()); .collect(Collectors.toList());
dumpDescriptions(classes, modules, platforms, descDest.resolve("symbols"), args); dumpDescriptions(classes, modules, platforms, Set.of(), descDest.resolve("symbols"), args);
} }
//where: //where:
private static final String DO_NO_MODIFY = private static final String DO_NO_MODIFY =
@ -1332,11 +1329,33 @@ public class CreateSymbols {
"# ##########################################################\n" + "# ##########################################################\n" +
"#\n"; "#\n";
private Iterable<byte[]> loadClassData(String path) {
List<byte[]> classFileData = new ArrayList<>();
try (BufferedReader descIn =
Files.newBufferedReader(Paths.get(path))) {
String line;
while ((line = descIn.readLine()) != null) {
ByteArrayOutputStream data = new ByteArrayOutputStream();
for (int i = 0; i < line.length(); i += 2) {
String hex = line.substring(i, i + 2);
data.write(Integer.parseInt(hex, 16));
}
classFileData.add(data.toByteArray());
}
} catch (IOException ex) {
throw new IllegalStateException(ex);
}
return classFileData;
}
private void loadVersionClasses(ClassList classes, private void loadVersionClasses(ClassList classes,
Map<String, ModuleDescription> modules, Map<String, ModuleDescription> modules,
Iterable<byte[]> classData, Iterable<byte[]> classData,
ExcludeIncludeList excludesIncludes, ExcludeIncludeList excludesIncludes,
String version) { String version,
String baseline) {
Map<String, ModuleDescription> currentVersionModules = Map<String, ModuleDescription> currentVersionModules =
new HashMap<>(); new HashMap<>();
@ -1460,12 +1479,12 @@ public class CreateSymbols {
ClassDescription existing = classes.find(clazz.name, true); ClassDescription existing = classes.find(clazz.name, true);
if (existing != null) { if (existing != null) {
addClassHeader(existing, header, version); addClassHeader(existing, header, version, baseline);
for (MethodDescription currentMethod : clazz.methods) { for (MethodDescription currentMethod : clazz.methods) {
addMethod(existing, currentMethod, version); addMethod(existing, currentMethod, version, baseline);
} }
for (FieldDescription currentField : clazz.fields) { for (FieldDescription currentField : clazz.fields) {
addField(existing, currentField, version); addField(existing, currentField, version, baseline);
} }
} else { } else {
classes.add(clazz); classes.add(clazz);
@ -1502,6 +1521,7 @@ public class CreateSymbols {
private void dumpDescriptions(ClassList classes, private void dumpDescriptions(ClassList classes,
Map<String, ModuleDescription> modules, Map<String, ModuleDescription> modules,
List<PlatformInput> versions, List<PlatformInput> versions,
Set<String> forceWriteVersions,
Path ctDescriptionFile, Path ctDescriptionFile,
String[] args) throws IOException { String[] args) throws IOException {
classes.sort(); classes.sort();
@ -1568,7 +1588,7 @@ public class CreateSymbols {
for (PlatformInput desc : versions) { for (PlatformInput desc : versions) {
List<String> files = desc.files; List<String> files = desc.files;
if (files == null) { if (files == null || forceWriteVersions.contains(desc.version)) {
files = new ArrayList<>(); files = new ArrayList<>();
for (Entry<String, List<ClassDescription>> e : module2Classes.entrySet()) { for (Entry<String, List<ClassDescription>> e : module2Classes.entrySet()) {
StringWriter data = new StringWriter(); StringWriter data = new StringWriter();
@ -1586,9 +1606,34 @@ public class CreateSymbols {
String dataString = data.toString(); String dataString = data.toString();
if (!dataString.isEmpty()) { if (!dataString.isEmpty()) {
try (Writer out = Files.newBufferedWriter(f)) { String existingYear = null;
out.append(DO_NO_MODIFY.replace("{YEAR}", String.valueOf(year))); boolean hasChange = true;
out.write(dataString); if (Files.isReadable(f)) {
String oldContent = Files.readString(f, StandardCharsets.UTF_8);
int yearPos = DO_NO_MODIFY.indexOf("{YEAR}");
String headerPattern =
Pattern.quote(DO_NO_MODIFY.substring(0, yearPos)) +
"([0-9]+)(, [0-9]+)?" +
Pattern.quote(DO_NO_MODIFY.substring(yearPos + "{YEAR}".length()));
String pattern = headerPattern +
Pattern.quote(dataString);
Matcher m = Pattern.compile(pattern, Pattern.MULTILINE).matcher(oldContent);
if (m.matches()) {
hasChange = false;
} else {
m = Pattern.compile(headerPattern).matcher(oldContent);
if (m.find()) {
existingYear = m.group(1);
}
}
}
if (hasChange) {
try (Writer out = Files.newBufferedWriter(f, StandardCharsets.UTF_8)) {
String currentYear = String.valueOf(year);
String yearSpec = (existingYear != null && !currentYear.equals(existingYear) ? existingYear + ", " : "") + currentYear;
out.append(DO_NO_MODIFY.replace("{YEAR}", yearSpec));
out.write(dataString);
}
} }
files.add(f.getFileName().toString()); files.add(f.getFileName().toString());
} }
@ -1630,15 +1675,17 @@ public class CreateSymbols {
} }
} }
public void createIncrementalBaseLine(String ctDescriptionFile, private void incrementalUpdate(String ctDescriptionFile,
String excludeFile, String excludeFile,
String[] args) throws IOException { String platformVersion,
String specVersion = System.getProperty("java.specification.version"); Iterable<byte[]> classBytes,
Function<LoadDescriptions, String> baseline,
String[] args) throws IOException {
String currentVersion = String currentVersion =
Integer.toString(Integer.parseInt(specVersion), Character.MAX_RADIX); Integer.toString(Integer.parseInt(platformVersion), Character.MAX_RADIX);
currentVersion = currentVersion.toUpperCase(Locale.ROOT); String version = currentVersion.toUpperCase(Locale.ROOT);
Path ctDescriptionPath = Paths.get(ctDescriptionFile).toAbsolutePath(); Path ctDescriptionPath = Paths.get(ctDescriptionFile).toAbsolutePath();
LoadDescriptions data = load(null, ctDescriptionPath, currentVersion); LoadDescriptions data = load(null, ctDescriptionPath);
ClassList classes = data.classes; ClassList classes = data.classes;
Map<String, ModuleDescription> modules = data.modules; Map<String, ModuleDescription> modules = data.modules;
@ -1647,23 +1694,70 @@ public class CreateSymbols {
ExcludeIncludeList excludeList = ExcludeIncludeList excludeList =
ExcludeIncludeList.create(excludeFile); ExcludeIncludeList.create(excludeFile);
Iterable<byte[]> classBytes = dumpCurrentClasses(); loadVersionClasses(classes, modules, classBytes, excludeList, "$", version);
loadVersionClasses(classes, modules, classBytes, excludeList, currentVersion);
String baseline; removeVersion(data, version);
if (versions.isEmpty()) { for (ModuleDescription md : data.modules.values()) {
baseline = null; for (ModuleHeaderDescription header : md.header) {
} else { header.versions = header.versions.replace("$", version);
baseline = versions.stream() }
.sorted((v1, v2) -> v2.version.compareTo(v1.version))
.findFirst()
.get()
.version;
} }
versions.add(new PlatformInput(null, currentVersion, baseline, null)); for (ClassDescription clazzDesc : data.classes) {
dumpDescriptions(classes, modules, versions, ctDescriptionPath, args); for (ClassHeaderDescription header : clazzDesc.header) {
header.versions = header.versions.replace("$", version);
}
for (MethodDescription method : clazzDesc.methods) {
method.versions = method.versions.replace("$", version);
}
for (FieldDescription field : clazzDesc.fields) {
field.versions = field.versions.replace("$", version);
}
}
if (versions.stream().noneMatch(inp -> version.equals(inp.version))) {
versions.add(new PlatformInput(null, version, baseline.apply(data), null));
}
Set<String> writeVersions = new HashSet<>();
writeVersions.add(version);
//re-write all platforms that have version as their basline:
versions.stream()
.filter(inp -> version.equals(inp.basePlatform))
.map(inp -> inp.version)
.forEach(writeVersions::add);
dumpDescriptions(classes, modules, versions, writeVersions, ctDescriptionPath, args);
}
public void createIncrementalBaseLineFromDataFile(String ctDescriptionFile,
String excludeFile,
String version,
String dataFile,
String baseline,
String[] args) throws IOException {
incrementalUpdate(ctDescriptionFile, excludeFile, version, loadClassData(dataFile), x -> baseline, args);
}
public void createIncrementalBaseLine(String ctDescriptionFile,
String excludeFile,
String[] args) throws IOException {
String specVersion = System.getProperty("java.specification.version");
Iterable<byte[]> classBytes = dumpCurrentClasses();
Function<LoadDescriptions, String> baseline = data -> {
if (data.versions.isEmpty()) {
return null;
} else {
return data.versions.stream()
.sorted((v1, v2) -> v2.version.compareTo(v1.version))
.findFirst()
.get()
.version;
}
};
incrementalUpdate(ctDescriptionFile, excludeFile, specVersion, classBytes, baseline, args);
} }
private List<byte[]> dumpCurrentClasses() throws IOException { private List<byte[]> dumpCurrentClasses() throws IOException {
@ -1757,7 +1851,7 @@ public class CreateSymbols {
classes.add(clazzDesc); classes.add(clazzDesc);
} }
addClassHeader(clazzDesc, headerDesc, version); addClassHeader(clazzDesc, headerDesc, version, null);
for (Method m : cf.methods) { for (Method m : cf.methods) {
if (!include(m.access_flags.flags)) if (!include(m.access_flags.flags))
@ -1769,7 +1863,7 @@ public class CreateSymbols {
for (Attribute attr : m.attributes) { for (Attribute attr : m.attributes) {
readAttribute(cf, methDesc, attr); readAttribute(cf, methDesc, attr);
} }
addMethod(clazzDesc, methDesc, version); addMethod(clazzDesc, methDesc, version, null);
} }
for (Field f : cf.fields) { for (Field f : cf.fields) {
if (!include(f.access_flags.flags)) if (!include(f.access_flags.flags))
@ -1781,7 +1875,7 @@ public class CreateSymbols {
for (Attribute attr : f.attributes) { for (Attribute attr : f.attributes) {
readAttribute(cf, fieldDesc, attr); readAttribute(cf, fieldDesc, attr);
} }
addField(clazzDesc, fieldDesc, version); addField(clazzDesc, fieldDesc, version, null);
} }
} }
@ -1840,11 +1934,11 @@ public class CreateSymbols {
return (accessFlags & (AccessFlags.ACC_PUBLIC | AccessFlags.ACC_PROTECTED)) != 0; return (accessFlags & (AccessFlags.ACC_PUBLIC | AccessFlags.ACC_PROTECTED)) != 0;
} }
private void addClassHeader(ClassDescription clazzDesc, ClassHeaderDescription headerDesc, String version) { private void addClassHeader(ClassDescription clazzDesc, ClassHeaderDescription headerDesc, String version, String baseline) {
//normalize: //normalize:
boolean existed = false; boolean existed = false;
for (ClassHeaderDescription existing : clazzDesc.header) { for (ClassHeaderDescription existing : clazzDesc.header) {
if (existing.equals(headerDesc)) { if (existing.equals(headerDesc) && (!existed || (baseline != null && existing.versions.contains(baseline)))) {
headerDesc = existing; headerDesc = existing;
existed = true; existed = true;
} }
@ -1880,14 +1974,13 @@ public class CreateSymbols {
} }
} }
private void addMethod(ClassDescription clazzDesc, MethodDescription methDesc, String version) { private void addMethod(ClassDescription clazzDesc, MethodDescription methDesc, String version, String baseline) {
//normalize: //normalize:
boolean methodExisted = false; boolean methodExisted = false;
for (MethodDescription existing : clazzDesc.methods) { for (MethodDescription existing : clazzDesc.methods) {
if (existing.equals(methDesc)) { if (existing.equals(methDesc) && (!methodExisted || (baseline != null && existing.versions.contains(baseline)))) {
methodExisted = true; methodExisted = true;
methDesc = existing; methDesc = existing;
break;
} }
} }
methDesc.versions += version; methDesc.versions += version;
@ -1896,13 +1989,12 @@ public class CreateSymbols {
} }
} }
private void addField(ClassDescription clazzDesc, FieldDescription fieldDesc, String version) { private void addField(ClassDescription clazzDesc, FieldDescription fieldDesc, String version, String baseline) {
boolean fieldExisted = false; boolean fieldExisted = false;
for (FieldDescription existing : clazzDesc.fields) { for (FieldDescription existing : clazzDesc.fields) {
if (existing.equals(fieldDesc)) { if (existing.equals(fieldDesc) && (!fieldExisted || (baseline != null && existing.versions.contains(baseline)))) {
fieldExisted = true; fieldExisted = true;
fieldDesc = existing; fieldDesc = existing;
break;
} }
} }
fieldDesc.versions += version; fieldDesc.versions += version;
@ -2311,6 +2403,7 @@ public class CreateSymbols {
} }
static abstract class FeatureDescription { static abstract class FeatureDescription {
int flagsNormalization = ~0;
int flags; int flags;
boolean deprecated; boolean deprecated;
String signature; String signature;
@ -2375,7 +2468,7 @@ public class CreateSymbols {
@Override @Override
public int hashCode() { public int hashCode() {
int hash = 3; int hash = 3;
hash = 89 * hash + this.flags; hash = 89 * hash + (this.flags & flagsNormalization);
hash = 89 * hash + (this.deprecated ? 1 : 0); hash = 89 * hash + (this.deprecated ? 1 : 0);
hash = 89 * hash + Objects.hashCode(this.signature); hash = 89 * hash + Objects.hashCode(this.signature);
hash = 89 * hash + listHashCode(this.classAnnotations); hash = 89 * hash + listHashCode(this.classAnnotations);
@ -2392,7 +2485,7 @@ public class CreateSymbols {
return false; return false;
} }
final FeatureDescription other = (FeatureDescription) obj; final FeatureDescription other = (FeatureDescription) obj;
if (this.flags != other.flags) { if ((this.flags & flagsNormalization) != (other.flags & flagsNormalization)) {
return false; return false;
} }
if (this.deprecated != other.deprecated) { if (this.deprecated != other.deprecated) {
@ -3044,6 +3137,7 @@ public class CreateSymbols {
} }
static class MethodDescription extends FeatureDescription { static class MethodDescription extends FeatureDescription {
static int METHODS_FLAGS_NORMALIZATION = ~0;
String name; String name;
String descriptor; String descriptor;
List<String> thrownTypes; List<String> thrownTypes;
@ -3051,6 +3145,10 @@ public class CreateSymbols {
List<List<AnnotationDescription>> classParameterAnnotations; List<List<AnnotationDescription>> classParameterAnnotations;
List<List<AnnotationDescription>> runtimeParameterAnnotations; List<List<AnnotationDescription>> runtimeParameterAnnotations;
public MethodDescription() {
flagsNormalization = METHODS_FLAGS_NORMALIZATION;
}
@Override @Override
public int hashCode() { public int hashCode() {
int hash = super.hashCode(); int hash = super.hashCode();
@ -3775,6 +3873,24 @@ public class CreateSymbols {
args); args);
break; break;
} }
case "build-description-incremental-file": {
if (args.length != 6 && args.length != 7) {
help();
return ;
}
if (args.length == 7) {
if ("--normalize-method-flags".equals(args[6])) {
MethodDescription.METHODS_FLAGS_NORMALIZATION = ~(0x100 | 0x20);
} else {
help();
return ;
}
}
new CreateSymbols().createIncrementalBaseLineFromDataFile(args[1], args[2], args[3], args[4], "<none>".equals(args[5]) ? null : args[5], args);
break;
}
case "build-description-incremental": { case "build-description-incremental": {
if (args.length != 3) { if (args.length != 3) {
help(); help();

View File

@ -134,10 +134,10 @@ public class ElementStructureTest {
(byte) 0x90, (byte) 0xFA, (byte) 0x98, (byte) 0xCD (byte) 0x90, (byte) 0xFA, (byte) 0x98, (byte) 0xCD
}; };
static final byte[] hash8 = new byte[] { static final byte[] hash8 = new byte[] {
(byte) 0x0B, (byte) 0xEB, (byte) 0x16, (byte) 0xF5, (byte) 0x24, (byte) 0x38, (byte) 0x52, (byte) 0x1C,
(byte) 0x7F, (byte) 0xB0, (byte) 0x18, (byte) 0xF1, (byte) 0x5E, (byte) 0x83, (byte) 0x82, (byte) 0xE6,
(byte) 0x78, (byte) 0x11, (byte) 0xED, (byte) 0x30, (byte) 0x41, (byte) 0xC2, (byte) 0xDD, (byte) 0x2A,
(byte) 0x19, (byte) 0x4D, (byte) 0xDE, (byte) 0x8A (byte) 0xFD, (byte) 0xFF, (byte) 0x5E, (byte) 0x2F
}; };
final static Map<String, byte[]> version2Hash = new HashMap<>(); final static Map<String, byte[]> version2Hash = new HashMap<>();