8277106: Cannot compile certain sources with --release

Reviewed-by: darcy, mcimadamore
This commit is contained in:
Jan Lahoda 2021-12-08 18:50:38 +00:00
parent ba86dd4aaf
commit 42d9b1baac
20 changed files with 927 additions and 77 deletions

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2019, 2021, 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
@ -27,7 +27,7 @@
# ########################################################## # ##########################################################
# #
module name java.base module name java.base
header exports java/io,java/lang,java/lang/annotation,java/lang/constant,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/acl,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider target linux-amd64 flags 8000 header exports java/io,java/lang,java/lang/annotation,java/lang/constant,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/acl,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert,jdk/internal/event[jdk.jfr] uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider target linux-amd64 flags 8000
class name java/io/FileInputStream class name java/io/FileInputStream
-method name finalize descriptor ()V -method name finalize descriptor ()V
@ -634,3 +634,13 @@ field name serialVersionUID descriptor J constantValue -1430015993304333921 flag
class name javax/net/ssl/HttpsURLConnection class name javax/net/ssl/HttpsURLConnection
method name getSSLSession descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional<Ljavax/net/ssl/SSLSession;>; method name getSSLSession descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional<Ljavax/net/ssl/SSLSession;>;
class name jdk/internal/event/Event
header extends java/lang/Object flags 421
method name <init> descriptor ()V flags 4
method name begin descriptor ()V flags 1
method name end descriptor ()V flags 1
method name commit descriptor ()V flags 1
method name isEnabled descriptor ()Z flags 1
method name shouldCommit descriptor ()Z flags 1
method name set descriptor (ILjava/lang/Object;)V flags 1

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2020, 2021, 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
@ -27,7 +27,7 @@
# ########################################################## # ##########################################################
# #
module name java.base module name java.base
header exports java/io,java/lang,java/lang/annotation,java/lang/constant,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/lang/runtime,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider target linux-amd64 flags 8000 header exports java/io,java/lang,java/lang/annotation,java/lang/constant,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/lang/runtime,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert,jdk/internal/event[jdk.jfr] uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider target linux-amd64 flags 8000
class name java/io/PrintStream class name java/io/PrintStream
method name write descriptor ([B)V thrownTypes java/io/IOException flags 1 method name write descriptor ([B)V thrownTypes java/io/IOException flags 1
@ -209,18 +209,18 @@ method name setCurrentBlocker descriptor (Ljava/lang/Object;)V flags 9
class name java/util/concurrent/locks/StampedLock class name java/util/concurrent/locks/StampedLock
header extends java/lang/Object implements java/io/Serializable flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) header extends java/lang/Object implements java/io/Serializable flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
method name tryWriteLock descriptor ()J flags 1
method name writeLockInterruptibly descriptor ()J thrownTypes java/lang/InterruptedException flags 1
method name tryReadLock descriptor ()J flags 1
method name tryReadLock descriptor (JLjava/util/concurrent/TimeUnit;)J thrownTypes java/lang/InterruptedException flags 1
method name readLockInterruptibly descriptor ()J thrownTypes java/lang/InterruptedException flags 1
method name unlock descriptor (J)V flags 1
-method name tryWriteLock descriptor ()J -method name tryWriteLock descriptor ()J
-method name writeLockInterruptibly descriptor ()J -method name writeLockInterruptibly descriptor ()J
-method name tryReadLock descriptor ()J -method name tryReadLock descriptor ()J
-method name tryReadLock descriptor (JLjava/util/concurrent/TimeUnit;)J -method name tryReadLock descriptor (JLjava/util/concurrent/TimeUnit;)J
-method name readLockInterruptibly descriptor ()J -method name readLockInterruptibly descriptor ()J
-method name unlock descriptor (J)V -method name unlock descriptor (J)V
method name tryWriteLock descriptor ()J flags 1
method name writeLockInterruptibly descriptor ()J thrownTypes java/lang/InterruptedException flags 1
method name tryReadLock descriptor ()J flags 1
method name tryReadLock descriptor (JLjava/util/concurrent/TimeUnit;)J thrownTypes java/lang/InterruptedException flags 1
method name readLockInterruptibly descriptor ()J thrownTypes java/lang/InterruptedException flags 1
method name unlock descriptor (J)V flags 1
-class name java/util/jar/Pack200 -class name java/util/jar/Pack200

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2020, 2021, 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
@ -26,6 +26,9 @@
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
# ########################################################## # ##########################################################
# #
module name java.base
header exports java/io,java/lang,java/lang/annotation,java/lang/constant,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/lang/runtime,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert,jdk/internal/event[jdk.jfr],jdk/internal/vm/vector[jdk.incubator.vector] uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider target linux-amd64 flags 8000
class name java/io/PrintStream class name java/io/PrintStream
header extends java/io/FilterOutputStream implements java/lang/Appendable,java/io/Closeable flags 21 header extends java/io/FilterOutputStream implements java/lang/Appendable,java/io/Closeable flags 21
innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019
@ -677,8 +680,8 @@ method name toString descriptor ()Ljava/lang/String; flags 1
class name java/security/spec/PSSParameterSpec class name java/security/spec/PSSParameterSpec
-field name TRAILER_FIELD_BC descriptor I -field name TRAILER_FIELD_BC descriptor I
field name TRAILER_FIELD_BC descriptor I constantValue 1 flags 19
-method name toString descriptor ()Ljava/lang/String; -method name toString descriptor ()Ljava/lang/String;
field name TRAILER_FIELD_BC descriptor I constantValue 1 flags 19
method name toString descriptor ()Ljava/lang/String; flags 1 method name toString descriptor ()Ljava/lang/String; flags 1
class name java/security/spec/RSAKeyGenParameterSpec class name java/security/spec/RSAKeyGenParameterSpec
@ -1169,3 +1172,113 @@ header extends java/lang/Object implements java/security/spec/AlgorithmParameter
class name javax/crypto/spec/SecretKeySpec class name javax/crypto/spec/SecretKeySpec
header extends java/lang/Object implements java/security/spec/KeySpec,javax/crypto/SecretKey flags 21 header extends java/lang/Object implements java/security/spec/KeySpec,javax/crypto/SecretKey flags 21
class name jdk/internal/event/Event
header extends java/lang/Object flags 421
-method name <init> descriptor ()V
-method name begin descriptor ()V
-method name end descriptor ()V
-method name commit descriptor ()V
-method name isEnabled descriptor ()Z
-method name shouldCommit descriptor ()Z
-method name set descriptor (ILjava/lang/Object;)V
method name <init> descriptor ()V flags 4
method name begin descriptor ()V flags 1
method name end descriptor ()V flags 1
method name commit descriptor ()V flags 1
method name isEnabled descriptor ()Z flags 1
method name shouldCommit descriptor ()Z flags 1
method name set descriptor (ILjava/lang/Object;)V flags 1
class name jdk/internal/vm/vector/VectorSupport
header extends java/lang/Object nestMembers jdk/internal/vm/vector/VectorSupport$VectorMask,jdk/internal/vm/vector/VectorSupport$VectorShuffle,jdk/internal/vm/vector/VectorSupport$Vector,jdk/internal/vm/vector/VectorSupport$VectorPayload,jdk/internal/vm/vector/VectorSupport$VectorSpecies flags 21
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorShuffle outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorShuffle flags 9
innerclass innerClass jdk/internal/vm/vector/VectorSupport$Vector outerClass jdk/internal/vm/vector/VectorSupport innerClassName Vector flags 9
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorMask outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorMask flags 9
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorPayload outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorPayload flags 9
field name VECTOR_OP_ABS descriptor I constantValue 0 flags 19
field name VECTOR_OP_NEG descriptor I constantValue 1 flags 19
field name VECTOR_OP_SQRT descriptor I constantValue 2 flags 19
field name VECTOR_OP_ADD descriptor I constantValue 4 flags 19
field name VECTOR_OP_SUB descriptor I constantValue 5 flags 19
field name VECTOR_OP_MUL descriptor I constantValue 6 flags 19
field name VECTOR_OP_DIV descriptor I constantValue 7 flags 19
field name VECTOR_OP_MIN descriptor I constantValue 8 flags 19
field name VECTOR_OP_MAX descriptor I constantValue 9 flags 19
field name VECTOR_OP_AND descriptor I constantValue 10 flags 19
field name VECTOR_OP_OR descriptor I constantValue 11 flags 19
field name VECTOR_OP_XOR descriptor I constantValue 12 flags 19
field name VECTOR_OP_FMA descriptor I constantValue 13 flags 19
field name VECTOR_OP_LSHIFT descriptor I constantValue 14 flags 19
field name VECTOR_OP_RSHIFT descriptor I constantValue 15 flags 19
field name VECTOR_OP_URSHIFT descriptor I constantValue 16 flags 19
field name VECTOR_OP_CAST descriptor I constantValue 17 flags 19
field name VECTOR_OP_REINTERPRET descriptor I constantValue 18 flags 19
field name BT_eq descriptor I constantValue 0 flags 19
field name BT_ne descriptor I constantValue 4 flags 19
field name BT_le descriptor I constantValue 5 flags 19
field name BT_ge descriptor I constantValue 7 flags 19
field name BT_lt descriptor I constantValue 3 flags 19
field name BT_gt descriptor I constantValue 1 flags 19
field name BT_overflow descriptor I constantValue 2 flags 19
field name BT_no_overflow descriptor I constantValue 6 flags 19
field name T_FLOAT descriptor I constantValue 6 flags 19
field name T_DOUBLE descriptor I constantValue 7 flags 19
field name T_BYTE descriptor I constantValue 8 flags 19
field name T_SHORT descriptor I constantValue 9 flags 19
field name T_INT descriptor I constantValue 10 flags 19
field name T_LONG descriptor I constantValue 11 flags 19
method name <init> descriptor ()V flags 1
method name broadcastCoerced descriptor (Ljava/lang/Class;Ljava/lang/Class;IJLjdk/internal/vm/vector/VectorSupport$VectorSpecies;Ljdk/internal/vm/vector/VectorSupport$BroadcastOperation;)Ljava/lang/Object; flags 9 signature <VM:Ljava/lang/Object;E:Ljava/lang/Object;S:Ljdk/internal/vm/vector/VectorSupport$VectorSpecies<TE;>;>(Ljava/lang/Class<+TVM;>;Ljava/lang/Class<TE;>;IJTS;Ljdk/internal/vm/vector/VectorSupport$BroadcastOperation<TVM;TE;TS;>;)TVM; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
method name shuffleIota descriptor (Ljava/lang/Class;Ljava/lang/Class;Ljdk/internal/vm/vector/VectorSupport$VectorSpecies;IIIILjdk/internal/vm/vector/VectorSupport$ShuffleIotaOperation;)Ljdk/internal/vm/vector/VectorSupport$VectorShuffle; flags 9 signature <E:Ljava/lang/Object;S:Ljdk/internal/vm/vector/VectorSupport$VectorSpecies<TE;>;>(Ljava/lang/Class<*>;Ljava/lang/Class<*>;TS;IIIILjdk/internal/vm/vector/VectorSupport$ShuffleIotaOperation<TE;TS;>;)Ljdk/internal/vm/vector/VectorSupport$VectorShuffle<TE;>; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
method name shuffleToVector descriptor (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;Ljdk/internal/vm/vector/VectorSupport$VectorShuffle;ILjdk/internal/vm/vector/VectorSupport$ShuffleToVectorOperation;)Ljava/lang/Object; flags 9 signature <VM:Ljava/lang/Object;Sh:Ljdk/internal/vm/vector/VectorSupport$VectorShuffle<TE;>;E:Ljava/lang/Object;>(Ljava/lang/Class<*>;Ljava/lang/Class<*>;Ljava/lang/Class<*>;TSh;ILjdk/internal/vm/vector/VectorSupport$ShuffleToVectorOperation<TVM;TSh;TE;>;)TVM; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
method name indexVector descriptor (Ljava/lang/Class;Ljava/lang/Class;ILjdk/internal/vm/vector/VectorSupport$Vector;ILjdk/internal/vm/vector/VectorSupport$VectorSpecies;Ljdk/internal/vm/vector/VectorSupport$IndexOperation;)Ljdk/internal/vm/vector/VectorSupport$Vector; flags 9 signature <V:Ljdk/internal/vm/vector/VectorSupport$Vector<TE;>;E:Ljava/lang/Object;S:Ljdk/internal/vm/vector/VectorSupport$VectorSpecies<TE;>;>(Ljava/lang/Class<+TV;>;Ljava/lang/Class<TE;>;ITV;ITS;Ljdk/internal/vm/vector/VectorSupport$IndexOperation<TV;TE;TS;>;)TV;
method name reductionCoerced descriptor (ILjava/lang/Class;Ljava/lang/Class;ILjdk/internal/vm/vector/VectorSupport$Vector;Ljava/util/function/Function;)J flags 9 signature <V:Ljdk/internal/vm/vector/VectorSupport$Vector<*>;>(ILjava/lang/Class<*>;Ljava/lang/Class<*>;ITV;Ljava/util/function/Function<TV;Ljava/lang/Long;>;)J runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
method name extract descriptor (Ljava/lang/Class;Ljava/lang/Class;ILjdk/internal/vm/vector/VectorSupport$Vector;ILjdk/internal/vm/vector/VectorSupport$VecExtractOp;)J flags 9 signature <V:Ljdk/internal/vm/vector/VectorSupport$Vector<*>;>(Ljava/lang/Class<*>;Ljava/lang/Class<*>;ITV;ILjdk/internal/vm/vector/VectorSupport$VecExtractOp<TV;>;)J runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
method name insert descriptor (Ljava/lang/Class;Ljava/lang/Class;ILjdk/internal/vm/vector/VectorSupport$Vector;IJLjdk/internal/vm/vector/VectorSupport$VecInsertOp;)Ljdk/internal/vm/vector/VectorSupport$Vector; flags 9 signature <V:Ljdk/internal/vm/vector/VectorSupport$Vector<*>;>(Ljava/lang/Class<+TV;>;Ljava/lang/Class<*>;ITV;IJLjdk/internal/vm/vector/VectorSupport$VecInsertOp<TV;>;)TV; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
method name unaryOp descriptor (ILjava/lang/Class;Ljava/lang/Class;ILjava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object; flags 9 signature <VM:Ljava/lang/Object;>(ILjava/lang/Class<+TVM;>;Ljava/lang/Class<*>;ITVM;Ljava/util/function/Function<TVM;TVM;>;)TVM; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
method name binaryOp descriptor (ILjava/lang/Class;Ljava/lang/Class;ILjava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object; flags 9 signature <VM:Ljava/lang/Object;>(ILjava/lang/Class<+TVM;>;Ljava/lang/Class<*>;ITVM;TVM;Ljava/util/function/BiFunction<TVM;TVM;TVM;>;)TVM; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
method name ternaryOp descriptor (ILjava/lang/Class;Ljava/lang/Class;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljdk/internal/vm/vector/VectorSupport$TernaryOperation;)Ljava/lang/Object; flags 9 signature <VM:Ljava/lang/Object;>(ILjava/lang/Class<+TVM;>;Ljava/lang/Class<*>;ITVM;TVM;TVM;Ljdk/internal/vm/vector/VectorSupport$TernaryOperation<TVM;>;)TVM; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
method name load descriptor (Ljava/lang/Class;Ljava/lang/Class;ILjava/lang/Object;JLjava/lang/Object;ILjdk/internal/vm/vector/VectorSupport$VectorSpecies;Ljdk/internal/vm/vector/VectorSupport$LoadOperation;)Ljava/lang/Object; flags 9 signature <C:Ljava/lang/Object;VM:Ljava/lang/Object;E:Ljava/lang/Object;S:Ljdk/internal/vm/vector/VectorSupport$VectorSpecies<TE;>;>(Ljava/lang/Class<+TVM;>;Ljava/lang/Class<TE;>;ILjava/lang/Object;JTC;ITS;Ljdk/internal/vm/vector/VectorSupport$LoadOperation<TC;TVM;TE;TS;>;)TVM; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
method name loadWithMap descriptor (Ljava/lang/Class;Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/Object;JLjdk/internal/vm/vector/VectorSupport$Vector;Ljava/lang/Object;I[IILjdk/internal/vm/vector/VectorSupport$VectorSpecies;Ljdk/internal/vm/vector/VectorSupport$LoadVectorOperationWithMap;)Ljdk/internal/vm/vector/VectorSupport$Vector; flags 9 signature <C:Ljava/lang/Object;V:Ljdk/internal/vm/vector/VectorSupport$Vector<*>;W:Ljdk/internal/vm/vector/VectorSupport$Vector<Ljava/lang/Integer;>;E:Ljava/lang/Object;S:Ljdk/internal/vm/vector/VectorSupport$VectorSpecies<TE;>;>(Ljava/lang/Class<*>;Ljava/lang/Class<TE;>;ILjava/lang/Class<*>;Ljava/lang/Object;JTW;TC;I[IITS;Ljdk/internal/vm/vector/VectorSupport$LoadVectorOperationWithMap<TC;TV;TE;TS;>;)TV; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
method name store descriptor (Ljava/lang/Class;Ljava/lang/Class;ILjava/lang/Object;JLjdk/internal/vm/vector/VectorSupport$Vector;Ljava/lang/Object;ILjdk/internal/vm/vector/VectorSupport$StoreVectorOperation;)V flags 9 signature <C:Ljava/lang/Object;V:Ljdk/internal/vm/vector/VectorSupport$Vector<*>;>(Ljava/lang/Class<*>;Ljava/lang/Class<*>;ILjava/lang/Object;JTV;TC;ILjdk/internal/vm/vector/VectorSupport$StoreVectorOperation<TC;TV;>;)V runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
method name storeWithMap descriptor (Ljava/lang/Class;Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/Object;JLjdk/internal/vm/vector/VectorSupport$Vector;Ljdk/internal/vm/vector/VectorSupport$Vector;Ljava/lang/Object;I[IILjdk/internal/vm/vector/VectorSupport$StoreVectorOperationWithMap;)V flags 9 signature <C:Ljava/lang/Object;V:Ljdk/internal/vm/vector/VectorSupport$Vector<*>;W:Ljdk/internal/vm/vector/VectorSupport$Vector<Ljava/lang/Integer;>;>(Ljava/lang/Class<*>;Ljava/lang/Class<*>;ILjava/lang/Class<*>;Ljava/lang/Object;JTW;TV;TC;I[IILjdk/internal/vm/vector/VectorSupport$StoreVectorOperationWithMap<TC;TV;>;)V runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
method name test descriptor (ILjava/lang/Class;Ljava/lang/Class;ILjava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction;)Z flags 9 signature <VM:Ljava/lang/Object;>(ILjava/lang/Class<*>;Ljava/lang/Class<*>;ITVM;TVM;Ljava/util/function/BiFunction<TVM;TVM;Ljava/lang/Boolean;>;)Z runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
method name compare descriptor (ILjava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;ILjdk/internal/vm/vector/VectorSupport$Vector;Ljdk/internal/vm/vector/VectorSupport$Vector;Ljdk/internal/vm/vector/VectorSupport$VectorCompareOp;)Ljdk/internal/vm/vector/VectorSupport$VectorMask; flags 9 signature <V:Ljdk/internal/vm/vector/VectorSupport$Vector<TE;>;M:Ljdk/internal/vm/vector/VectorSupport$VectorMask<TE;>;E:Ljava/lang/Object;>(ILjava/lang/Class<+TV;>;Ljava/lang/Class<TM;>;Ljava/lang/Class<*>;ITV;TV;Ljdk/internal/vm/vector/VectorSupport$VectorCompareOp<TV;TM;>;)TM; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
method name rearrangeOp descriptor (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;ILjdk/internal/vm/vector/VectorSupport$Vector;Ljdk/internal/vm/vector/VectorSupport$VectorShuffle;Ljdk/internal/vm/vector/VectorSupport$VectorRearrangeOp;)Ljdk/internal/vm/vector/VectorSupport$Vector; flags 9 signature <V:Ljdk/internal/vm/vector/VectorSupport$Vector<TE;>;Sh:Ljdk/internal/vm/vector/VectorSupport$VectorShuffle<TE;>;E:Ljava/lang/Object;>(Ljava/lang/Class<+TV;>;Ljava/lang/Class<TSh;>;Ljava/lang/Class<*>;ITV;TSh;Ljdk/internal/vm/vector/VectorSupport$VectorRearrangeOp<TV;TSh;TE;>;)TV; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
method name blend descriptor (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;ILjdk/internal/vm/vector/VectorSupport$Vector;Ljdk/internal/vm/vector/VectorSupport$Vector;Ljdk/internal/vm/vector/VectorSupport$VectorMask;Ljdk/internal/vm/vector/VectorSupport$VectorBlendOp;)Ljdk/internal/vm/vector/VectorSupport$Vector; flags 9 signature <V:Ljdk/internal/vm/vector/VectorSupport$Vector<TE;>;M:Ljdk/internal/vm/vector/VectorSupport$VectorMask<TE;>;E:Ljava/lang/Object;>(Ljava/lang/Class<+TV;>;Ljava/lang/Class<TM;>;Ljava/lang/Class<*>;ITV;TV;TM;Ljdk/internal/vm/vector/VectorSupport$VectorBlendOp<TV;TM;TE;>;)TV; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
method name broadcastInt descriptor (ILjava/lang/Class;Ljava/lang/Class;ILjdk/internal/vm/vector/VectorSupport$Vector;ILjdk/internal/vm/vector/VectorSupport$VectorBroadcastIntOp;)Ljdk/internal/vm/vector/VectorSupport$Vector; flags 9 signature <V:Ljdk/internal/vm/vector/VectorSupport$Vector<*>;>(ILjava/lang/Class<+TV;>;Ljava/lang/Class<*>;ITV;ILjdk/internal/vm/vector/VectorSupport$VectorBroadcastIntOp<TV;>;)TV; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
method name convert descriptor (ILjava/lang/Class;Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/Class;ILjdk/internal/vm/vector/VectorSupport$VectorPayload;Ljdk/internal/vm/vector/VectorSupport$VectorSpecies;Ljdk/internal/vm/vector/VectorSupport$VectorConvertOp;)Ljdk/internal/vm/vector/VectorSupport$VectorPayload; flags 9 signature <VOUT:Ljdk/internal/vm/vector/VectorSupport$VectorPayload;VIN:Ljdk/internal/vm/vector/VectorSupport$VectorPayload;S:Ljdk/internal/vm/vector/VectorSupport$VectorSpecies<*>;>(ILjava/lang/Class<*>;Ljava/lang/Class<*>;ILjava/lang/Class<*>;Ljava/lang/Class<*>;ITVIN;TS;Ljdk/internal/vm/vector/VectorSupport$VectorConvertOp<TVOUT;TVIN;TS;>;)TVOUT; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
method name maybeRebox descriptor (Ljava/lang/Object;)Ljava/lang/Object; flags 9 signature <V:Ljava/lang/Object;>(TV;)TV; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;
method name getMaxLaneCount descriptor (Ljava/lang/Class;)I flags 109 signature (Ljava/lang/Class<*>;)I
method name isNonCapturingLambda descriptor (Ljava/lang/Object;)Z flags 9
class name jdk/internal/vm/vector/VectorSupport$Vector
header extends jdk/internal/vm/vector/VectorSupport$VectorPayload nestHost jdk/internal/vm/vector/VectorSupport flags 21 signature <E:Ljava/lang/Object;>Ljdk/internal/vm/vector/VectorSupport$VectorPayload;
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorPayload outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorPayload flags 9
innerclass innerClass jdk/internal/vm/vector/VectorSupport$Vector outerClass jdk/internal/vm/vector/VectorSupport innerClassName Vector flags 9
method name <init> descriptor (Ljava/lang/Object;)V flags 1
class name jdk/internal/vm/vector/VectorSupport$VectorMask
header extends jdk/internal/vm/vector/VectorSupport$VectorPayload nestHost jdk/internal/vm/vector/VectorSupport flags 21 signature <E:Ljava/lang/Object;>Ljdk/internal/vm/vector/VectorSupport$VectorPayload;
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorPayload outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorPayload flags 9
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorMask outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorMask flags 9
method name <init> descriptor (Ljava/lang/Object;)V flags 1
class name jdk/internal/vm/vector/VectorSupport$VectorPayload
header extends java/lang/Object nestHost jdk/internal/vm/vector/VectorSupport flags 21
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorPayload outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorPayload flags 9
method name <init> descriptor (Ljava/lang/Object;)V flags 1
method name getPayload descriptor ()Ljava/lang/Object; flags 14
class name jdk/internal/vm/vector/VectorSupport$VectorShuffle
header extends jdk/internal/vm/vector/VectorSupport$VectorPayload nestHost jdk/internal/vm/vector/VectorSupport flags 21 signature <E:Ljava/lang/Object;>Ljdk/internal/vm/vector/VectorSupport$VectorPayload;
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorPayload outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorPayload flags 9
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorShuffle outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorShuffle flags 9
method name <init> descriptor (Ljava/lang/Object;)V flags 1
class name jdk/internal/vm/vector/VectorSupport$VectorSpecies
header extends java/lang/Object nestHost jdk/internal/vm/vector/VectorSupport flags 21 signature <E:Ljava/lang/Object;>Ljava/lang/Object;
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
method name <init> descriptor ()V flags 1

View File

@ -27,7 +27,7 @@
# ########################################################## # ##########################################################
# #
module name java.base module name java.base
header exports java/io,java/lang,java/lang/annotation,java/lang/constant,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/lang/runtime,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/random,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/random/RandomGenerator,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider,interface\u0020;java/util/random/RandomGenerator\u0020;impls\u0020;java/security/SecureRandom\u005C;u002C;java/util/Random\u005C;u002C;java/util/SplittableRandom target linux-amd64 flags 8000 header exports java/io,java/lang,java/lang/annotation,java/lang/constant,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/lang/runtime,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/random,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert,jdk/internal/event[jdk.jfr],jdk/internal/vm/vector[jdk.incubator.vector] uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/random/RandomGenerator,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider,interface\u0020;java/util/random/RandomGenerator\u0020;impls\u0020;java/security/SecureRandom\u005C;u002C;java/util/Random\u005C;u002C;java/util/SplittableRandom target linux-amd64 flags 8000
class name java/io/CharArrayReader class name java/io/CharArrayReader
method name read descriptor (Ljava/nio/CharBuffer;)I thrownTypes java/io/IOException flags 1 method name read descriptor (Ljava/nio/CharBuffer;)I thrownTypes java/io/IOException flags 1
@ -114,8 +114,8 @@ header extends java/lang/Object implements java/lang/annotation/Annotation flags
class name java/lang/System class name java/lang/System
-method name setSecurityManager descriptor (Ljava/lang/SecurityManager;)V -method name setSecurityManager descriptor (Ljava/lang/SecurityManager;)V
-method name getSecurityManager descriptor ()Ljava/lang/SecurityManager; -method name getSecurityManager descriptor ()Ljava/lang/SecurityManager;
method name getSecurityManager descriptor ()Ljava/lang/SecurityManager; flags 9 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="17")
method name setSecurityManager descriptor (Ljava/lang/SecurityManager;)V flags 9 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="17")@Ljdk/internal/reflect/CallerSensitive; method name setSecurityManager descriptor (Ljava/lang/SecurityManager;)V flags 9 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="17")@Ljdk/internal/reflect/CallerSensitive;
method name getSecurityManager descriptor ()Ljava/lang/SecurityManager; flags 9 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="17")
class name java/lang/Thread class name java/lang/Thread
-method name checkAccess descriptor ()V -method name checkAccess descriptor ()V
@ -313,8 +313,8 @@ field name SHA512_256 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19
class name java/security/spec/PSSParameterSpec class name java/security/spec/PSSParameterSpec
-field name TRAILER_FIELD_BC descriptor I -field name TRAILER_FIELD_BC descriptor I
field name TRAILER_FIELD_BC descriptor I constantValue 1 flags 19
-method name toString descriptor ()Ljava/lang/String; -method name toString descriptor ()Ljava/lang/String;
field name TRAILER_FIELD_BC descriptor I constantValue 1 flags 19
method name toString descriptor ()Ljava/lang/String; flags 1 method name toString descriptor ()Ljava/lang/String; flags 1
class name java/security/spec/RSAKeyGenParameterSpec class name java/security/spec/RSAKeyGenParameterSpec
@ -470,8 +470,8 @@ method name splits descriptor ()Ljava/util/stream/Stream; flags 1 signature ()Lj
method name splits descriptor (J)Ljava/util/stream/Stream; flags 1 signature (J)Ljava/util/stream/Stream<Ljava/util/random/RandomGenerator$SplittableGenerator;>; method name splits descriptor (J)Ljava/util/stream/Stream; flags 1 signature (J)Ljava/util/stream/Stream<Ljava/util/random/RandomGenerator$SplittableGenerator;>;
method name splits descriptor (Ljava/util/random/RandomGenerator$SplittableGenerator;)Ljava/util/stream/Stream; flags 1 signature (Ljava/util/random/RandomGenerator$SplittableGenerator;)Ljava/util/stream/Stream<Ljava/util/random/RandomGenerator$SplittableGenerator;>; method name splits descriptor (Ljava/util/random/RandomGenerator$SplittableGenerator;)Ljava/util/stream/Stream; flags 1 signature (Ljava/util/random/RandomGenerator$SplittableGenerator;)Ljava/util/stream/Stream<Ljava/util/random/RandomGenerator$SplittableGenerator;>;
method name splits descriptor (JLjava/util/random/RandomGenerator$SplittableGenerator;)Ljava/util/stream/Stream; flags 1 signature (JLjava/util/random/RandomGenerator$SplittableGenerator;)Ljava/util/stream/Stream<Ljava/util/random/RandomGenerator$SplittableGenerator;>; method name splits descriptor (JLjava/util/random/RandomGenerator$SplittableGenerator;)Ljava/util/stream/Stream; flags 1 signature (JLjava/util/random/RandomGenerator$SplittableGenerator;)Ljava/util/stream/Stream<Ljava/util/random/RandomGenerator$SplittableGenerator;>;
method name split descriptor ()Ljava/util/random/RandomGenerator$SplittableGenerator; flags 1041
method name split descriptor (Ljava/util/random/RandomGenerator$SplittableGenerator;)Ljava/util/random/RandomGenerator$SplittableGenerator; flags 1041 method name split descriptor (Ljava/util/random/RandomGenerator$SplittableGenerator;)Ljava/util/random/RandomGenerator$SplittableGenerator; flags 1041
method name split descriptor ()Ljava/util/random/RandomGenerator$SplittableGenerator; flags 1041
class name java/util/TimeZone class name java/util/TimeZone
header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421 header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421
@ -928,3 +928,32 @@ method name doAsPrivileged descriptor (Ljavax/security/auth/Subject;Ljava/securi
class name javax/security/auth/SubjectDomainCombiner class name javax/security/auth/SubjectDomainCombiner
header extends java/lang/Object implements java/security/DomainCombiner flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="17") header extends java/lang/Object implements java/security/DomainCombiner flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="17")
class name jdk/internal/vm/vector/VectorSupport
field name VECTOR_OP_MASK_TRUECOUNT descriptor I constantValue 19 flags 19
field name VECTOR_OP_MASK_FIRSTTRUE descriptor I constantValue 20 flags 19
field name VECTOR_OP_MASK_LASTTRUE descriptor I constantValue 21 flags 19
field name VECTOR_OP_TAN descriptor I constantValue 101 flags 19
field name VECTOR_OP_TANH descriptor I constantValue 102 flags 19
field name VECTOR_OP_SIN descriptor I constantValue 103 flags 19
field name VECTOR_OP_SINH descriptor I constantValue 104 flags 19
field name VECTOR_OP_COS descriptor I constantValue 105 flags 19
field name VECTOR_OP_COSH descriptor I constantValue 106 flags 19
field name VECTOR_OP_ASIN descriptor I constantValue 107 flags 19
field name VECTOR_OP_ACOS descriptor I constantValue 108 flags 19
field name VECTOR_OP_ATAN descriptor I constantValue 109 flags 19
field name VECTOR_OP_ATAN2 descriptor I constantValue 110 flags 19
field name VECTOR_OP_CBRT descriptor I constantValue 111 flags 19
field name VECTOR_OP_LOG descriptor I constantValue 112 flags 19
field name VECTOR_OP_LOG10 descriptor I constantValue 113 flags 19
field name VECTOR_OP_LOG1P descriptor I constantValue 114 flags 19
field name VECTOR_OP_POW descriptor I constantValue 115 flags 19
field name VECTOR_OP_EXP descriptor I constantValue 116 flags 19
field name VECTOR_OP_EXPM1 descriptor I constantValue 117 flags 19
field name VECTOR_OP_HYPOT descriptor I constantValue 118 flags 19
field name BT_unsigned_compare descriptor I constantValue 16 flags 19
field name BT_ule descriptor I constantValue 21 flags 19
field name BT_uge descriptor I constantValue 23 flags 19
field name BT_ult descriptor I constantValue 19 flags 19
field name BT_ugt descriptor I constantValue 17 flags 19
method name maskReductionCoerced descriptor (ILjava/lang/Class;Ljava/lang/Class;ILjava/lang/Object;Ljdk/internal/vm/vector/VectorSupport$VectorMaskOp;)I flags 9 signature <E:Ljava/lang/Object;M:Ljava/lang/Object;>(ILjava/lang/Class<+TM;>;Ljava/lang/Class<*>;ITM;Ljdk/internal/vm/vector/VectorSupport$VectorMaskOp<TM;>;)I runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate;

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2018, 2021, 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
@ -136,8 +136,8 @@ header extends java/lang/Object implements javax/xml/stream/util/XMLEventConsume
class name javax/xml/stream/XMLInputFactory class name javax/xml/stream/XMLInputFactory
header extends java/lang/Object flags 421 header extends java/lang/Object flags 421
method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; thrownTypes javax/xml/stream/FactoryConfigurationError flags 9
-method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; -method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory;
method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; thrownTypes javax/xml/stream/FactoryConfigurationError flags 9
class name javax/xml/stream/XMLOutputFactory class name javax/xml/stream/XMLOutputFactory
header extends java/lang/Object flags 421 header extends java/lang/Object flags 421

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2019, 2021, 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
@ -27,6 +27,6 @@
# ########################################################## # ##########################################################
# #
class name javax/xml/stream/XMLInputFactory class name javax/xml/stream/XMLInputFactory
method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; thrownTypes javax/xml/stream/FactoryConfigurationError flags 9
-method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; -method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory;
method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; thrownTypes javax/xml/stream/FactoryConfigurationError flags 9

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2019, 2021, 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
@ -42,6 +42,6 @@ method name newNSInstance descriptor ()Ljavax/xml/parsers/SAXParserFactory; flag
method name newNSInstance descriptor (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/parsers/SAXParserFactory; flags 9 method name newNSInstance descriptor (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/parsers/SAXParserFactory; flags 9
class name javax/xml/stream/XMLInputFactory class name javax/xml/stream/XMLInputFactory
method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; thrownTypes javax/xml/stream/FactoryConfigurationError flags 9
-method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; -method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory;
method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; thrownTypes javax/xml/stream/FactoryConfigurationError flags 9

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2019, 2021, 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
@ -27,8 +27,8 @@
# ########################################################## # ##########################################################
# #
class name javax/xml/stream/XMLInputFactory class name javax/xml/stream/XMLInputFactory
method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; thrownTypes javax/xml/stream/FactoryConfigurationError flags 9
-method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; -method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory;
method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; thrownTypes javax/xml/stream/FactoryConfigurationError flags 9
class name org/xml/sax/ContentHandler class name org/xml/sax/ContentHandler
method name declaration descriptor (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V thrownTypes org/xml/sax/SAXException flags 1 method name declaration descriptor (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V thrownTypes org/xml/sax/SAXException flags 1

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2020, 2021, 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
@ -59,9 +59,9 @@ method name asSlice descriptor (JJ)Ljdk/incubator/foreign/MemorySegment; flags 1
method name withAccessModes descriptor (I)Ljdk/incubator/foreign/MemorySegment; flags 1041 method name withAccessModes descriptor (I)Ljdk/incubator/foreign/MemorySegment; flags 1041
class name jdk/incubator/foreign/MemoryAddress class name jdk/incubator/foreign/MemoryAddress
field name NULL descriptor Ljdk/incubator/foreign/MemoryAddress; flags 19
-method name offset descriptor ()J -method name offset descriptor ()J
-method name copy descriptor (Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/MemoryAddress;J)V -method name copy descriptor (Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/MemoryAddress;J)V
field name NULL descriptor Ljdk/incubator/foreign/MemoryAddress; flags 19
method name segmentOffset descriptor ()J flags 401 method name segmentOffset descriptor ()J flags 401
method name toRawLongValue descriptor ()J flags 401 method name toRawLongValue descriptor ()J flags 401
method name rebase descriptor (Ljdk/incubator/foreign/MemorySegment;)Ljdk/incubator/foreign/MemoryAddress; flags 401 method name rebase descriptor (Ljdk/incubator/foreign/MemorySegment;)Ljdk/incubator/foreign/MemoryAddress; flags 401
@ -78,8 +78,8 @@ method name collectCoordinates descriptor (Ljava/lang/invoke/VarHandle;ILjava/la
method name dropCoordinates descriptor (Ljava/lang/invoke/VarHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/VarHandle; flags 89 signature (Ljava/lang/invoke/VarHandle;I[Ljava/lang/Class<*>;)Ljava/lang/invoke/VarHandle; method name dropCoordinates descriptor (Ljava/lang/invoke/VarHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/VarHandle; flags 89 signature (Ljava/lang/invoke/VarHandle;I[Ljava/lang/Class<*>;)Ljava/lang/invoke/VarHandle;
class name jdk/incubator/foreign/MemoryLayout class name jdk/incubator/foreign/MemoryLayout
field name LAYOUT_NAME descriptor Ljava/lang/String; constantValue layout/name flags 19
-method name offset descriptor ([Ljdk/incubator/foreign/MemoryLayout$PathElement;)J -method name offset descriptor ([Ljdk/incubator/foreign/MemoryLayout$PathElement;)J
field name LAYOUT_NAME descriptor Ljava/lang/String; constantValue layout/name flags 19
method name attribute descriptor (Ljava/lang/String;)Ljava/util/Optional; flags 401 signature (Ljava/lang/String;)Ljava/util/Optional<Ljava/lang/constant/Constable;>; method name attribute descriptor (Ljava/lang/String;)Ljava/util/Optional; flags 401 signature (Ljava/lang/String;)Ljava/util/Optional<Ljava/lang/constant/Constable;>;
method name withAttribute descriptor (Ljava/lang/String;Ljava/lang/constant/Constable;)Ljdk/incubator/foreign/MemoryLayout; flags 401 method name withAttribute descriptor (Ljava/lang/String;Ljava/lang/constant/Constable;)Ljdk/incubator/foreign/MemoryLayout; flags 401
method name attributes descriptor ()Ljava/util/stream/Stream; flags 401 signature ()Ljava/util/stream/Stream<Ljava/lang/String;>; method name attributes descriptor ()Ljava/util/stream/Stream; flags 401 signature ()Ljava/util/stream/Stream<Ljava/lang/String;>;
@ -88,16 +88,16 @@ method name byteOffset descriptor ([Ljdk/incubator/foreign/MemoryLayout$PathElem
method name isPadding descriptor ()Z flags 401 method name isPadding descriptor ()Z flags 401
class name jdk/incubator/foreign/MemorySegment class name jdk/incubator/foreign/MemorySegment
-method name acquire descriptor ()Ljdk/incubator/foreign/MemorySegment;
-method name asReadOnly descriptor ()Ljdk/incubator/foreign/MemorySegment;
-method name isReadOnly descriptor ()Z
-method name mapFromPath descriptor (Ljava/nio/file/Path;JLjava/nio/channels/FileChannel$MapMode;)Ljdk/incubator/foreign/MemorySegment;
field name READ descriptor I constantValue 1 flags 19 field name READ descriptor I constantValue 1 flags 19
field name WRITE descriptor I constantValue 2 flags 19 field name WRITE descriptor I constantValue 2 flags 19
field name CLOSE descriptor I constantValue 4 flags 19 field name CLOSE descriptor I constantValue 4 flags 19
field name ACQUIRE descriptor I constantValue 8 flags 19 field name ACQUIRE descriptor I constantValue 8 flags 19
field name HANDOFF descriptor I constantValue 16 flags 19 field name HANDOFF descriptor I constantValue 16 flags 19
field name ALL_ACCESS descriptor I constantValue 31 flags 19 field name ALL_ACCESS descriptor I constantValue 31 flags 19
-method name acquire descriptor ()Ljdk/incubator/foreign/MemorySegment;
-method name asReadOnly descriptor ()Ljdk/incubator/foreign/MemorySegment;
-method name isReadOnly descriptor ()Z
-method name mapFromPath descriptor (Ljava/nio/file/Path;JLjava/nio/channels/FileChannel$MapMode;)Ljdk/incubator/foreign/MemorySegment;
method name spliterator descriptor (Ljdk/incubator/foreign/MemorySegment;Ljdk/incubator/foreign/SequenceLayout;)Ljava/util/Spliterator; flags 9 signature <S::Ljdk/incubator/foreign/MemorySegment;>(TS;Ljdk/incubator/foreign/SequenceLayout;)Ljava/util/Spliterator<TS;>; method name spliterator descriptor (Ljdk/incubator/foreign/MemorySegment;Ljdk/incubator/foreign/SequenceLayout;)Ljava/util/Spliterator; flags 9 signature <S::Ljdk/incubator/foreign/MemorySegment;>(TS;Ljdk/incubator/foreign/SequenceLayout;)Ljava/util/Spliterator<TS;>;
method name withOwnerThread descriptor (Ljava/lang/Thread;)Ljdk/incubator/foreign/MemorySegment; flags 401 method name withOwnerThread descriptor (Ljava/lang/Thread;)Ljdk/incubator/foreign/MemorySegment; flags 401
method name withAccessModes descriptor (I)Ljdk/incubator/foreign/MemorySegment; flags 401 method name withAccessModes descriptor (I)Ljdk/incubator/foreign/MemorySegment; flags 401

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2020, 2021, 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
@ -264,12 +264,12 @@ header extends java/lang/Object implements jdk/incubator/foreign/Addressable,jav
innerclass innerClass java/nio/channels/FileChannel$MapMode outerClass java/nio/channels/FileChannel innerClassName MapMode flags 9 innerclass innerClass java/nio/channels/FileChannel$MapMode outerClass java/nio/channels/FileChannel innerClassName MapMode flags 9
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
-field name ACQUIRE descriptor I -field name ACQUIRE descriptor I
field name SHARE descriptor I constantValue 8 flags 19
-method name baseAddress descriptor ()Ljdk/incubator/foreign/MemoryAddress; -method name baseAddress descriptor ()Ljdk/incubator/foreign/MemoryAddress;
-method name spliterator descriptor (Ljdk/incubator/foreign/MemorySegment;Ljdk/incubator/foreign/SequenceLayout;)Ljava/util/Spliterator; -method name spliterator descriptor (Ljdk/incubator/foreign/MemorySegment;Ljdk/incubator/foreign/SequenceLayout;)Ljava/util/Spliterator;
-method name withOwnerThread descriptor (Ljava/lang/Thread;)Ljdk/incubator/foreign/MemorySegment; -method name withOwnerThread descriptor (Ljava/lang/Thread;)Ljdk/incubator/foreign/MemorySegment;
-method name mapFromPath descriptor (Ljava/nio/file/Path;JJLjava/nio/channels/FileChannel$MapMode;)Ljdk/incubator/foreign/MappedMemorySegment; -method name mapFromPath descriptor (Ljava/nio/file/Path;JJLjava/nio/channels/FileChannel$MapMode;)Ljdk/incubator/foreign/MappedMemorySegment;
-method name ofNativeRestricted descriptor (Ljdk/incubator/foreign/MemoryAddress;JLjava/lang/Thread;Ljava/lang/Runnable;Ljava/lang/Object;)Ljdk/incubator/foreign/MemorySegment; -method name ofNativeRestricted descriptor (Ljdk/incubator/foreign/MemoryAddress;JLjava/lang/Thread;Ljava/lang/Runnable;Ljava/lang/Object;)Ljdk/incubator/foreign/MemorySegment;
field name SHARE descriptor I constantValue 8 flags 19
method name address descriptor ()Ljdk/incubator/foreign/MemoryAddress; flags 401 method name address descriptor ()Ljdk/incubator/foreign/MemoryAddress; flags 401
method name spliterator descriptor (Ljdk/incubator/foreign/SequenceLayout;)Ljava/util/Spliterator; flags 401 signature (Ljdk/incubator/foreign/SequenceLayout;)Ljava/util/Spliterator<Ljdk/incubator/foreign/MemorySegment;>; method name spliterator descriptor (Ljdk/incubator/foreign/SequenceLayout;)Ljava/util/Spliterator; flags 401 signature (Ljdk/incubator/foreign/SequenceLayout;)Ljava/util/Spliterator<Ljdk/incubator/foreign/MemorySegment;>;
method name asSlice descriptor (Ljdk/incubator/foreign/MemoryAddress;J)Ljdk/incubator/foreign/MemorySegment; flags 1 method name asSlice descriptor (Ljdk/incubator/foreign/MemoryAddress;J)Ljdk/incubator/foreign/MemorySegment; flags 1

View File

@ -43,6 +43,7 @@ innerclass innerClass jdk/incubator/foreign/CLinker$VaList$Builder outerClass jd
-method name allocateMemoryRestricted descriptor (J)Ljdk/incubator/foreign/MemoryAddress; -method name allocateMemoryRestricted descriptor (J)Ljdk/incubator/foreign/MemoryAddress;
-method name freeMemoryRestricted descriptor (Ljdk/incubator/foreign/MemoryAddress;)V -method name freeMemoryRestricted descriptor (Ljdk/incubator/foreign/MemoryAddress;)V
method name getInstance descriptor ()Ljdk/incubator/foreign/CLinker; flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive; method name getInstance descriptor ()Ljdk/incubator/foreign/CLinker; flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;
method name systemLookup descriptor ()Ljdk/incubator/foreign/SymbolLookup; flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;
method name downcallHandle descriptor (Ljdk/incubator/foreign/Addressable;Ljdk/incubator/foreign/SegmentAllocator;Ljava/lang/invoke/MethodType;Ljdk/incubator/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; flags 401 method name downcallHandle descriptor (Ljdk/incubator/foreign/Addressable;Ljdk/incubator/foreign/SegmentAllocator;Ljava/lang/invoke/MethodType;Ljdk/incubator/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; flags 401
method name downcallHandle descriptor (Ljava/lang/invoke/MethodType;Ljdk/incubator/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; flags 401 method name downcallHandle descriptor (Ljava/lang/invoke/MethodType;Ljdk/incubator/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; flags 401
method name upcallStub descriptor (Ljava/lang/invoke/MethodHandle;Ljdk/incubator/foreign/FunctionDescriptor;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/MemoryAddress; flags 401 method name upcallStub descriptor (Ljava/lang/invoke/MethodHandle;Ljdk/incubator/foreign/FunctionDescriptor;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/MemoryAddress; flags 401
@ -51,7 +52,6 @@ method name toCString descriptor (Ljava/lang/String;Ljdk/incubator/foreign/Resou
method name toJavaString descriptor (Ljdk/incubator/foreign/MemoryAddress;)Ljava/lang/String; flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive; method name toJavaString descriptor (Ljdk/incubator/foreign/MemoryAddress;)Ljava/lang/String; flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;
method name allocateMemory descriptor (J)Ljdk/incubator/foreign/MemoryAddress; flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive; method name allocateMemory descriptor (J)Ljdk/incubator/foreign/MemoryAddress; flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;
method name freeMemory descriptor (Ljdk/incubator/foreign/MemoryAddress;)V flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive; method name freeMemory descriptor (Ljdk/incubator/foreign/MemoryAddress;)V flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;
method name systemLookup descriptor ()Ljdk/incubator/foreign/SymbolLookup; flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;
class name jdk/incubator/foreign/CLinker$VaList class name jdk/incubator/foreign/CLinker$VaList
header extends java/lang/Object implements jdk/incubator/foreign/Addressable nestHost jdk/incubator/foreign/CLinker sealed true flags 601 header extends java/lang/Object implements jdk/incubator/foreign/Addressable nestHost jdk/incubator/foreign/CLinker sealed true flags 601

View File

@ -32,6 +32,8 @@ header exports jdk/incubator/vector requires name\u0020;java.base\u0020;flags\u0
class name jdk/incubator/vector/AbstractVector class name jdk/incubator/vector/AbstractVector
header extends jdk/incubator/vector/Vector flags 420 signature <E:Ljava/lang/Object;>Ljdk/incubator/vector/Vector<TE;>; header extends jdk/incubator/vector/Vector flags 420 signature <E:Ljava/lang/Object;>Ljdk/incubator/vector/Vector<TE;>;
innerclass innerClass jdk/incubator/vector/VectorOperators$Conversion outerClass jdk/incubator/vector/VectorOperators innerClassName Conversion flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Conversion outerClass jdk/incubator/vector/VectorOperators innerClassName Conversion flags 609
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorPayload outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorPayload flags 9
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Binary outerClass jdk/incubator/vector/VectorOperators innerClassName Binary flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Binary outerClass jdk/incubator/vector/VectorOperators innerClassName Binary flags 609
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
@ -55,6 +57,7 @@ method name slice descriptor (I)Ljdk/incubator/vector/Vector; flags 1041
class name jdk/incubator/vector/ByteVector class name jdk/incubator/vector/ByteVector
header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Byte;>; header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Byte;>;
innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609
@ -230,6 +233,7 @@ method name slice descriptor (I)Ljdk/incubator/vector/AbstractVector; flags 1041
class name jdk/incubator/vector/DoubleVector class name jdk/incubator/vector/DoubleVector
header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Double;>; header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Double;>;
innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609
@ -402,6 +406,7 @@ method name slice descriptor (I)Ljdk/incubator/vector/AbstractVector; flags 1041
class name jdk/incubator/vector/FloatVector class name jdk/incubator/vector/FloatVector
header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Float;>; header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Float;>;
innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609
@ -574,6 +579,7 @@ method name slice descriptor (I)Ljdk/incubator/vector/AbstractVector; flags 1041
class name jdk/incubator/vector/IntVector class name jdk/incubator/vector/IntVector
header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Integer;>; header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Integer;>;
innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609
@ -750,6 +756,7 @@ method name slice descriptor (I)Ljdk/incubator/vector/AbstractVector; flags 1041
class name jdk/incubator/vector/LongVector class name jdk/incubator/vector/LongVector
header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Long;>; header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Long;>;
innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609
@ -919,6 +926,7 @@ method name slice descriptor (I)Ljdk/incubator/vector/AbstractVector; flags 1041
class name jdk/incubator/vector/ShortVector class name jdk/incubator/vector/ShortVector
header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Short;>; header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Short;>;
innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609 innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609
@ -1184,6 +1192,7 @@ method name hashCode descriptor ()I flags 401
class name jdk/incubator/vector/VectorMask class name jdk/incubator/vector/VectorMask
header extends jdk/internal/vm/vector/VectorSupport$VectorMask flags 421 signature <E:Ljava/lang/Object;>Ljdk/internal/vm/vector/VectorSupport$VectorMask<TE;>; header extends jdk/internal/vm/vector/VectorSupport$VectorMask flags 421 signature <E:Ljava/lang/Object;>Ljdk/internal/vm/vector/VectorSupport$VectorMask<TE;>;
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorMask outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorMask flags 9 innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorMask outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorMask flags 9
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
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 vectorSpecies descriptor ()Ljdk/incubator/vector/VectorSpecies; flags 401 signature ()Ljdk/incubator/vector/VectorSpecies<TE;>; method name vectorSpecies descriptor ()Ljdk/incubator/vector/VectorSpecies; flags 401 signature ()Ljdk/incubator/vector/VectorSpecies<TE;>;
method name length descriptor ()I flags 11 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; method name length descriptor ()I flags 11 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;

View File

@ -27,6 +27,20 @@
# ########################################################## # ##########################################################
# #
class name jdk/incubator/vector/ByteVector class name jdk/incubator/vector/ByteVector
header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Byte;>;
innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Binary outerClass jdk/incubator/vector/VectorOperators innerClassName Binary flags 609
innerclass innerClass jdk/internal/vm/vector/VectorSupport$Vector outerClass jdk/internal/vm/vector/VectorSupport innerClassName Vector flags 9
innerclass innerClass jdk/incubator/vector/VectorOperators$Ternary outerClass jdk/incubator/vector/VectorOperators innerClassName Ternary flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Test outerClass jdk/incubator/vector/VectorOperators innerClassName Test flags 609
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorMask outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorMask flags 9
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorShuffle outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorShuffle flags 9
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorPayload outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorPayload flags 9
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
method name fromBooleanArray descriptor (Ljdk/incubator/vector/VectorSpecies;[ZI)Ljdk/incubator/vector/ByteVector; flags 9 signature (Ljdk/incubator/vector/VectorSpecies<Ljava/lang/Byte;>;[ZI)Ljdk/incubator/vector/ByteVector; runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; method name fromBooleanArray descriptor (Ljdk/incubator/vector/VectorSpecies;[ZI)Ljdk/incubator/vector/ByteVector; flags 9 signature (Ljdk/incubator/vector/VectorSpecies<Ljava/lang/Byte;>;[ZI)Ljdk/incubator/vector/ByteVector; runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;
method name fromBooleanArray descriptor (Ljdk/incubator/vector/VectorSpecies;[ZILjdk/incubator/vector/VectorMask;)Ljdk/incubator/vector/ByteVector; flags 9 signature (Ljdk/incubator/vector/VectorSpecies<Ljava/lang/Byte;>;[ZILjdk/incubator/vector/VectorMask<Ljava/lang/Byte;>;)Ljdk/incubator/vector/ByteVector; runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; method name fromBooleanArray descriptor (Ljdk/incubator/vector/VectorSpecies;[ZILjdk/incubator/vector/VectorMask;)Ljdk/incubator/vector/ByteVector; flags 9 signature (Ljdk/incubator/vector/VectorSpecies<Ljava/lang/Byte;>;[ZILjdk/incubator/vector/VectorMask<Ljava/lang/Byte;>;)Ljdk/incubator/vector/ByteVector; runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;
method name fromBooleanArray descriptor (Ljdk/incubator/vector/VectorSpecies;[ZI[II)Ljdk/incubator/vector/ByteVector; flags 9 signature (Ljdk/incubator/vector/VectorSpecies<Ljava/lang/Byte;>;[ZI[II)Ljdk/incubator/vector/ByteVector; runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; method name fromBooleanArray descriptor (Ljdk/incubator/vector/VectorSpecies;[ZI[II)Ljdk/incubator/vector/ByteVector; flags 9 signature (Ljdk/incubator/vector/VectorSpecies<Ljava/lang/Byte;>;[ZI[II)Ljdk/incubator/vector/ByteVector; runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;
@ -36,7 +50,85 @@ method name intoBooleanArray descriptor ([ZILjdk/incubator/vector/VectorMask;)V
method name intoBooleanArray descriptor ([ZI[II)V flags 11 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; method name intoBooleanArray descriptor ([ZI[II)V flags 11 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;
method name intoBooleanArray descriptor ([ZI[IILjdk/incubator/vector/VectorMask;)V flags 11 signature ([ZI[IILjdk/incubator/vector/VectorMask<Ljava/lang/Byte;>;)V runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; method name intoBooleanArray descriptor ([ZI[IILjdk/incubator/vector/VectorMask;)V flags 11 signature ([ZI[IILjdk/incubator/vector/VectorMask<Ljava/lang/Byte;>;)V runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;
class name jdk/incubator/vector/DoubleVector
header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Double;>;
innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Binary outerClass jdk/incubator/vector/VectorOperators innerClassName Binary flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Ternary outerClass jdk/incubator/vector/VectorOperators innerClassName Ternary flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Test outerClass jdk/incubator/vector/VectorOperators innerClassName Test flags 609
innerclass innerClass jdk/internal/vm/vector/VectorSupport$Vector outerClass jdk/internal/vm/vector/VectorSupport innerClassName Vector flags 9
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorMask outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorMask flags 9
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorShuffle outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorShuffle flags 9
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorPayload outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorPayload flags 9
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
class name jdk/incubator/vector/FloatVector
header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Float;>;
innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Binary outerClass jdk/incubator/vector/VectorOperators innerClassName Binary flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Ternary outerClass jdk/incubator/vector/VectorOperators innerClassName Ternary flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Test outerClass jdk/incubator/vector/VectorOperators innerClassName Test flags 609
innerclass innerClass jdk/internal/vm/vector/VectorSupport$Vector outerClass jdk/internal/vm/vector/VectorSupport innerClassName Vector flags 9
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorMask outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorMask flags 9
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorShuffle outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorShuffle flags 9
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorPayload outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorPayload flags 9
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
class name jdk/incubator/vector/IntVector
header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Integer;>;
innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Binary outerClass jdk/incubator/vector/VectorOperators innerClassName Binary flags 609
innerclass innerClass jdk/internal/vm/vector/VectorSupport$Vector outerClass jdk/internal/vm/vector/VectorSupport innerClassName Vector flags 9
innerclass innerClass jdk/incubator/vector/VectorOperators$Ternary outerClass jdk/incubator/vector/VectorOperators innerClassName Ternary flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Test outerClass jdk/incubator/vector/VectorOperators innerClassName Test flags 609
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorMask outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorMask flags 9
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorShuffle outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorShuffle flags 9
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorPayload outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorPayload flags 9
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
class name jdk/incubator/vector/LongVector
header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Long;>;
innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Binary outerClass jdk/incubator/vector/VectorOperators innerClassName Binary flags 609
innerclass innerClass jdk/internal/vm/vector/VectorSupport$Vector outerClass jdk/internal/vm/vector/VectorSupport innerClassName Vector flags 9
innerclass innerClass jdk/incubator/vector/VectorOperators$Ternary outerClass jdk/incubator/vector/VectorOperators innerClassName Ternary flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Test outerClass jdk/incubator/vector/VectorOperators innerClassName Test flags 609
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorMask outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorMask flags 9
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorShuffle outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorShuffle flags 9
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorPayload outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorPayload flags 9
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
class name jdk/incubator/vector/ShortVector class name jdk/incubator/vector/ShortVector
header extends jdk/incubator/vector/AbstractVector flags 421 signature Ljdk/incubator/vector/AbstractVector<Ljava/lang/Short;>;
innerclass innerClass jdk/incubator/vector/VectorOperators$Operator outerClass jdk/incubator/vector/VectorOperators innerClassName Operator flags 609
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9
innerclass innerClass jdk/incubator/vector/VectorOperators$Unary outerClass jdk/incubator/vector/VectorOperators innerClassName Unary flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Comparison outerClass jdk/incubator/vector/VectorOperators innerClassName Comparison flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Associative outerClass jdk/incubator/vector/VectorOperators innerClassName Associative flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Binary outerClass jdk/incubator/vector/VectorOperators innerClassName Binary flags 609
innerclass innerClass jdk/internal/vm/vector/VectorSupport$Vector outerClass jdk/internal/vm/vector/VectorSupport innerClassName Vector flags 9
innerclass innerClass jdk/incubator/vector/VectorOperators$Ternary outerClass jdk/incubator/vector/VectorOperators innerClassName Ternary flags 609
innerclass innerClass jdk/incubator/vector/VectorOperators$Test outerClass jdk/incubator/vector/VectorOperators innerClassName Test flags 609
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorMask outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorMask flags 9
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorShuffle outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorShuffle flags 9
innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorPayload outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorPayload flags 9
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
method name fromCharArray descriptor (Ljdk/incubator/vector/VectorSpecies;[CI)Ljdk/incubator/vector/ShortVector; flags 9 signature (Ljdk/incubator/vector/VectorSpecies<Ljava/lang/Short;>;[CI)Ljdk/incubator/vector/ShortVector; runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; method name fromCharArray descriptor (Ljdk/incubator/vector/VectorSpecies;[CI)Ljdk/incubator/vector/ShortVector; flags 9 signature (Ljdk/incubator/vector/VectorSpecies<Ljava/lang/Short;>;[CI)Ljdk/incubator/vector/ShortVector; runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;
method name fromCharArray descriptor (Ljdk/incubator/vector/VectorSpecies;[CILjdk/incubator/vector/VectorMask;)Ljdk/incubator/vector/ShortVector; flags 9 signature (Ljdk/incubator/vector/VectorSpecies<Ljava/lang/Short;>;[CILjdk/incubator/vector/VectorMask<Ljava/lang/Short;>;)Ljdk/incubator/vector/ShortVector; runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; method name fromCharArray descriptor (Ljdk/incubator/vector/VectorSpecies;[CILjdk/incubator/vector/VectorMask;)Ljdk/incubator/vector/ShortVector; flags 9 signature (Ljdk/incubator/vector/VectorSpecies<Ljava/lang/Short;>;[CILjdk/incubator/vector/VectorMask<Ljava/lang/Short;>;)Ljdk/incubator/vector/ShortVector; runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;
method name fromCharArray descriptor (Ljdk/incubator/vector/VectorSpecies;[CI[II)Ljdk/incubator/vector/ShortVector; flags 9 signature (Ljdk/incubator/vector/VectorSpecies<Ljava/lang/Short;>;[CI[II)Ljdk/incubator/vector/ShortVector; runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; method name fromCharArray descriptor (Ljdk/incubator/vector/VectorSpecies;[CI[II)Ljdk/incubator/vector/ShortVector; flags 9 signature (Ljdk/incubator/vector/VectorSpecies<Ljava/lang/Short;>;[CI[II)Ljdk/incubator/vector/ShortVector; runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;

View File

@ -29,9 +29,9 @@
class name jdk/javadoc/doclet/Reporter class name jdk/javadoc/doclet/Reporter
header extends java/lang/Object flags 601 header extends java/lang/Object flags 601
innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019 innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019
method name print descriptor (Ljavax/tools/Diagnostic$Kind;Ljavax/tools/FileObject;IIILjava/lang/String;)V flags 1
method name getStandardWriter descriptor ()Ljava/io/PrintWriter; flags 1 method name getStandardWriter descriptor ()Ljava/io/PrintWriter; flags 1
method name getDiagnosticWriter descriptor ()Ljava/io/PrintWriter; flags 1 method name getDiagnosticWriter descriptor ()Ljava/io/PrintWriter; flags 1
method name print descriptor (Ljavax/tools/Diagnostic$Kind;Ljavax/tools/FileObject;IIILjava/lang/String;)V flags 1
class name jdk/javadoc/doclet/StandardDoclet class name jdk/javadoc/doclet/StandardDoclet
header extends java/lang/Object implements jdk/javadoc/doclet/Doclet flags 21 header extends java/lang/Object implements jdk/javadoc/doclet/Doclet flags 21

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2018, 2021, 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
@ -27,7 +27,7 @@
# ########################################################## # ##########################################################
# #
module name jdk.jfr module name jdk.jfr
header exports jdk/jfr,jdk/jfr/consumer requires name\u0020;java.base\u0020;flags\u0020;8000 target linux-amd64 flags 8000 header exports jdk/jfr,jdk/jfr/consumer extraModulePackages jdk/jfr/internal requires name\u0020;java.base\u0020;flags\u0020;8000 target linux-amd64 flags 8000
class name jdk/jfr/AnnotationElement class name jdk/jfr/AnnotationElement
header extends java/lang/Object flags 31 header extends java/lang/Object flags 31
@ -390,3 +390,12 @@ method name readEventTypes descriptor ()Ljava/util/List; thrownTypes java/io/IOE
method name close descriptor ()V thrownTypes java/io/IOException flags 1 method name close descriptor ()V thrownTypes java/io/IOException flags 1
method name readAllEvents descriptor (Ljava/nio/file/Path;)Ljava/util/List; thrownTypes java/io/IOException flags 9 signature (Ljava/nio/file/Path;)Ljava/util/List<Ljdk/jfr/consumer/RecordedEvent;>; method name readAllEvents descriptor (Ljava/nio/file/Path;)Ljava/util/List; thrownTypes java/io/IOException flags 9 signature (Ljava/nio/file/Path;)Ljava/util/List<Ljdk/jfr/consumer/RecordedEvent;>;
class name jdk/jfr/internal/Control
header extends java/lang/Object flags 421
method name <init> descriptor (Ljava/security/AccessControlContext;)V flags 1
method name <init> descriptor (Ljava/lang/String;)V flags 1
method name combine descriptor (Ljava/util/Set;)Ljava/lang/String; flags 401 signature (Ljava/util/Set<Ljava/lang/String;>;)Ljava/lang/String;
method name setValue descriptor (Ljava/lang/String;)V flags 401
method name getValue descriptor ()Ljava/lang/String; flags 401
method name clone descriptor ()Ljava/lang/Object; thrownTypes java/lang/CloneNotSupportedException flags 11

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2020, 2021, 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
@ -26,6 +26,9 @@
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
# ########################################################## # ##########################################################
# #
module name jdk.jfr
header exports jdk/jfr,jdk/jfr/consumer requires name\u0020;java.base\u0020;flags\u0020;8000 target linux-amd64 flags 8000
class name jdk/jfr/SettingControl class name jdk/jfr/SettingControl
header extends java/lang/Object flags 421 runtimeAnnotations @Ljdk/jfr/MetadataDefinition; header extends java/lang/Object flags 421 runtimeAnnotations @Ljdk/jfr/MetadataDefinition;
@ -48,3 +51,5 @@ class name jdk/jfr/consumer/RecordedObject
class name jdk/jfr/consumer/RecordingStream class name jdk/jfr/consumer/RecordingStream
method name onMetadata descriptor (Ljava/util/function/Consumer;)V flags 1 signature (Ljava/util/function/Consumer<Ljdk/jfr/consumer/MetadataEvent;>;)V method name onMetadata descriptor (Ljava/util/function/Consumer;)V flags 1 signature (Ljava/util/function/Consumer<Ljdk/jfr/consumer/MetadataEvent;>;)V
-class name jdk/jfr/internal/Control

View File

@ -25,6 +25,7 @@
package build.tools.symbolgenerator; package build.tools.symbolgenerator;
import build.tools.symbolgenerator.CreateSymbols.ModuleHeaderDescription.ExportsDescription;
import build.tools.symbolgenerator.CreateSymbols import build.tools.symbolgenerator.CreateSymbols
.ModuleHeaderDescription .ModuleHeaderDescription
.ProvidesDescription; .ProvidesDescription;
@ -122,6 +123,7 @@ import com.sun.tools.classfile.Field;
import com.sun.tools.classfile.InnerClasses_attribute; import com.sun.tools.classfile.InnerClasses_attribute;
import com.sun.tools.classfile.InnerClasses_attribute.Info; import com.sun.tools.classfile.InnerClasses_attribute.Info;
import com.sun.tools.classfile.Method; import com.sun.tools.classfile.Method;
import com.sun.tools.classfile.ModulePackages_attribute;
import com.sun.tools.classfile.MethodParameters_attribute; import com.sun.tools.classfile.MethodParameters_attribute;
import com.sun.tools.classfile.ModuleMainClass_attribute; import com.sun.tools.classfile.ModuleMainClass_attribute;
import com.sun.tools.classfile.ModuleResolution_attribute; import com.sun.tools.classfile.ModuleResolution_attribute;
@ -244,7 +246,14 @@ public class CreateSymbols {
md, md,
mhd, mhd,
versionsList); versionsList);
mhd.exports.stream().forEach(pkg -> { List<String> packages = new ArrayList<>();
mhd.exports.stream()
.map(ExportsDescription::packageName)
.forEach(packages::add);
if (mhd.extraModulePackages != null) {
packages.addAll(mhd.extraModulePackages);
}
packages.stream().forEach(pkg -> {
for (char v : mhd.versions.toCharArray()) { for (char v : mhd.versions.toCharArray()) {
package2Version2Module.computeIfAbsent(pkg, dummy -> new HashMap<>()).put(v, md.name); package2Version2Module.computeIfAbsent(pkg, dummy -> new HashMap<>()).put(v, md.name);
} }
@ -974,13 +983,21 @@ public class CreateSymbols {
return new RequiresEntry(idx, return new RequiresEntry(idx,
r.flags, r.flags,
r.version != null r.version != null
? addInt(cp, r.version) ? addString(cp, r.version)
: 0); : 0);
} }
private static ExportsEntry createExportsEntry(List<CPInfo> cp, private static ExportsEntry createExportsEntry(List<CPInfo> cp,
String e) { ExportsDescription export) {
return new ExportsEntry(addPackageName(cp, e), 0, new int[0]); int[] to;
if (export.isQualified()) {
to = export.to.stream()
.mapToInt(module -> addModuleName(cp, module))
.toArray();
} else {
to = new int[0];
}
return new ExportsEntry(addPackageName(cp, export.packageName()), 0, to);
} }
private static OpensEntry createOpensEntry(List<CPInfo> cp, String e) { private static OpensEntry createOpensEntry(List<CPInfo> cp, String e) {
@ -1405,7 +1422,7 @@ public class CreateSymbols {
dumpDescriptions(classes, modules, platforms, Set.of(), descDest.resolve("symbols"), args); dumpDescriptions(classes, modules, platforms, Set.of(), descDest.resolve("symbols"), args);
} }
//where: //where:
private static final String DO_NO_MODIFY = public static String DO_NOT_MODIFY =
"#\n" + "#\n" +
"# Copyright (c) {YEAR}, Oracle and/or its affiliates. All rights reserved.\n" + "# Copyright (c) {YEAR}, Oracle and/or its affiliates. All rights reserved.\n" +
"# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.\n" + "# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.\n" +
@ -1477,14 +1494,19 @@ public class CreateSymbols {
ExcludeIncludeList currentEIList = excludesIncludes; ExcludeIncludeList currentEIList = excludesIncludes;
if (!currentVersionModules.isEmpty()) { if (!currentVersionModules.isEmpty()) {
Set<String> privateIncludes =
enhancedIncludesListBasedOnClassHeaders(classes, classData);
Set<String> includes = new HashSet<>(); Set<String> includes = new HashSet<>();
for (ModuleDescription md : currentVersionModules.values()) { for (ModuleDescription md : currentVersionModules.values()) {
md.header.get(0).exports.stream().map(e -> e + '/') md.header.get(0).exports.stream()
.filter(e -> !e.isQualified())
.map(e -> e.packageName + '/')
.forEach(includes::add); .forEach(includes::add);
} }
currentEIList = new ExcludeIncludeList(includes, currentEIList = new ExcludeIncludeList(includes,
privateIncludes,
Collections.emptySet()); Collections.emptySet());
} }
@ -1507,7 +1529,9 @@ public class CreateSymbols {
if (unsupported.header if (unsupported.header
.get(0) .get(0)
.exports .exports
.contains(cd.packge().replace('.', '/'))) { .stream()
.map(ed -> ed.packageName)
.anyMatch(pack -> pack.equals(cd.packge().replace('.', '/')))) {
ClassHeaderDescription ch = cd.header.get(0); ClassHeaderDescription ch = cd.header.get(0);
if (ch.classAnnotations == null) { if (ch.classAnnotations == null) {
ch.classAnnotations = new ArrayList<>(); ch.classAnnotations = new ArrayList<>();
@ -1529,7 +1553,7 @@ public class CreateSymbols {
for (ClassDescription clazz : currentVersionClasses) { for (ClassDescription clazz : currentVersionClasses) {
ClassHeaderDescription header = clazz.header.get(0); ClassHeaderDescription header = clazz.header.get(0);
if (includeEffectiveAccess(currentVersionClasses, clazz)) { if (includeEffectiveAccess(currentVersionClasses, clazz) && currentEIList.accepts(clazz.name, false)) {
modified |= include(includedClasses, currentVersionClasses, clazz.name); modified |= include(includedClasses, currentVersionClasses, clazz.name);
} }
@ -1555,6 +1579,8 @@ public class CreateSymbols {
} }
} while (modified); } while (modified);
Set<String> allIncludedPackages = new HashSet<>();
for (ClassDescription clazz : currentVersionClasses) { for (ClassDescription clazz : currentVersionClasses) {
if (!includedClasses.contains(clazz.name)) { if (!includedClasses.contains(clazz.name)) {
continue; continue;
@ -1595,6 +1621,8 @@ public class CreateSymbols {
} else { } else {
classes.add(clazz); classes.add(clazz);
} }
allIncludedPackages.add(clazz.packge().replace('.', '/'));
} }
for (ModuleDescription module : currentVersionModules.values()) { for (ModuleDescription module : currentVersionModules.values()) {
@ -1611,6 +1639,13 @@ public class CreateSymbols {
} }
} }
header.exports.removeIf(ed -> ed.isQualified() &&
!allIncludedPackages.contains(ed.packageName()));
if (header.extraModulePackages != null) {
header.extraModulePackages.retainAll(allIncludedPackages);
}
ModuleDescription existing = modules.get(module.name); ModuleDescription existing = modules.get(module.name);
if (existing != null) { if (existing != null) {
@ -1642,7 +1677,16 @@ public class CreateSymbols {
md.header md.header
.stream() .stream()
.filter(h -> h.versions.contains(v.version)) .filter(h -> h.versions.contains(v.version))
.flatMap(h -> h.exports.stream()) .flatMap(h -> {
List<String> packages = new ArrayList<>();
h.exports.stream()
.map(ExportsDescription::packageName)
.forEach(packages::add);
if (h.extraModulePackages != null) {
packages.addAll(h.extraModulePackages);
}
return packages.stream();
})
.map(p -> p.replace('/', '.')) .map(p -> p.replace('/', '.'))
.forEach(p -> package2Modules.putIfAbsent(p, md.name)); .forEach(p -> package2Modules.putIfAbsent(p, md.name));
} }
@ -1718,11 +1762,11 @@ public class CreateSymbols {
boolean hasChange = true; boolean hasChange = true;
if (Files.isReadable(f)) { if (Files.isReadable(f)) {
String oldContent = Files.readString(f, StandardCharsets.UTF_8); String oldContent = Files.readString(f, StandardCharsets.UTF_8);
int yearPos = DO_NO_MODIFY.indexOf("{YEAR}"); int yearPos = DO_NOT_MODIFY.indexOf("{YEAR}");
String headerPattern = String headerPattern =
Pattern.quote(DO_NO_MODIFY.substring(0, yearPos)) + Pattern.quote(DO_NOT_MODIFY.substring(0, yearPos)) +
"([0-9]+)(, [0-9]+)?" + "([0-9]+)(, [0-9]+)?" +
Pattern.quote(DO_NO_MODIFY.substring(yearPos + "{YEAR}".length())); Pattern.quote(DO_NOT_MODIFY.substring(yearPos + "{YEAR}".length()));
String pattern = headerPattern + String pattern = headerPattern +
Pattern.quote(dataString); Pattern.quote(dataString);
Matcher m = Pattern.compile(pattern, Pattern.MULTILINE).matcher(oldContent); Matcher m = Pattern.compile(pattern, Pattern.MULTILINE).matcher(oldContent);
@ -1739,7 +1783,7 @@ public class CreateSymbols {
try (Writer out = Files.newBufferedWriter(f, StandardCharsets.UTF_8)) { try (Writer out = Files.newBufferedWriter(f, StandardCharsets.UTF_8)) {
String currentYear = String.valueOf(year); String currentYear = String.valueOf(year);
String yearSpec = (existingYear != null && !currentYear.equals(existingYear) ? existingYear + ", " : "") + currentYear; String yearSpec = (existingYear != null && !currentYear.equals(existingYear) ? existingYear + ", " : "") + currentYear;
out.append(DO_NO_MODIFY.replace("{YEAR}", yearSpec)); out.append(DO_NOT_MODIFY.replace("{YEAR}", yearSpec));
out.write(dataString); out.write(dataString);
} }
} }
@ -1750,7 +1794,7 @@ public class CreateSymbols {
outputFiles.put(desc, files); outputFiles.put(desc, files);
} }
symbolsOut.append(DO_NO_MODIFY.replace("{YEAR}", "2015, " + year)); symbolsOut.append(DO_NOT_MODIFY.replace("{YEAR}", "2015, " + year));
symbolsOut.append("#command used to generate this file:\n"); symbolsOut.append("#command used to generate this file:\n");
symbolsOut.append("#") symbolsOut.append("#")
.append(CreateSymbols.class.getName()) .append(CreateSymbols.class.getName())
@ -1923,7 +1967,7 @@ public class CreateSymbols {
return ; return ;
} }
if (!excludesIncludes.accepts(cf.getName())) { if (!excludesIncludes.accepts(cf.getName(), true)) {
return ; return ;
} }
@ -2019,6 +2063,45 @@ public class CreateSymbols {
addModuleHeader(moduleDesc, headerDesc, version); addModuleHeader(moduleDesc, headerDesc, version);
} }
private Set<String> enhancedIncludesListBasedOnClassHeaders(ClassList classes,
Iterable<byte[]> classData) {
Set<String> additionalIncludes = new HashSet<>();
for (byte[] classFileData : classData) {
try (InputStream in = new ByteArrayInputStream(classFileData)) {
ClassFile cf = ClassFile.read(in);
if (cf.access_flags.is(AccessFlags.ACC_MODULE)) {
continue;
}
Set<String> additionalClasses = new HashSet<>();
if (cf.super_class != 0) {
additionalClasses.add(cf.getSuperclassName());
}
for (int i = 0; i < cf.interfaces.length; i++) {
additionalClasses.add(cf.getInterfaceName(i));
}
for (String additional : additionalClasses) {
int dollar;
additionalIncludes.add(additional);
while ((dollar = additional.lastIndexOf('$')) != (-1)) {
additional = additional.substring(0, dollar);
additionalIncludes.add(additional);
}
}
} catch (IOException | ConstantPoolException ex) {
throw new IllegalStateException(ex);
}
}
return additionalIncludes;
}
private void addModuleHeader(ModuleDescription moduleDesc, private void addModuleHeader(ModuleDescription moduleDesc,
ModuleHeaderDescription headerDesc, ModuleHeaderDescription headerDesc,
String version) { String version) {
@ -2204,9 +2287,11 @@ public class CreateSymbols {
header.exports = header.exports =
Arrays.stream(mod.exports) Arrays.stream(mod.exports)
.filter(ee -> ee.exports_to_count == 0) .map(ee -> ExportsDescription.create(cf, ee))
.map(ee -> getPackageName(cf, ee.exports_index))
.collect(Collectors.toList()); .collect(Collectors.toList());
if (header.extraModulePackages != null) {
header.exports.forEach(ed -> header.extraModulePackages.remove(ed.packageName()));
}
header.requires = header.requires =
Arrays.stream(mod.requires) Arrays.stream(mod.requires)
.map(r -> RequiresDescription.create(cf, r)) .map(r -> RequiresDescription.create(cf, r))
@ -2242,6 +2327,20 @@ public class CreateSymbols {
break; break;
} }
case Attribute.ModulePackages: case Attribute.ModulePackages:
assert feature instanceof ModuleHeaderDescription;
ModuleHeaderDescription header =
(ModuleHeaderDescription) feature;
ModulePackages_attribute mod =
(ModulePackages_attribute) attr;
header.extraModulePackages = new ArrayList<>();
for (int i = 0; i < mod.packages_count; i++) {
String packageName = getPackageName(cf, mod.packages_index[i]);
if (header.exports == null ||
header.exports.stream().noneMatch(ed -> ed.packageName().equals(packageName))) {
header.extraModulePackages.add(packageName);
}
}
break;
case Attribute.ModuleHashes: case Attribute.ModuleHashes:
break; break;
case Attribute.NestHost: { case Attribute.NestHost: {
@ -2352,11 +2451,16 @@ public class CreateSymbols {
} }
} }
private static Integer getVersion(ClassFile cf, int idx) { public static String INJECTED_VERSION = null;
private static String getVersion(ClassFile cf, int idx) {
if (INJECTED_VERSION != null) {
return INJECTED_VERSION;
}
if (idx == 0) if (idx == 0)
return null; return null;
try { try {
return ((CONSTANT_Integer_info) cf.constant_pool.get(idx)).value; return ((CONSTANT_Utf8_info) cf.constant_pool.get(idx)).value;
} catch (InvalidIndex ex) { } catch (InvalidIndex ex) {
throw new IllegalStateException(ex); throw new IllegalStateException(ex);
} }
@ -2470,9 +2574,15 @@ public class CreateSymbols {
if (clazzName == null) if (clazzName == null)
return false; return false;
ClassDescription desc = classes.find(clazzName, true);
if (desc == null) {
return false;
}
boolean modified = includedClasses.add(clazzName); boolean modified = includedClasses.add(clazzName);
for (ClassDescription outer : classes.enclosingClasses(classes.find(clazzName, true))) { for (ClassDescription outer : classes.enclosingClasses(desc)) {
modified |= includedClasses.add(outer.name); modified |= includedClasses.add(outer.name);
} }
@ -2514,10 +2624,17 @@ public class CreateSymbols {
public static class ExcludeIncludeList { public static class ExcludeIncludeList {
public final Set<String> includeList; public final Set<String> includeList;
public final Set<String> privateIncludeList;
public final Set<String> excludeList; public final Set<String> excludeList;
protected ExcludeIncludeList(Set<String> includeList, Set<String> excludeList) { protected ExcludeIncludeList(Set<String> includeList, Set<String> excludeList) {
this(includeList, Set.of(), excludeList);
}
protected ExcludeIncludeList(Set<String> includeList, Set<String> privateIncludeList,
Set<String> excludeList) {
this.includeList = includeList; this.includeList = includeList;
this.privateIncludeList = privateIncludeList;
this.excludeList = excludeList; this.excludeList = excludeList;
} }
@ -2537,8 +2654,10 @@ public class CreateSymbols {
return new ExcludeIncludeList(includeList, excludeList); return new ExcludeIncludeList(includeList, excludeList);
} }
public boolean accepts(String className) { public boolean accepts(String className, boolean includePrivateClasses) {
return matches(includeList, className) && !matches(excludeList, className); return (matches(includeList, className) ||
(includePrivateClasses && matches(privateIncludeList, className))) &&
!matches(excludeList, className);
} }
private static boolean matches(Set<String> list, String className) { private static boolean matches(Set<String> list, String className) {
@ -2738,8 +2857,9 @@ public class CreateSymbols {
static class ModuleHeaderDescription extends HeaderDescription { static class ModuleHeaderDescription extends HeaderDescription {
String name; String name;
List<String> exports = new ArrayList<>(); List<ExportsDescription> exports = new ArrayList<>();
List<String> opens = new ArrayList<>(); List<String> opens = new ArrayList<>();
List<String> extraModulePackages = new ArrayList<>();
List<RequiresDescription> requires = new ArrayList<>(); List<RequiresDescription> requires = new ArrayList<>();
List<String> uses = new ArrayList<>(); List<String> uses = new ArrayList<>();
List<ProvidesDescription> provides = new ArrayList<>(); List<ProvidesDescription> provides = new ArrayList<>();
@ -2753,6 +2873,7 @@ public class CreateSymbols {
hash = 83 * hash + Objects.hashCode(this.name); hash = 83 * hash + Objects.hashCode(this.name);
hash = 83 * hash + Objects.hashCode(this.exports); hash = 83 * hash + Objects.hashCode(this.exports);
hash = 83 * hash + Objects.hashCode(this.opens); hash = 83 * hash + Objects.hashCode(this.opens);
hash = 83 * hash + Objects.hashCode(this.extraModulePackages);
hash = 83 * hash + Objects.hashCode(this.requires); hash = 83 * hash + Objects.hashCode(this.requires);
hash = 83 * hash + Objects.hashCode(this.uses); hash = 83 * hash + Objects.hashCode(this.uses);
hash = 83 * hash + Objects.hashCode(this.provides); hash = 83 * hash + Objects.hashCode(this.provides);
@ -2781,6 +2902,9 @@ public class CreateSymbols {
if (!listEquals(this.opens, other.opens)) { if (!listEquals(this.opens, other.opens)) {
return false; return false;
} }
if (!listEquals(this.extraModulePackages, other.extraModulePackages)) {
return false;
}
if (!listEquals(this.requires, other.requires)) { if (!listEquals(this.requires, other.requires)) {
return false; return false;
} }
@ -2812,10 +2936,17 @@ public class CreateSymbols {
&& versions.contains(version))) && versions.contains(version)))
return ; return ;
output.append("header"); output.append("header");
if (exports != null && !exports.isEmpty()) if (exports != null && !exports.isEmpty()) {
output.append(" exports " + serializeList(exports)); List<String> exportsList =
exports.stream()
.map(exp -> exp.serialize())
.collect(Collectors.toList());
output.append(" exports " + serializeList(exportsList));
}
if (opens != null && !opens.isEmpty()) if (opens != null && !opens.isEmpty())
output.append(" opens " + serializeList(opens)); output.append(" opens " + serializeList(opens));
if (extraModulePackages != null && !extraModulePackages.isEmpty())
output.append(" extraModulePackages " + serializeList(extraModulePackages));
if (requires != null && !requires.isEmpty()) { if (requires != null && !requires.isEmpty()) {
List<String> requiresList = List<String> requiresList =
requires.stream() requires.stream()
@ -2862,8 +2993,12 @@ public class CreateSymbols {
if (!"header".equals(reader.lineKey)) if (!"header".equals(reader.lineKey))
return false; return false;
exports = deserializeList(reader.attributes.get("exports")); List<String> exportsList = deserializeList(reader.attributes.get("exports"), false);
exports = exportsList.stream()
.map(ExportsDescription::deserialize)
.collect(Collectors.toList());
opens = deserializeList(reader.attributes.get("opens")); opens = deserializeList(reader.attributes.get("opens"));
extraModulePackages = deserializeList(reader.attributes.get("extraModulePackages"));
List<String> requiresList = List<String> requiresList =
deserializeList(reader.attributes.get("requires")); deserializeList(reader.attributes.get("requires"));
requires = requiresList.stream() requires = requiresList.stream()
@ -2893,13 +3028,53 @@ public class CreateSymbols {
return true; return true;
} }
record ExportsDescription(String packageName, List<String> to) {
public String serialize() {
return packageName +
(isQualified() ? "[" + quote(serializeList(to), true, true) + "]"
: "");
}
public static ExportsDescription deserialize(String data) {
int bracket = data.indexOf("[");
String packageName;
List<String> to;
if (bracket != (-1)) {
packageName = data.substring(0, bracket);
to = deserializeList(unquote(data.substring(bracket + 1, data.length() - 1)));
} else {
packageName = data;
to = null;
}
return new ExportsDescription(packageName, to);
}
public static ExportsDescription create(ClassFile cf,
ExportsEntry ee) {
String packageName = getPackageName(cf, ee.exports_index);
List<String> to = null;
if (ee.exports_to_count > 0) {
to = new ArrayList<>();
for (int moduleIndex : ee.exports_to_index) {
to.add(getModuleName(cf, moduleIndex));
}
}
return new ExportsDescription(packageName, to);
}
public boolean isQualified() {
return to != null && !to.isEmpty();
}
}
static class RequiresDescription { static class RequiresDescription {
final String moduleName; final String moduleName;
final int flags; final int flags;
final Integer version; final String version;
public RequiresDescription(String moduleName, int flags, public RequiresDescription(String moduleName, int flags,
Integer version) { String version) {
this.moduleName = moduleName; this.moduleName = moduleName;
this.flags = flags; this.flags = flags;
this.version = version; this.version = version;
@ -2907,7 +3082,7 @@ public class CreateSymbols {
public String serialize() { public String serialize() {
String versionKeyValue = version != null String versionKeyValue = version != null
? " version " + quote(String.valueOf(version), true) ? " version " + quote(version, true)
: ""; : "";
return "name " + quote(moduleName, true) + return "name " + quote(moduleName, true) +
" flags " + quote(Integer.toHexString(flags), true) + " flags " + quote(Integer.toHexString(flags), true) +
@ -2917,8 +3092,8 @@ public class CreateSymbols {
public static RequiresDescription deserialize(String data) { public static RequiresDescription deserialize(String data) {
Map<String, String> attributes = splitAttributes(data); Map<String, String> attributes = splitAttributes(data);
Integer ver = attributes.containsKey("version") String ver = attributes.containsKey("version")
? Integer.parseInt(attributes.get("version")) ? attributes.get("version")
: null; : null;
int flags = Integer.parseInt(attributes.get("flags"), 16); int flags = Integer.parseInt(attributes.get("flags"), 16);
return new RequiresDescription(attributes.get("name"), return new RequiresDescription(attributes.get("name"),
@ -2929,7 +3104,7 @@ public class CreateSymbols {
public static RequiresDescription create(ClassFile cf, public static RequiresDescription create(ClassFile cf,
RequiresEntry req) { RequiresEntry req) {
String mod = getModuleName(cf, req.requires_index); String mod = getModuleName(cf, req.requires_index);
Integer ver = getVersion(cf, req.requires_version_index); String ver = getVersion(cf, req.requires_version_index);
return new RequiresDescription(mod, return new RequiresDescription(mod,
req.requires_flags, req.requires_flags,
ver); ver);
@ -3071,11 +3246,25 @@ public class CreateSymbols {
header.write(output, baselineVersion, version); header.write(output, baselineVersion, version);
} }
for (FieldDescription field : fields) { for (FieldDescription field : fields) {
if (!field.versions.contains(version)) {
field.write(output, baselineVersion, version); field.write(output, baselineVersion, version);
} }
}
for (MethodDescription method : methods) { for (MethodDescription method : methods) {
if (!method.versions.contains(version)) {
method.write(output, baselineVersion, version); method.write(output, baselineVersion, version);
} }
}
for (FieldDescription field : fields) {
if (field.versions.contains(version)) {
field.write(output, baselineVersion, version);
}
}
for (MethodDescription method : methods) {
if (method.versions.contains(version)) {
method.write(output, baselineVersion, version);
}
}
output.append("\n"); output.append("\n");
} }
@ -3157,6 +3346,12 @@ public class CreateSymbols {
return pack; return pack;
} }
@Override
public String toString() {
return name;
}
} }
static class ClassHeaderDescription extends HeaderDescription { static class ClassHeaderDescription extends HeaderDescription {
@ -3265,12 +3460,12 @@ public class CreateSymbols {
readRecordComponents(reader); readRecordComponents(reader);
} }
readInnerClasses(reader); readInnerClasses(reader);
isSealed = reader.attributes.containsKey("permittedSubclasses"); isSealed = reader.attributes.containsKey("permittedSubclasses");
if (isSealed) { if (isSealed) {
String subclassesList = reader.attributes.get("permittedSubclasses"); String subclassesList = reader.attributes.get("permittedSubclasses");
permittedSubclasses = deserializeList(subclassesList); permittedSubclasses = deserializeList(subclassesList);
} }
return true; return true;
} }
@ -4120,8 +4315,11 @@ public class CreateSymbols {
} }
w.write("module:" + module.name); w.write("module:" + module.name);
w.write("\n"); w.write("\n");
for (String pack : header.get().exports) { for (ExportsDescription export : header.get().exports) {
w.write(pack.replace('/', '.')); if (export.isQualified()) {
continue;
}
w.write(export.packageName.replace('/', '.'));
w.write("\n"); w.write("\n");
} }
} }

View File

@ -0,0 +1,41 @@
/*
* Copyright (c) 2021, 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 8277106
* @summary Verify no error is when compiling a class whose supertype is not exported.
* @modules jdk.compiler
* jdk.jfr
* @compile --release 17 NonExportedSuperTypes.java
*/
import jdk.jfr.Event;
public class NonExportedSuperTypes {
public void evt(Event evt) {
evt.toString();
}
}

View File

@ -23,7 +23,7 @@
/** /**
* @test * @test
* @bug 8072480 * @bug 8072480 8277106
* @summary Unit test for CreateSymbols * @summary Unit test for CreateSymbols
* @modules java.compiler * @modules java.compiler
* jdk.compiler/com.sun.tools.javac.api * jdk.compiler/com.sun.tools.javac.api

View File

@ -28,8 +28,14 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.Arrays; import java.util.Arrays;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream;
import java.nio.charset.StandardCharsets;
import java.nio.file.DirectoryStream;
import java.nio.file.FileVisitResult; import java.nio.file.FileVisitResult;
import java.nio.file.FileVisitor; import java.nio.file.FileVisitor;
import java.nio.file.Files; import java.nio.file.Files;
@ -52,6 +58,14 @@ import build.tools.symbolgenerator.CreateSymbols.ClassDescription;
import build.tools.symbolgenerator.CreateSymbols.ClassList; import build.tools.symbolgenerator.CreateSymbols.ClassList;
import build.tools.symbolgenerator.CreateSymbols.ExcludeIncludeList; import build.tools.symbolgenerator.CreateSymbols.ExcludeIncludeList;
import build.tools.symbolgenerator.CreateSymbols.VersionDescription; import build.tools.symbolgenerator.CreateSymbols.VersionDescription;
import com.sun.tools.classfile.Attribute;
import com.sun.tools.classfile.Attributes;
import com.sun.tools.classfile.ClassFile;
import com.sun.tools.classfile.ClassWriter;
import com.sun.tools.classfile.ConstantPool;
import com.sun.tools.classfile.ConstantPool.CPInfo;
import com.sun.tools.classfile.ConstantPool.CONSTANT_Utf8_info;
import com.sun.tools.classfile.ModulePackages_attribute;
public class CreateSymbolsTestImpl { public class CreateSymbolsTestImpl {
@ -641,6 +655,306 @@ public class CreateSymbolsTestImpl {
"""); """);
} }
@Test
void testNonExportedSuperclass() throws Exception {
doTestComplex("api.Api",
"""
package api;
public class Api extends nonapi.Impl.Nested.Exp {
public Api();
}
""",
"""
import api.Api;
public class Test {
private void t(Api api) {
api.run();
}
}
""",
"""
import api.Api;
public class Test {
private void t(Api api) {
fail
}
}
""",
"""
module m {
exports api;
}
""",
"""
package api;
import nonapi.Impl;
public class Api extends Impl.Nested.Exp {
}
""",
"""
package api;
public @interface Ann {
}
""",
"""
package nonapi;
import api.Ann;
public class Impl {
public static final String C = "";
public void test() {}
@Ann
public static class Nested {
public static class Exp extends Nested implements Runnable {
public void run() {}
public OtherNested get() { return null; }
}
}
public static class OtherNested {}
}
""");
}
void doTestComplex(String printClass,
String expected,
String depSuccess,
String depFailure,
String... code) throws Exception {
ToolBox tb = new ToolBox();
String testClasses = System.getProperty("test.classes");
Path output = Paths.get(testClasses, "test-data" + i++);
deleteRecursively(output);
Files.createDirectories(output);
Path ver9Jar = output.resolve("9.jar");
compileAndPack(output,
ver9Jar,
code);
Path ctSym = output.resolve("ct.sym");
deleteRecursively(ctSym);
CreateSymbols.ALLOW_NON_EXISTING_CLASSES = true;
CreateSymbols.EXTENSION = ".class";
deleteRecursively(ctSym);
List<VersionDescription> versions =
Arrays.asList(new VersionDescription(ver9Jar.toAbsolutePath().toString(), "9", null));
ExcludeIncludeList acceptAll = new ExcludeIncludeList(null, null) {
@Override public boolean accepts(String className, boolean includePrivateClasses) {
return true;
}
};
new CreateSymbols().createBaseLine(versions, acceptAll, ctSym, new String[0]);
Path symbolsDesc = ctSym.resolve("symbols");
Path systemModules = ctSym.resolve("systemModules");
Files.newBufferedWriter(systemModules).close();
Path classesZip = output.resolve("classes.zip");
Path classesDir = output.resolve("classes");
new CreateSymbols().createSymbols(null, symbolsDesc.toAbsolutePath().toString(), classesZip.toAbsolutePath().toString(), 0, "9", systemModules.toString());
try (JarFile jf = new JarFile(classesZip.toFile())) {
Enumeration<JarEntry> en = jf.entries();
while (en.hasMoreElements()) {
JarEntry je = en.nextElement();
if (je.isDirectory()) continue;
Path target = classesDir.resolve(je.getName());
Files.createDirectories(target.getParent());
Files.copy(jf.getInputStream(je), target);
}
}
Path classes = classesDir;
Path scratch = output.resolve("scratch");
Files.createDirectories(scratch);
String modulePath;
try (Stream<Path> elements = Files.list(classes)) {
modulePath = elements.filter(el -> el.getFileName().toString().contains("9"))
.map(el -> el.resolve("m"))
.map(el -> el.toAbsolutePath().toString())
.collect(Collectors.joining(File.pathSeparator));
}
{
String out = new JavacTask(tb, Task.Mode.CMDLINE)
.options("-d", scratch.toAbsolutePath().toString(), "--module-path", modulePath,
"--add-modules", "m", "-Xprint", "api.Api")
.run(Expect.SUCCESS)
.getOutput(Task.OutputKind.STDOUT)
.replaceAll("\\R", "\n");
if (!out.equals(expected)) {
throw new AssertionError("out=" + out + "; expected=" + expected);
}
}
{
new JavacTask(tb)
.options("-d", scratch.toAbsolutePath().toString(), "--module-path", modulePath,
"--add-modules", "m")
.sources(depSuccess)
.run(Expect.SUCCESS)
.writeAll();
}
{
String expectedFailure = new JavacTask(tb)
.options("-d", scratch.toAbsolutePath().toString(), "--module-path", output.resolve("temp").toString(),
"--add-modules", "m", "-XDrawDiagnostics")
.sources(depFailure)
.run(Expect.FAIL)
.getOutput(Task.OutputKind.DIRECT)
.replaceAll("\\R", "\n");
String out = new JavacTask(tb)
.options("-d", scratch.toAbsolutePath().toString(), "--module-path", modulePath,
"--add-modules", "m", "-XDrawDiagnostics")
.sources(depFailure)
.run(Expect.FAIL)
.getOutput(Task.OutputKind.DIRECT)
.replaceAll("\\R", "\n");
if (!out.equals(expectedFailure)) {
throw new AssertionError("out=" + out + "; expected=" + expectedFailure);
}
}
}
@Test
void testExtendsInternalData1() throws Exception {
doTestData("""
module name m
header exports api,nonapi[java.base] requires name\\u0020;java.base\\u0020;flags\\u0020;8000\\u0020;version\\u0020;0 flags 8000
class name api/Ann
header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601
class name api/Api
header extends nonapi/Impl$Nested$Exp flags 21
innerclass innerClass nonapi/Impl$Nested outerClass nonapi/Impl innerClassName Nested flags 9
innerclass innerClass nonapi/Impl$Nested$Exp outerClass nonapi/Impl$Nested innerClassName Exp flags 9
method name <init> descriptor ()V flags 1
class name nonapi/Impl
header extends java/lang/Object nestMembers nonapi/Impl$Nested,nonapi/Impl$Nested$Exp flags 21
innerclass innerClass nonapi/Impl$Nested outerClass nonapi/Impl innerClassName Nested flags 9
innerclass innerClass nonapi/Impl$Nested$Exp outerClass nonapi/Impl$Nested innerClassName Exp flags 9
field name C descriptor Ljava/lang/String; constantValue flags 19
method name <init> descriptor ()V flags 1
method name test descriptor ()V flags 1
class name nonapi/Impl$Nested
header extends java/lang/Object nestHost nonapi/Impl flags 21 classAnnotations @Lapi/Ann;
innerclass innerClass nonapi/Impl$Nested outerClass nonapi/Impl innerClassName Nested flags 9
innerclass innerClass nonapi/Impl$Nested$Exp outerClass nonapi/Impl$Nested innerClassName Exp flags 9
method name <init> descriptor ()V flags 1
class name nonapi/Impl$Nested$Exp
header extends nonapi/Impl$Nested implements java/lang/Runnable nestHost nonapi/Impl flags 21
innerclass innerClass nonapi/Impl$Nested outerClass nonapi/Impl innerClassName Nested flags 9
innerclass innerClass nonapi/Impl$Nested$Exp outerClass nonapi/Impl$Nested innerClassName Exp flags 9
method name <init> descriptor ()V flags 1
method name run descriptor ()V flags 1
method name get descriptor ()Lnonapi/Impl$OtherNested; flags 1
""",
"""
module m {
exports api;
exports nonapi to java.base;
}
""",
"""
package api;
import nonapi.Impl;
public class Api extends Impl.Nested.Exp {
}
""",
"""
package api;
public @interface Ann {
}
""",
"""
package nonapi;
import api.Ann;
public class Impl {
public static final String C = "";
public void test() {}
@Ann
public static class Nested {
public static class Exp extends Nested implements Runnable {
public void run() {}
public OtherNested get() { return null; }
}
}
public static class OtherNested {}
}
""");
}
void doTestData(String data,
String... code) throws Exception {
String testClasses = System.getProperty("test.classes");
Path output = Paths.get(testClasses, "test-data" + i++);
deleteRecursively(output);
Files.createDirectories(output);
Path ver9Jar = output.resolve("9.jar");
compileAndPack(output,
ver9Jar,
code);
Path ctSym = output.resolve("ct.sym");
deleteRecursively(ctSym);
CreateSymbols.ALLOW_NON_EXISTING_CLASSES = true;
CreateSymbols.DO_NOT_MODIFY = "";
CreateSymbols.EXTENSION = ".class";
CreateSymbols.INJECTED_VERSION = "0";
deleteRecursively(ctSym);
List<VersionDescription> versions =
Arrays.asList(new VersionDescription(ver9Jar.toAbsolutePath().toString(), "9", null));
ExcludeIncludeList acceptAll = new ExcludeIncludeList(null, null) {
@Override public boolean accepts(String className, boolean includePrivateClasses) {
return true;
}
};
new CreateSymbols().createBaseLine(versions, acceptAll, ctSym, new String[0]);
Path symFile = null;
try (DirectoryStream<Path> ds = Files.newDirectoryStream(ctSym)) {
for (Path p : ds) {
if (p.toString().endsWith(".sym.txt")) {
if (symFile != null) {
throw new IllegalStateException("Multiple sym files!");
} else {
symFile = p;
}
}
}
}
String acutalContent = new String(Files.readAllBytes(symFile), StandardCharsets.UTF_8);
if (!acutalContent.equals(data)) {
throw new AssertionError("out=" + acutalContent + "; expected=" + data);
}
}
void doTestIncluded(String code, String... includedClasses) throws Exception { void doTestIncluded(String code, String... includedClasses) throws Exception {
boolean oldIncludeAll = includeAll; boolean oldIncludeAll = includeAll;
try { try {
@ -712,7 +1026,7 @@ public class CreateSymbolsTestImpl {
new VersionDescription(jar8.toAbsolutePath().toString(), "8", "7")); new VersionDescription(jar8.toAbsolutePath().toString(), "8", "7"));
ExcludeIncludeList acceptAll = new ExcludeIncludeList(null, null) { ExcludeIncludeList acceptAll = new ExcludeIncludeList(null, null) {
@Override public boolean accepts(String className) { @Override public boolean accepts(String className, boolean includePrivateClasses) {
return true; return true;
} }
}; };
@ -743,6 +1057,36 @@ public class CreateSymbolsTestImpl {
System.err.println(Arrays.asList(code)); System.err.println(Arrays.asList(code));
new JavacTask(tb).sources(code).options("-d", scratch.toAbsolutePath().toString()).run(Expect.SUCCESS); new JavacTask(tb).sources(code).options("-d", scratch.toAbsolutePath().toString()).run(Expect.SUCCESS);
List<String> classFiles = collectClassFile(scratch); List<String> classFiles = collectClassFile(scratch);
Path moduleInfo = scratch.resolve("module-info.class");
if (Files.exists(moduleInfo)) {
Set<String> packages = new HashSet<>();
for (String cf : classFiles) {
int sep = cf.lastIndexOf(scratch.getFileSystem().getSeparator());
if (sep != (-1)) {
packages.add(cf.substring(0, sep));
}
}
ClassFile cf = ClassFile.read(moduleInfo);
List<CPInfo> cp = new ArrayList<>();
cp.add(null);
cf.constant_pool.entries().forEach(cp::add);
Map<String, Attribute> attrs = new HashMap<>(cf.attributes.map);
int[] encodedPackages = new int[packages.size()];
int i = 0;
for (String p : packages) {
int nameIndex = cp.size();
cp.add(new CONSTANT_Utf8_info(p));
encodedPackages[i++] = cp.size();
cp.add(new ConstantPool.CONSTANT_Package_info(null, nameIndex));
}
int attrName = cp.size();
cp.add(new CONSTANT_Utf8_info(Attribute.ModulePackages));
attrs.put(Attribute.ModulePackages, new ModulePackages_attribute(attrName, encodedPackages));
ClassFile newFile = new ClassFile(cf.magic, cf.minor_version, cf.major_version, new ConstantPool(cp.toArray(new CPInfo[0])), cf.access_flags, cf.this_class, cf.super_class, cf.interfaces, cf.fields, cf.methods, new Attributes(attrs));
try (OutputStream out = Files.newOutputStream(moduleInfo)) {
new ClassWriter().write(newFile, out);
}
}
try (Writer out = Files.newBufferedWriter(outputFile)) { try (Writer out = Files.newBufferedWriter(outputFile)) {
for (String classFile : classFiles) { for (String classFile : classFiles) {
try (InputStream in = Files.newInputStream(scratch.resolve(classFile))) { try (InputStream in = Files.newInputStream(scratch.resolve(classFile))) {