diff --git a/java/ql/lib/change-notes/2025-07-21-module-import-declarations.md b/java/ql/lib/change-notes/2025-07-21-module-import-declarations.md new file mode 100644 index 000000000000..56c7972399a6 --- /dev/null +++ b/java/ql/lib/change-notes/2025-07-21-module-import-declarations.md @@ -0,0 +1,5 @@ +--- +category: feature +--- +* Added support for Java 25 module import declarations. +* Add `ModuleImportDeclaration` class. diff --git a/java/ql/lib/semmle/code/java/Import.qll b/java/ql/lib/semmle/code/java/Import.qll index aed041155555..034807277350 100644 --- a/java/ql/lib/semmle/code/java/Import.qll +++ b/java/ql/lib/semmle/code/java/Import.qll @@ -154,3 +154,35 @@ class ImportStaticTypeMember extends Import { override string getAPrimaryQlClass() { result = "ImportStaticTypeMember" } } + +/** + * A module import declaration, which imports an entire module. + * + * For example, `import module java.base;` makes all packages exported + * by the `java.base` module available, and through those packages, + * the types they declare become accessible. + */ +class ModuleImportDeclaration extends Import { + ModuleImportDeclaration() { imports(this, _, _, 6) } + + /** Gets the name of the imported module. */ + string getModuleName() { imports(this, _, result, _) } + + /** Gets the imported module. */ + Module getModule() { result.getName() = this.getModuleName() } + + /** Gets an exported package from the imported module. */ + Package getAnImportedPackage() { + exists(ExportsDirective exports | + exports = this.getModule().getADirective() and + result = exports.getExportedPackage() + ) + } + + /** Gets a type from a package that is accessible through this module import. */ + RefType getAnImportedType() { result.getPackage() = this.getAnImportedPackage() } + + override string toString() { result = "import module " + this.getModuleName() } + + override string getAPrimaryQlClass() { result = "ModuleImportDeclaration" } +} diff --git a/java/ql/test/library-tests/module-import-declarations/ImportedPackage.expected b/java/ql/test/library-tests/module-import-declarations/ImportedPackage.expected new file mode 100644 index 000000000000..64eef6870110 --- /dev/null +++ b/java/ql/test/library-tests/module-import-declarations/ImportedPackage.expected @@ -0,0 +1,61 @@ +| java.base | java.io | +| java.base | java.lang | +| java.base | java.lang.annotation | +| java.base | java.lang.classfile | +| java.base | java.lang.classfile.attribute | +| java.base | java.lang.classfile.constantpool | +| java.base | java.lang.classfile.instruction | +| java.base | java.lang.constant | +| java.base | java.lang.foreign | +| java.base | java.lang.invoke | +| java.base | java.lang.module | +| java.base | java.lang.ref | +| java.base | java.lang.reflect | +| java.base | java.lang.runtime | +| java.base | java.math | +| java.base | java.net | +| java.base | java.net.spi | +| java.base | java.nio | +| java.base | java.nio.channels | +| java.base | java.nio.channels.spi | +| java.base | java.nio.charset | +| java.base | java.nio.charset.spi | +| java.base | java.nio.file | +| java.base | java.nio.file.attribute | +| java.base | java.nio.file.spi | +| java.base | java.security | +| java.base | java.security.cert | +| java.base | java.security.interfaces | +| java.base | java.security.spec | +| java.base | java.text | +| java.base | java.text.spi | +| java.base | java.time | +| java.base | java.time.chrono | +| java.base | java.time.format | +| java.base | java.time.temporal | +| java.base | java.time.zone | +| java.base | java.util | +| java.base | java.util.concurrent | +| java.base | java.util.concurrent.atomic | +| java.base | java.util.concurrent.locks | +| java.base | java.util.function | +| java.base | java.util.jar | +| java.base | java.util.random | +| java.base | java.util.regex | +| java.base | java.util.spi | +| java.base | java.util.stream | +| java.base | java.util.zip | +| java.base | javax.crypto | +| java.base | javax.crypto.interfaces | +| java.base | javax.crypto.spec | +| java.base | javax.net | +| java.base | javax.net.ssl | +| java.base | javax.security.auth | +| java.base | javax.security.auth.callback | +| java.base | javax.security.auth.login | +| java.base | javax.security.auth.spi | +| java.base | javax.security.auth.x500 | +| java.base | javax.security.cert | +| java.base | jdk.internal.event | +| java.base | jdk.internal.javac | +| java.base | jdk.internal.vm.vector | diff --git a/java/ql/test/library-tests/module-import-declarations/ImportedPackage.ql b/java/ql/test/library-tests/module-import-declarations/ImportedPackage.ql new file mode 100644 index 000000000000..797cabfd5462 --- /dev/null +++ b/java/ql/test/library-tests/module-import-declarations/ImportedPackage.ql @@ -0,0 +1,4 @@ +import java + +from ModuleImportDeclaration mid +select mid.getModuleName(), mid.getAnImportedPackage().getName() diff --git a/java/ql/test/library-tests/module-import-declarations/ImportedType.expected b/java/ql/test/library-tests/module-import-declarations/ImportedType.expected new file mode 100644 index 000000000000..cf9064b60524 --- /dev/null +++ b/java/ql/test/library-tests/module-import-declarations/ImportedType.expected @@ -0,0 +1,1513 @@ +| java.base | java.io.BufferedReader | +| java.base | java.io.BufferedWriter | +| java.base | java.io.Closeable | +| java.base | java.io.File | +| java.base | java.io.FileDescriptor | +| java.base | java.io.FileFilter | +| java.base | java.io.FileNotFoundException | +| java.base | java.io.FilenameFilter | +| java.base | java.io.FilterOutputStream | +| java.base | java.io.Flushable | +| java.base | java.io.IOException | +| java.base | java.io.InputStream | +| java.base | java.io.InvalidObjectException | +| java.base | java.io.ObjectStreamException | +| java.base | java.io.OutputStream | +| java.base | java.io.PrintStream | +| java.base | java.io.PrintWriter | +| java.base | java.io.Reader | +| java.base | java.io.Serializable | +| java.base | java.io.SyncFailedException | +| java.base | java.io.UnsupportedEncodingException | +| java.base | java.io.Writer | +| java.base | java.lang.A | +| java.base | java.lang.AbstractStringBuilder | +| java.base | java.lang.Appendable | +| java.base | java.lang.AutoCloseable | +| java.base | java.lang.Boolean | +| java.base | java.lang.CharSequence | +| java.base | java.lang.Character | +| java.base | java.lang.Class | +| java.base | java.lang.Class<> | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.Class | +| java.base | java.lang.ClassFormatError | +| java.base | java.lang.ClassLoader | +| java.base | java.lang.ClassNotFoundException | +| java.base | java.lang.CloneNotSupportedException | +| java.base | java.lang.Cloneable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable<> | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable> | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable> | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Comparable | +| java.base | java.lang.Deprecated | +| java.base | java.lang.Double | +| java.base | java.lang.E | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc<> | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum$EnumDesc | +| java.base | java.lang.Enum<> | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Enum | +| java.base | java.lang.Error | +| java.base | java.lang.Exception | +| java.base | java.lang.Float | +| java.base | java.lang.FunctionalInterface | +| java.base | java.lang.IllegalAccessException | +| java.base | java.lang.IllegalArgumentException | +| java.base | java.lang.IllegalStateException | +| java.base | java.lang.InstantiationException | +| java.base | java.lang.Integer | +| java.base | java.lang.InterruptedException | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable<> | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable> | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable> | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable> | +| java.base | java.lang.Iterable> | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable> | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable> | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable> | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.Iterable | +| java.base | java.lang.LinkageError | +| java.base | java.lang.Long | +| java.base | java.lang.Module | +| java.base | java.lang.ModuleLayer | +| java.base | java.lang.ModuleLayer$Controller | +| java.base | java.lang.NamedPackage | +| java.base | java.lang.NoSuchFieldException | +| java.base | java.lang.NoSuchMethodException | +| java.base | java.lang.Number | +| java.base | java.lang.NumberFormatException | +| java.base | java.lang.Object | +| java.base | java.lang.Package | +| java.base | java.lang.Process | +| java.base | java.lang.ProcessHandle | +| java.base | java.lang.ProcessHandle$Info | +| java.base | java.lang.R | +| java.base | java.lang.Readable | +| java.base | java.lang.Record | +| java.base | java.lang.ReflectiveOperationException | +| java.base | java.lang.Runnable | +| java.base | java.lang.Runtime | +| java.base | java.lang.Runtime$Version | +| java.base | java.lang.RuntimeException | +| java.base | java.lang.SafeVarargs | +| java.base | java.lang.SecurityException | +| java.base | java.lang.StackTraceElement | +| java.base | java.lang.String | +| java.base | java.lang.StringBuffer | +| java.base | java.lang.StringBuilder | +| java.base | java.lang.T | +| java.base | java.lang.Thread | +| java.base | java.lang.Thread$Builder | +| java.base | java.lang.Thread$Builder$OfPlatform | +| java.base | java.lang.Thread$Builder$OfVirtual | +| java.base | java.lang.Thread$State | +| java.base | java.lang.Thread$UncaughtExceptionHandler | +| java.base | java.lang.ThreadBuilders | +| java.base | java.lang.ThreadBuilders$BaseThreadBuilder | +| java.base | java.lang.ThreadBuilders$PlatformThreadBuilder | +| java.base | java.lang.ThreadBuilders$VirtualThreadBuilder | +| java.base | java.lang.ThreadGroup | +| java.base | java.lang.Throwable | +| java.base | java.lang.TypeNotPresentException | +| java.base | java.lang.U | +| java.base | java.lang.Void | +| java.base | java.lang.annotation.Annotation | +| java.base | java.lang.annotation.Documented | +| java.base | java.lang.annotation.ElementType | +| java.base | java.lang.annotation.Retention | +| java.base | java.lang.annotation.RetentionPolicy | +| java.base | java.lang.annotation.Target | +| java.base | java.lang.constant.AsTypeMethodHandleDesc | +| java.base | java.lang.constant.ClassDesc | +| java.base | java.lang.constant.Constable | +| java.base | java.lang.constant.ConstantDesc | +| java.base | java.lang.constant.DirectMethodHandleDesc | +| java.base | java.lang.constant.DirectMethodHandleDesc$Kind | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc<> | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc> | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.DynamicConstantDesc | +| java.base | java.lang.constant.MethodHandleDesc | +| java.base | java.lang.constant.MethodTypeDesc | +| java.base | java.lang.constant.T | +| java.base | java.lang.foreign.AddressLayout | +| java.base | java.lang.foreign.Arena | +| java.base | java.lang.foreign.GroupLayout | +| java.base | java.lang.foreign.MemoryLayout | +| java.base | java.lang.foreign.MemoryLayout$PathElement | +| java.base | java.lang.foreign.MemorySegment | +| java.base | java.lang.foreign.MemorySegment$Scope | +| java.base | java.lang.foreign.PaddingLayout | +| java.base | java.lang.foreign.SegmentAllocator | +| java.base | java.lang.foreign.SequenceLayout | +| java.base | java.lang.foreign.StructLayout | +| java.base | java.lang.foreign.UnionLayout | +| java.base | java.lang.foreign.ValueLayout | +| java.base | java.lang.foreign.ValueLayout$OfBoolean | +| java.base | java.lang.foreign.ValueLayout$OfByte | +| java.base | java.lang.foreign.ValueLayout$OfChar | +| java.base | java.lang.foreign.ValueLayout$OfDouble | +| java.base | java.lang.foreign.ValueLayout$OfFloat | +| java.base | java.lang.foreign.ValueLayout$OfInt | +| java.base | java.lang.foreign.ValueLayout$OfLong | +| java.base | java.lang.foreign.ValueLayout$OfShort | +| java.base | java.lang.invoke.BoundMethodHandle | +| java.base | java.lang.invoke.DelegatingMethodHandle | +| java.base | java.lang.invoke.DirectMethodHandle | +| java.base | java.lang.invoke.DirectMethodHandle$Accessor | +| java.base | java.lang.invoke.DirectMethodHandle$Constructor | +| java.base | java.lang.invoke.DirectMethodHandle$Interface | +| java.base | java.lang.invoke.DirectMethodHandle$Special | +| java.base | java.lang.invoke.DirectMethodHandle$StaticAccessor | +| java.base | java.lang.invoke.F | +| java.base | java.lang.invoke.IndirectVarHandle | +| java.base | java.lang.invoke.LambdaForm | +| java.base | java.lang.invoke.LazyInitializingVarHandle | +| java.base | java.lang.invoke.M | +| java.base | java.lang.invoke.MethodHandle | +| java.base | java.lang.invoke.MethodHandleImpl | +| java.base | java.lang.invoke.MethodHandleImpl$AsVarargsCollector | +| java.base | java.lang.invoke.MethodHandleImpl$CountingWrapper | +| java.base | java.lang.invoke.MethodHandleImpl$IntrinsicMethodHandle | +| java.base | java.lang.invoke.MethodHandleImpl$WrappedMember | +| java.base | java.lang.invoke.MethodHandleInfo | +| java.base | java.lang.invoke.MethodHandles | +| java.base | java.lang.invoke.MethodHandles$Lookup | +| java.base | java.lang.invoke.MethodHandles$Lookup$ClassOption | +| java.base | java.lang.invoke.MethodType | +| java.base | java.lang.invoke.NativeMethodHandle | +| java.base | java.lang.invoke.SegmentVarHandle | +| java.base | java.lang.invoke.T | +| java.base | java.lang.invoke.TypeDescriptor | +| java.base | java.lang.invoke.TypeDescriptor$OfField | +| java.base | java.lang.invoke.TypeDescriptor$OfField<> | +| java.base | java.lang.invoke.TypeDescriptor$OfField> | +| java.base | java.lang.invoke.TypeDescriptor$OfField | +| java.base | java.lang.invoke.TypeDescriptor$OfField | +| java.base | java.lang.invoke.TypeDescriptor$OfMethod | +| java.base | java.lang.invoke.TypeDescriptor$OfMethod<> | +| java.base | java.lang.invoke.TypeDescriptor$OfMethod,MethodType> | +| java.base | java.lang.invoke.TypeDescriptor$OfMethod | +| java.base | java.lang.invoke.VarForm | +| java.base | java.lang.invoke.VarHandle | +| java.base | java.lang.invoke.VarHandle$AccessMode | +| java.base | java.lang.invoke.VarHandle$VarHandleDesc | +| java.base | java.lang.invoke.VarHandleBooleans | +| java.base | java.lang.invoke.VarHandleBooleans$Array | +| java.base | java.lang.invoke.VarHandleBooleans$FieldInstanceReadOnly | +| java.base | java.lang.invoke.VarHandleBooleans$FieldInstanceReadWrite | +| java.base | java.lang.invoke.VarHandleBooleans$FieldStaticReadOnly | +| java.base | java.lang.invoke.VarHandleBooleans$FieldStaticReadWrite | +| java.base | java.lang.invoke.VarHandleByteArrayAsChars | +| java.base | java.lang.invoke.VarHandleByteArrayAsChars$ArrayHandle | +| java.base | java.lang.invoke.VarHandleByteArrayAsChars$ByteArrayViewVarHandle | +| java.base | java.lang.invoke.VarHandleByteArrayAsChars$ByteBufferHandle | +| java.base | java.lang.invoke.VarHandleByteArrayAsDoubles | +| java.base | java.lang.invoke.VarHandleByteArrayAsDoubles$ArrayHandle | +| java.base | java.lang.invoke.VarHandleByteArrayAsDoubles$ByteArrayViewVarHandle | +| java.base | java.lang.invoke.VarHandleByteArrayAsDoubles$ByteBufferHandle | +| java.base | java.lang.invoke.VarHandleByteArrayAsFloats | +| java.base | java.lang.invoke.VarHandleByteArrayAsFloats$ArrayHandle | +| java.base | java.lang.invoke.VarHandleByteArrayAsFloats$ByteArrayViewVarHandle | +| java.base | java.lang.invoke.VarHandleByteArrayAsFloats$ByteBufferHandle | +| java.base | java.lang.invoke.VarHandleByteArrayAsInts | +| java.base | java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle | +| java.base | java.lang.invoke.VarHandleByteArrayAsInts$ByteArrayViewVarHandle | +| java.base | java.lang.invoke.VarHandleByteArrayAsInts$ByteBufferHandle | +| java.base | java.lang.invoke.VarHandleByteArrayAsLongs | +| java.base | java.lang.invoke.VarHandleByteArrayAsLongs$ArrayHandle | +| java.base | java.lang.invoke.VarHandleByteArrayAsLongs$ByteArrayViewVarHandle | +| java.base | java.lang.invoke.VarHandleByteArrayAsLongs$ByteBufferHandle | +| java.base | java.lang.invoke.VarHandleByteArrayAsShorts | +| java.base | java.lang.invoke.VarHandleByteArrayAsShorts$ArrayHandle | +| java.base | java.lang.invoke.VarHandleByteArrayAsShorts$ByteArrayViewVarHandle | +| java.base | java.lang.invoke.VarHandleByteArrayAsShorts$ByteBufferHandle | +| java.base | java.lang.invoke.VarHandleByteArrayBase | +| java.base | java.lang.invoke.VarHandleBytes | +| java.base | java.lang.invoke.VarHandleBytes$Array | +| java.base | java.lang.invoke.VarHandleBytes$FieldInstanceReadOnly | +| java.base | java.lang.invoke.VarHandleBytes$FieldInstanceReadWrite | +| java.base | java.lang.invoke.VarHandleBytes$FieldStaticReadOnly | +| java.base | java.lang.invoke.VarHandleBytes$FieldStaticReadWrite | +| java.base | java.lang.invoke.VarHandleChars | +| java.base | java.lang.invoke.VarHandleChars$Array | +| java.base | java.lang.invoke.VarHandleChars$FieldInstanceReadOnly | +| java.base | java.lang.invoke.VarHandleChars$FieldInstanceReadWrite | +| java.base | java.lang.invoke.VarHandleChars$FieldStaticReadOnly | +| java.base | java.lang.invoke.VarHandleChars$FieldStaticReadWrite | +| java.base | java.lang.invoke.VarHandleDoubles | +| java.base | java.lang.invoke.VarHandleDoubles$Array | +| java.base | java.lang.invoke.VarHandleDoubles$FieldInstanceReadOnly | +| java.base | java.lang.invoke.VarHandleDoubles$FieldInstanceReadWrite | +| java.base | java.lang.invoke.VarHandleDoubles$FieldStaticReadOnly | +| java.base | java.lang.invoke.VarHandleDoubles$FieldStaticReadWrite | +| java.base | java.lang.invoke.VarHandleFloats | +| java.base | java.lang.invoke.VarHandleFloats$Array | +| java.base | java.lang.invoke.VarHandleFloats$FieldInstanceReadOnly | +| java.base | java.lang.invoke.VarHandleFloats$FieldInstanceReadWrite | +| java.base | java.lang.invoke.VarHandleFloats$FieldStaticReadOnly | +| java.base | java.lang.invoke.VarHandleFloats$FieldStaticReadWrite | +| java.base | java.lang.invoke.VarHandleInts | +| java.base | java.lang.invoke.VarHandleInts$Array | +| java.base | java.lang.invoke.VarHandleInts$FieldInstanceReadOnly | +| java.base | java.lang.invoke.VarHandleInts$FieldInstanceReadWrite | +| java.base | java.lang.invoke.VarHandleInts$FieldStaticReadOnly | +| java.base | java.lang.invoke.VarHandleInts$FieldStaticReadWrite | +| java.base | java.lang.invoke.VarHandleLongs | +| java.base | java.lang.invoke.VarHandleLongs$Array | +| java.base | java.lang.invoke.VarHandleLongs$FieldInstanceReadOnly | +| java.base | java.lang.invoke.VarHandleLongs$FieldInstanceReadWrite | +| java.base | java.lang.invoke.VarHandleLongs$FieldStaticReadOnly | +| java.base | java.lang.invoke.VarHandleLongs$FieldStaticReadWrite | +| java.base | java.lang.invoke.VarHandleReferences | +| java.base | java.lang.invoke.VarHandleReferences$Array | +| java.base | java.lang.invoke.VarHandleReferences$FieldInstanceReadOnly | +| java.base | java.lang.invoke.VarHandleReferences$FieldInstanceReadWrite | +| java.base | java.lang.invoke.VarHandleReferences$FieldStaticReadOnly | +| java.base | java.lang.invoke.VarHandleReferences$FieldStaticReadWrite | +| java.base | java.lang.invoke.VarHandleShorts | +| java.base | java.lang.invoke.VarHandleShorts$Array | +| java.base | java.lang.invoke.VarHandleShorts$FieldInstanceReadOnly | +| java.base | java.lang.invoke.VarHandleShorts$FieldInstanceReadWrite | +| java.base | java.lang.invoke.VarHandleShorts$FieldStaticReadOnly | +| java.base | java.lang.invoke.VarHandleShorts$FieldStaticReadWrite | +| java.base | java.lang.module.Configuration | +| java.base | java.lang.module.ModuleDescriptor | +| java.base | java.lang.module.ModuleDescriptor$Builder | +| java.base | java.lang.module.ModuleDescriptor$Exports | +| java.base | java.lang.module.ModuleDescriptor$Exports$Modifier | +| java.base | java.lang.module.ModuleDescriptor$Modifier | +| java.base | java.lang.module.ModuleDescriptor$Opens | +| java.base | java.lang.module.ModuleDescriptor$Opens$Modifier | +| java.base | java.lang.module.ModuleDescriptor$Provides | +| java.base | java.lang.module.ModuleDescriptor$Requires | +| java.base | java.lang.module.ModuleDescriptor$Requires$Modifier | +| java.base | java.lang.module.ModuleDescriptor$Version | +| java.base | java.lang.module.ModuleFinder | +| java.base | java.lang.module.ModuleReader | +| java.base | java.lang.module.ModuleReference | +| java.base | java.lang.module.ResolvedModule | +| java.base | java.lang.ref.Cleaner | +| java.base | java.lang.ref.Cleaner$Cleanable | +| java.base | java.lang.reflect.AccessFlag | +| java.base | java.lang.reflect.AccessFlag$Location | +| java.base | java.lang.reflect.AccessibleObject | +| java.base | java.lang.reflect.AnnotatedElement | +| java.base | java.lang.reflect.AnnotatedType | +| java.base | java.lang.reflect.ClassFileFormatVersion | +| java.base | java.lang.reflect.Constructor | +| java.base | java.lang.reflect.Constructor<> | +| java.base | java.lang.reflect.Constructor | +| java.base | java.lang.reflect.Constructor | +| java.base | java.lang.reflect.D | +| java.base | java.lang.reflect.Executable | +| java.base | java.lang.reflect.Field | +| java.base | java.lang.reflect.GenericDeclaration | +| java.base | java.lang.reflect.InvocationTargetException | +| java.base | java.lang.reflect.Member | +| java.base | java.lang.reflect.Method | +| java.base | java.lang.reflect.Parameter | +| java.base | java.lang.reflect.RecordComponent | +| java.base | java.lang.reflect.T | +| java.base | java.lang.reflect.Type | +| java.base | java.lang.reflect.TypeVariable | +| java.base | java.lang.reflect.TypeVariable<> | +| java.base | java.lang.reflect.TypeVariable | +| java.base | java.lang.reflect.TypeVariable | +| java.base | java.lang.reflect.TypeVariable | +| java.base | java.lang.reflect.TypeVariable | +| java.base | java.math.BigInteger | +| java.base | java.net.ContentHandler | +| java.base | java.net.ContentHandlerFactory | +| java.base | java.net.FileNameMap | +| java.base | java.net.Inet4Address | +| java.base | java.net.Inet6Address | +| java.base | java.net.InetAddress | +| java.base | java.net.InterfaceAddress | +| java.base | java.net.MalformedURLException | +| java.base | java.net.NetworkInterface | +| java.base | java.net.Proxy | +| java.base | java.net.Proxy$Type | +| java.base | java.net.SocketAddress | +| java.base | java.net.SocketException | +| java.base | java.net.URI | +| java.base | java.net.URISyntaxException | +| java.base | java.net.URL | +| java.base | java.net.URLConnection | +| java.base | java.net.URLStreamHandler | +| java.base | java.net.URLStreamHandlerFactory | +| java.base | java.net.UnknownHostException | +| java.base | java.nio.Buffer | +| java.base | java.nio.ByteBuffer | +| java.base | java.nio.ByteBufferAsCharBufferB | +| java.base | java.nio.ByteBufferAsCharBufferL | +| java.base | java.nio.ByteBufferAsCharBufferRB | +| java.base | java.nio.ByteBufferAsCharBufferRL | +| java.base | java.nio.ByteBufferAsDoubleBufferB | +| java.base | java.nio.ByteBufferAsDoubleBufferL | +| java.base | java.nio.ByteBufferAsDoubleBufferRB | +| java.base | java.nio.ByteBufferAsDoubleBufferRL | +| java.base | java.nio.ByteBufferAsFloatBufferB | +| java.base | java.nio.ByteBufferAsFloatBufferL | +| java.base | java.nio.ByteBufferAsFloatBufferRB | +| java.base | java.nio.ByteBufferAsFloatBufferRL | +| java.base | java.nio.ByteBufferAsIntBufferB | +| java.base | java.nio.ByteBufferAsIntBufferL | +| java.base | java.nio.ByteBufferAsIntBufferRB | +| java.base | java.nio.ByteBufferAsIntBufferRL | +| java.base | java.nio.ByteBufferAsLongBufferB | +| java.base | java.nio.ByteBufferAsLongBufferL | +| java.base | java.nio.ByteBufferAsLongBufferRB | +| java.base | java.nio.ByteBufferAsLongBufferRL | +| java.base | java.nio.ByteBufferAsShortBufferB | +| java.base | java.nio.ByteBufferAsShortBufferL | +| java.base | java.nio.ByteBufferAsShortBufferRB | +| java.base | java.nio.ByteBufferAsShortBufferRL | +| java.base | java.nio.ByteOrder | +| java.base | java.nio.CharBuffer | +| java.base | java.nio.DirectByteBuffer | +| java.base | java.nio.DirectByteBufferR | +| java.base | java.nio.DirectCharBufferRS | +| java.base | java.nio.DirectCharBufferRU | +| java.base | java.nio.DirectCharBufferS | +| java.base | java.nio.DirectCharBufferU | +| java.base | java.nio.DirectDoubleBufferRS | +| java.base | java.nio.DirectDoubleBufferRU | +| java.base | java.nio.DirectDoubleBufferS | +| java.base | java.nio.DirectDoubleBufferU | +| java.base | java.nio.DirectFloatBufferRS | +| java.base | java.nio.DirectFloatBufferRU | +| java.base | java.nio.DirectFloatBufferS | +| java.base | java.nio.DirectFloatBufferU | +| java.base | java.nio.DirectIntBufferRS | +| java.base | java.nio.DirectIntBufferRU | +| java.base | java.nio.DirectIntBufferS | +| java.base | java.nio.DirectIntBufferU | +| java.base | java.nio.DirectLongBufferRS | +| java.base | java.nio.DirectLongBufferRU | +| java.base | java.nio.DirectLongBufferS | +| java.base | java.nio.DirectLongBufferU | +| java.base | java.nio.DirectShortBufferRS | +| java.base | java.nio.DirectShortBufferRU | +| java.base | java.nio.DirectShortBufferS | +| java.base | java.nio.DirectShortBufferU | +| java.base | java.nio.DoubleBuffer | +| java.base | java.nio.FloatBuffer | +| java.base | java.nio.HeapByteBuffer | +| java.base | java.nio.HeapByteBufferR | +| java.base | java.nio.HeapCharBuffer | +| java.base | java.nio.HeapCharBufferR | +| java.base | java.nio.HeapDoubleBuffer | +| java.base | java.nio.HeapDoubleBufferR | +| java.base | java.nio.HeapFloatBuffer | +| java.base | java.nio.HeapFloatBufferR | +| java.base | java.nio.HeapIntBuffer | +| java.base | java.nio.HeapIntBufferR | +| java.base | java.nio.HeapLongBuffer | +| java.base | java.nio.HeapLongBufferR | +| java.base | java.nio.HeapShortBuffer | +| java.base | java.nio.HeapShortBufferR | +| java.base | java.nio.IntBuffer | +| java.base | java.nio.LongBuffer | +| java.base | java.nio.MappedByteBuffer | +| java.base | java.nio.ShortBuffer | +| java.base | java.nio.StringCharBuffer | +| java.base | java.nio.channels.A | +| java.base | java.nio.channels.AsynchronousChannel | +| java.base | java.nio.channels.AsynchronousCloseException | +| java.base | java.nio.channels.AsynchronousFileChannel | +| java.base | java.nio.channels.ByteChannel | +| java.base | java.nio.channels.Channel | +| java.base | java.nio.channels.ClosedChannelException | +| java.base | java.nio.channels.CompletionHandler | +| java.base | java.nio.channels.CompletionHandler<> | +| java.base | java.nio.channels.CompletionHandler | +| java.base | java.nio.channels.CompletionHandler | +| java.base | java.nio.channels.FileChannel | +| java.base | java.nio.channels.FileChannel$MapMode | +| java.base | java.nio.channels.FileLock | +| java.base | java.nio.channels.GatheringByteChannel | +| java.base | java.nio.channels.InterruptibleChannel | +| java.base | java.nio.channels.ReadableByteChannel | +| java.base | java.nio.channels.ScatteringByteChannel | +| java.base | java.nio.channels.SeekableByteChannel | +| java.base | java.nio.channels.V | +| java.base | java.nio.channels.WritableByteChannel | +| java.base | java.nio.channels.spi.AbstractInterruptibleChannel | +| java.base | java.nio.charset.CharacterCodingException | +| java.base | java.nio.charset.Charset | +| java.base | java.nio.charset.CharsetDecoder | +| java.base | java.nio.charset.CharsetEncoder | +| java.base | java.nio.charset.CoderResult | +| java.base | java.nio.charset.CodingErrorAction | +| java.base | java.nio.file.AccessMode | +| java.base | java.nio.file.CopyOption | +| java.base | java.nio.file.DirectoryStream | +| java.base | java.nio.file.DirectoryStream$Filter | +| java.base | java.nio.file.DirectoryStream$Filter | +| java.base | java.nio.file.DirectoryStream<> | +| java.base | java.nio.file.DirectoryStream | +| java.base | java.nio.file.FileStore | +| java.base | java.nio.file.FileSystem | +| java.base | java.nio.file.LinkOption | +| java.base | java.nio.file.OpenOption | +| java.base | java.nio.file.Path | +| java.base | java.nio.file.PathMatcher | +| java.base | java.nio.file.T | +| java.base | java.nio.file.V | +| java.base | java.nio.file.WatchEvent | +| java.base | java.nio.file.WatchEvent$Kind | +| java.base | java.nio.file.WatchEvent$Kind<> | +| java.base | java.nio.file.WatchEvent$Kind | +| java.base | java.nio.file.WatchEvent$Kind | +| java.base | java.nio.file.WatchEvent$Modifier | +| java.base | java.nio.file.WatchEvent | +| java.base | java.nio.file.WatchKey | +| java.base | java.nio.file.WatchService | +| java.base | java.nio.file.Watchable | +| java.base | java.nio.file.attribute.AttributeView | +| java.base | java.nio.file.attribute.BasicFileAttributes | +| java.base | java.nio.file.attribute.FileAttribute | +| java.base | java.nio.file.attribute.FileAttribute | +| java.base | java.nio.file.attribute.FileAttributeView | +| java.base | java.nio.file.attribute.FileStoreAttributeView | +| java.base | java.nio.file.attribute.FileTime | +| java.base | java.nio.file.attribute.GroupPrincipal | +| java.base | java.nio.file.attribute.T | +| java.base | java.nio.file.attribute.UserPrincipal | +| java.base | java.nio.file.attribute.UserPrincipalLookupService | +| java.base | java.nio.file.spi.A | +| java.base | java.nio.file.spi.FileSystemProvider | +| java.base | java.nio.file.spi.V | +| java.base | java.security.AccessControlContext | +| java.base | java.security.AccessControlException | +| java.base | java.security.AlgorithmParameters | +| java.base | java.security.AlgorithmParametersSpi | +| java.base | java.security.AsymmetricKey | +| java.base | java.security.CodeSigner | +| java.base | java.security.CodeSource | +| java.base | java.security.DEREncodable | +| java.base | java.security.DomainCombiner | +| java.base | java.security.GeneralSecurityException | +| java.base | java.security.Guard | +| java.base | java.security.InvalidAlgorithmParameterException | +| java.base | java.security.InvalidKeyException | +| java.base | java.security.Key | +| java.base | java.security.KeyException | +| java.base | java.security.KeyPair | +| java.base | java.security.NoSuchAlgorithmException | +| java.base | java.security.NoSuchProviderException | +| java.base | java.security.PEMRecord | +| java.base | java.security.Permission | +| java.base | java.security.PermissionCollection | +| java.base | java.security.Principal | +| java.base | java.security.PrivateKey | +| java.base | java.security.PrivilegedAction | +| java.base | java.security.PrivilegedAction<> | +| java.base | java.security.PrivilegedAction | +| java.base | java.security.PrivilegedActionException | +| java.base | java.security.PrivilegedExceptionAction | +| java.base | java.security.PrivilegedExceptionAction<> | +| java.base | java.security.PrivilegedExceptionAction | +| java.base | java.security.ProtectionDomain | +| java.base | java.security.Provider | +| java.base | java.security.Provider$Service | +| java.base | java.security.PublicKey | +| java.base | java.security.SecureRandom | +| java.base | java.security.SecureRandomParameters | +| java.base | java.security.SecureRandomSpi | +| java.base | java.security.SignatureException | +| java.base | java.security.T | +| java.base | java.security.Timestamp | +| java.base | java.security.cert.CRL | +| java.base | java.security.cert.CRLException | +| java.base | java.security.cert.CRLReason | +| java.base | java.security.cert.CertPath | +| java.base | java.security.cert.Certificate | +| java.base | java.security.cert.CertificateEncodingException | +| java.base | java.security.cert.CertificateException | +| java.base | java.security.cert.CertificateExpiredException | +| java.base | java.security.cert.CertificateNotYetValidException | +| java.base | java.security.cert.CertificateParsingException | +| java.base | java.security.cert.X509CRL | +| java.base | java.security.cert.X509CRLEntry | +| java.base | java.security.cert.X509Certificate | +| java.base | java.security.cert.X509Extension | +| java.base | java.security.spec.AlgorithmParameterSpec | +| java.base | java.security.spec.EncodedKeySpec | +| java.base | java.security.spec.InvalidKeySpecException | +| java.base | java.security.spec.InvalidParameterSpecException | +| java.base | java.security.spec.KeySpec | +| java.base | java.security.spec.PKCS8EncodedKeySpec | +| java.base | java.security.spec.X509EncodedKeySpec | +| java.base | java.text.AttributedCharacterIterator | +| java.base | java.text.AttributedCharacterIterator$Attribute | +| java.base | java.text.CharacterIterator | +| java.base | java.text.FieldPosition | +| java.base | java.text.Format | +| java.base | java.text.Format$Field | +| java.base | java.text.ParseException | +| java.base | java.text.ParsePosition | +| java.base | java.time.Clock | +| java.base | java.time.DayOfWeek | +| java.base | java.time.Duration | +| java.base | java.time.Instant | +| java.base | java.time.InstantSource | +| java.base | java.time.LocalDate | +| java.base | java.time.LocalDateTime | +| java.base | java.time.LocalTime | +| java.base | java.time.Month | +| java.base | java.time.OffsetDateTime | +| java.base | java.time.OffsetTime | +| java.base | java.time.Period | +| java.base | java.time.R | +| java.base | java.time.ZoneId | +| java.base | java.time.ZoneOffset | +| java.base | java.time.ZoneRegion | +| java.base | java.time.ZonedDateTime | +| java.base | java.time.chrono.AbstractChronology | +| java.base | java.time.chrono.ChronoLocalDate | +| java.base | java.time.chrono.ChronoLocalDateTime | +| java.base | java.time.chrono.ChronoLocalDateTime<> | +| java.base | java.time.chrono.ChronoLocalDateTime | +| java.base | java.time.chrono.ChronoLocalDateTime | +| java.base | java.time.chrono.ChronoLocalDateTime | +| java.base | java.time.chrono.ChronoLocalDateTime | +| java.base | java.time.chrono.ChronoPeriod | +| java.base | java.time.chrono.ChronoZonedDateTime | +| java.base | java.time.chrono.ChronoZonedDateTime<> | +| java.base | java.time.chrono.ChronoZonedDateTime | +| java.base | java.time.chrono.ChronoZonedDateTime | +| java.base | java.time.chrono.ChronoZonedDateTime | +| java.base | java.time.chrono.ChronoZonedDateTime | +| java.base | java.time.chrono.Chronology | +| java.base | java.time.chrono.D | +| java.base | java.time.chrono.Era | +| java.base | java.time.chrono.IsoChronology | +| java.base | java.time.chrono.IsoEra | +| java.base | java.time.chrono.R | +| java.base | java.time.format.DateTimeFormatter | +| java.base | java.time.format.DecimalStyle | +| java.base | java.time.format.FormatStyle | +| java.base | java.time.format.ResolverStyle | +| java.base | java.time.format.T | +| java.base | java.time.format.TextStyle | +| java.base | java.time.temporal.ChronoField | +| java.base | java.time.temporal.ChronoUnit | +| java.base | java.time.temporal.R | +| java.base | java.time.temporal.Temporal | +| java.base | java.time.temporal.TemporalAccessor | +| java.base | java.time.temporal.TemporalAdjuster | +| java.base | java.time.temporal.TemporalAmount | +| java.base | java.time.temporal.TemporalField | +| java.base | java.time.temporal.TemporalQuery | +| java.base | java.time.temporal.TemporalQuery<> | +| java.base | java.time.temporal.TemporalQuery | +| java.base | java.time.temporal.TemporalQuery | +| java.base | java.time.temporal.TemporalQuery | +| java.base | java.time.temporal.TemporalQuery | +| java.base | java.time.temporal.TemporalQuery | +| java.base | java.time.temporal.TemporalUnit | +| java.base | java.time.temporal.ValueRange | +| java.base | java.time.zone.ZoneOffsetTransition | +| java.base | java.time.zone.ZoneOffsetTransitionRule | +| java.base | java.time.zone.ZoneOffsetTransitionRule$TimeDefinition | +| java.base | java.time.zone.ZoneRules | +| java.base | java.util.Collection | +| java.base | java.util.Collection<> | +| java.base | java.util.Collection | +| java.base | java.util.Collection> | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection> | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection> | +| java.base | java.util.Collection> | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection> | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection> | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection> | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Collection | +| java.base | java.util.Comparator | +| java.base | java.util.Comparator<> | +| java.base | java.util.Comparator | +| java.base | java.util.Comparator | +| java.base | java.util.Comparator | +| java.base | java.util.Comparator | +| java.base | java.util.Comparator | +| java.base | java.util.Comparator | +| java.base | java.util.Comparator | +| java.base | java.util.Comparator | +| java.base | java.util.Comparator | +| java.base | java.util.Comparator> | +| java.base | java.util.Comparator> | +| java.base | java.util.Comparator> | +| java.base | java.util.Comparator | +| java.base | java.util.Comparator | +| java.base | java.util.Comparator | +| java.base | java.util.Date | +| java.base | java.util.Dictionary | +| java.base | java.util.Dictionary | +| java.base | java.util.Dictionary | +| java.base | java.util.DoubleSummaryStatistics | +| java.base | java.util.E | +| java.base | java.util.Enumeration | +| java.base | java.util.Enumeration<> | +| java.base | java.util.Enumeration | +| java.base | java.util.Enumeration | +| java.base | java.util.Enumeration | +| java.base | java.util.Enumeration | +| java.base | java.util.Enumeration | +| java.base | java.util.Enumeration | +| java.base | java.util.Enumeration | +| java.base | java.util.Enumeration | +| java.base | java.util.Hashtable | +| java.base | java.util.Hashtable | +| java.base | java.util.IntSummaryStatistics | +| java.base | java.util.InvalidPropertiesFormatException | +| java.base | java.util.Iterator | +| java.base | java.util.Iterator<> | +| java.base | java.util.Iterator | +| java.base | java.util.Iterator | +| java.base | java.util.Iterator | +| java.base | java.util.Iterator | +| java.base | java.util.Iterator | +| java.base | java.util.Iterator | +| java.base | java.util.Iterator | +| java.base | java.util.K | +| java.base | java.util.List | +| java.base | java.util.List<> | +| java.base | java.util.List | +| java.base | java.util.List | +| java.base | java.util.List> | +| java.base | java.util.List | +| java.base | java.util.List | +| java.base | java.util.List | +| java.base | java.util.List | +| java.base | java.util.List | +| java.base | java.util.List | +| java.base | java.util.List | +| java.base | java.util.List> | +| java.base | java.util.List | +| java.base | java.util.List | +| java.base | java.util.List | +| java.base | java.util.List | +| java.base | java.util.List | +| java.base | java.util.List | +| java.base | java.util.List | +| java.base | java.util.List | +| java.base | java.util.List | +| java.base | java.util.List | +| java.base | java.util.List | +| java.base | java.util.List> | +| java.base | java.util.List | +| java.base | java.util.List | +| java.base | java.util.List | +| java.base | java.util.ListIterator | +| java.base | java.util.ListIterator<> | +| java.base | java.util.ListIterator | +| java.base | java.util.Locale | +| java.base | java.util.Locale$Category | +| java.base | java.util.Locale$FilteringMode | +| java.base | java.util.Locale$IsoCountryCode | +| java.base | java.util.Locale$IsoCountryCode$1 | +| java.base | java.util.Locale$IsoCountryCode$2 | +| java.base | java.util.Locale$IsoCountryCode$3 | +| java.base | java.util.Locale$LanguageRange | +| java.base | java.util.LongSummaryStatistics | +| java.base | java.util.Map | +| java.base | java.util.Map$Entry | +| java.base | java.util.Map$Entry<> | +| java.base | java.util.Map$Entry | +| java.base | java.util.Map$Entry | +| java.base | java.util.Map$Entry | +| java.base | java.util.Map<> | +| java.base | java.util.Map | +| java.base | java.util.Map | +| java.base | java.util.Map | +| java.base | java.util.Map | +| java.base | java.util.Map | +| java.base | java.util.Map | +| java.base | java.util.Map | +| java.base | java.util.Map | +| java.base | java.util.Map> | +| java.base | java.util.Map | +| java.base | java.util.Map | +| java.base | java.util.Map | +| java.base | java.util.Map | +| java.base | java.util.MissingResourceException | +| java.base | java.util.Optional | +| java.base | java.util.Optional<> | +| java.base | java.util.Optional | +| java.base | java.util.Optional | +| java.base | java.util.Optional | +| java.base | java.util.Optional | +| java.base | java.util.Optional | +| java.base | java.util.Optional | +| java.base | java.util.Optional | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional> | +| java.base | java.util.Optional | +| java.base | java.util.Optional | +| java.base | java.util.Optional | +| java.base | java.util.Optional | +| java.base | java.util.Optional | +| java.base | java.util.Optional | +| java.base | java.util.Optional | +| java.base | java.util.Optional | +| java.base | java.util.Optional | +| java.base | java.util.Optional | +| java.base | java.util.Optional | +| java.base | java.util.Optional | +| java.base | java.util.Optional | +| java.base | java.util.Optional | +| java.base | java.util.Optional | +| java.base | java.util.Optional | +| java.base | java.util.Optional | +| java.base | java.util.Optional | +| java.base | java.util.Optional | +| java.base | java.util.Optional | +| java.base | java.util.Optional | +| java.base | java.util.OptionalDouble | +| java.base | java.util.OptionalInt | +| java.base | java.util.OptionalLong | +| java.base | java.util.PrimitiveIterator | +| java.base | java.util.PrimitiveIterator$OfDouble | +| java.base | java.util.PrimitiveIterator$OfInt | +| java.base | java.util.PrimitiveIterator$OfLong | +| java.base | java.util.PrimitiveIterator | +| java.base | java.util.PrimitiveIterator | +| java.base | java.util.PrimitiveIterator | +| java.base | java.util.Properties | +| java.base | java.util.Random | +| java.base | java.util.SequencedCollection | +| java.base | java.util.SequencedCollection<> | +| java.base | java.util.SequencedCollection | +| java.base | java.util.SequencedCollection | +| java.base | java.util.SequencedCollection> | +| java.base | java.util.SequencedCollection | +| java.base | java.util.SequencedCollection | +| java.base | java.util.SequencedCollection | +| java.base | java.util.SequencedCollection | +| java.base | java.util.SequencedCollection> | +| java.base | java.util.SequencedCollection | +| java.base | java.util.SequencedCollection | +| java.base | java.util.SequencedCollection | +| java.base | java.util.SequencedCollection> | +| java.base | java.util.SequencedCollection | +| java.base | java.util.SequencedCollection | +| java.base | java.util.SequencedCollection | +| java.base | java.util.SequencedCollection | +| java.base | java.util.SequencedCollection | +| java.base | java.util.SequencedCollection | +| java.base | java.util.SequencedCollection | +| java.base | java.util.SequencedCollection | +| java.base | java.util.SequencedCollection | +| java.base | java.util.SequencedCollection | +| java.base | java.util.SequencedCollection | +| java.base | java.util.SequencedCollection | +| java.base | java.util.SequencedCollection | +| java.base | java.util.SequencedCollection> | +| java.base | java.util.SequencedCollection | +| java.base | java.util.SequencedCollection | +| java.base | java.util.SequencedCollection | +| java.base | java.util.SequencedMap | +| java.base | java.util.SequencedMap<> | +| java.base | java.util.SequencedMap | +| java.base | java.util.SequencedMap | +| java.base | java.util.SequencedSet | +| java.base | java.util.SequencedSet<> | +| java.base | java.util.SequencedSet> | +| java.base | java.util.SequencedSet | +| java.base | java.util.Set | +| java.base | java.util.Set<> | +| java.base | java.util.Set | +| java.base | java.util.Set | +| java.base | java.util.Set | +| java.base | java.util.Set | +| java.base | java.util.Set | +| java.base | java.util.Set | +| java.base | java.util.Set | +| java.base | java.util.Set | +| java.base | java.util.Set | +| java.base | java.util.Set | +| java.base | java.util.Set | +| java.base | java.util.Set> | +| java.base | java.util.Set> | +| java.base | java.util.Set | +| java.base | java.util.Set | +| java.base | java.util.Set | +| java.base | java.util.Set | +| java.base | java.util.Set | +| java.base | java.util.Set | +| java.base | java.util.Set | +| java.base | java.util.Set | +| java.base | java.util.Set | +| java.base | java.util.Set | +| java.base | java.util.Set | +| java.base | java.util.Set | +| java.base | java.util.Set | +| java.base | java.util.Set | +| java.base | java.util.Set | +| java.base | java.util.Set | +| java.base | java.util.Set | +| java.base | java.util.SortedMap | +| java.base | java.util.SortedMap<> | +| java.base | java.util.SortedMap | +| java.base | java.util.Spliterator | +| java.base | java.util.Spliterator$OfDouble | +| java.base | java.util.Spliterator$OfInt | +| java.base | java.util.Spliterator$OfLong | +| java.base | java.util.Spliterator$OfPrimitive | +| java.base | java.util.Spliterator$OfPrimitive<> | +| java.base | java.util.Spliterator$OfPrimitive | +| java.base | java.util.Spliterator$OfPrimitive | +| java.base | java.util.Spliterator$OfPrimitive | +| java.base | java.util.Spliterator<> | +| java.base | java.util.Spliterator | +| java.base | java.util.Spliterator | +| java.base | java.util.Spliterator | +| java.base | java.util.Spliterator | +| java.base | java.util.Spliterator | +| java.base | java.util.Spliterator | +| java.base | java.util.Spliterator | +| java.base | java.util.T | +| java.base | java.util.T_CONS | +| java.base | java.util.T_SPLITR | +| java.base | java.util.U | +| java.base | java.util.V | +| java.base | java.util.X | +| java.base | java.util.concurrent.Callable | +| java.base | java.util.concurrent.Callable<> | +| java.base | java.util.concurrent.Callable | +| java.base | java.util.concurrent.CompletableFuture | +| java.base | java.util.concurrent.CompletableFuture<> | +| java.base | java.util.concurrent.CompletableFuture | +| java.base | java.util.concurrent.CompletableFuture | +| java.base | java.util.concurrent.CompletableFuture | +| java.base | java.util.concurrent.CompletableFuture | +| java.base | java.util.concurrent.CompletableFuture | +| java.base | java.util.concurrent.CompletableFuture | +| java.base | java.util.concurrent.CompletableFuture | +| java.base | java.util.concurrent.CompletableFuture | +| java.base | java.util.concurrent.CompletionException | +| java.base | java.util.concurrent.CompletionStage | +| java.base | java.util.concurrent.CompletionStage<> | +| java.base | java.util.concurrent.CompletionStage | +| java.base | java.util.concurrent.CompletionStage | +| java.base | java.util.concurrent.CompletionStage | +| java.base | java.util.concurrent.CompletionStage | +| java.base | java.util.concurrent.CompletionStage | +| java.base | java.util.concurrent.CompletionStage | +| java.base | java.util.concurrent.CompletionStage | +| java.base | java.util.concurrent.CompletionStage | +| java.base | java.util.concurrent.CompletionStage | +| java.base | java.util.concurrent.CompletionStage | +| java.base | java.util.concurrent.ExecutionException | +| java.base | java.util.concurrent.Executor | +| java.base | java.util.concurrent.ExecutorService | +| java.base | java.util.concurrent.Future | +| java.base | java.util.concurrent.Future$State | +| java.base | java.util.concurrent.Future<> | +| java.base | java.util.concurrent.Future | +| java.base | java.util.concurrent.Future | +| java.base | java.util.concurrent.Future | +| java.base | java.util.concurrent.Future | +| java.base | java.util.concurrent.Future | +| java.base | java.util.concurrent.Future | +| java.base | java.util.concurrent.Future | +| java.base | java.util.concurrent.Future | +| java.base | java.util.concurrent.Future | +| java.base | java.util.concurrent.Future | +| java.base | java.util.concurrent.T | +| java.base | java.util.concurrent.ThreadFactory | +| java.base | java.util.concurrent.TimeUnit | +| java.base | java.util.concurrent.TimeoutException | +| java.base | java.util.concurrent.U | +| java.base | java.util.concurrent.V | +| java.base | java.util.function.BiConsumer | +| java.base | java.util.function.BiConsumer<> | +| java.base | java.util.function.BiConsumer | +| java.base | java.util.function.BiConsumer | +| java.base | java.util.function.BiConsumer> | +| java.base | java.util.function.BiConsumer | +| java.base | java.util.function.BiConsumer | +| java.base | java.util.function.BiConsumer | +| java.base | java.util.function.BiConsumer | +| java.base | java.util.function.BiConsumer | +| java.base | java.util.function.BiConsumer> | +| java.base | java.util.function.BiConsumer | +| java.base | java.util.function.BiConsumer | +| java.base | java.util.function.BiConsumer | +| java.base | java.util.function.BiConsumer | +| java.base | java.util.function.BiConsumer> | +| java.base | java.util.function.BiFunction | +| java.base | java.util.function.BiFunction<> | +| java.base | java.util.function.BiFunction | +| java.base | java.util.function.BiFunction | +| java.base | java.util.function.BiFunction | +| java.base | java.util.function.BiFunction | +| java.base | java.util.function.BiFunction | +| java.base | java.util.function.BiFunction | +| java.base | java.util.function.BiFunction | +| java.base | java.util.function.BiFunction | +| java.base | java.util.function.BiFunction,RuntimeException> | +| java.base | java.util.function.BiFunction,V> | +| java.base | java.util.function.BiFunction | +| java.base | java.util.function.BiFunction | +| java.base | java.util.function.BiFunction | +| java.base | java.util.function.BiFunction | +| java.base | java.util.function.BiFunction | +| java.base | java.util.function.BinaryOperator | +| java.base | java.util.function.BinaryOperator<> | +| java.base | java.util.function.BinaryOperator | +| java.base | java.util.function.BinaryOperator | +| java.base | java.util.function.BinaryOperator | +| java.base | java.util.function.BinaryOperator | +| java.base | java.util.function.Consumer | +| java.base | java.util.function.Consumer<> | +| java.base | java.util.function.Consumer | +| java.base | java.util.function.Consumer | +| java.base | java.util.function.Consumer | +| java.base | java.util.function.Consumer | +| java.base | java.util.function.Consumer | +| java.base | java.util.function.Consumer | +| java.base | java.util.function.Consumer | +| java.base | java.util.function.Consumer | +| java.base | java.util.function.Consumer | +| java.base | java.util.function.DoubleBinaryOperator | +| java.base | java.util.function.DoubleConsumer | +| java.base | java.util.function.DoubleFunction | +| java.base | java.util.function.DoubleFunction<> | +| java.base | java.util.function.DoubleFunction | +| java.base | java.util.function.DoubleFunction | +| java.base | java.util.function.DoublePredicate | +| java.base | java.util.function.DoubleSupplier | +| java.base | java.util.function.DoubleToIntFunction | +| java.base | java.util.function.DoubleToLongFunction | +| java.base | java.util.function.DoubleUnaryOperator | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function<> | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function> | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function> | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function> | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function> | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function | +| java.base | java.util.function.Function | +| java.base | java.util.function.IntBinaryOperator | +| java.base | java.util.function.IntConsumer | +| java.base | java.util.function.IntFunction | +| java.base | java.util.function.IntFunction<> | +| java.base | java.util.function.IntFunction | +| java.base | java.util.function.IntFunction | +| java.base | java.util.function.IntFunction | +| java.base | java.util.function.IntFunction | +| java.base | java.util.function.IntPredicate | +| java.base | java.util.function.IntSupplier | +| java.base | java.util.function.IntToDoubleFunction | +| java.base | java.util.function.IntToLongFunction | +| java.base | java.util.function.IntUnaryOperator | +| java.base | java.util.function.LongBinaryOperator | +| java.base | java.util.function.LongConsumer | +| java.base | java.util.function.LongFunction | +| java.base | java.util.function.LongFunction<> | +| java.base | java.util.function.LongFunction | +| java.base | java.util.function.LongFunction | +| java.base | java.util.function.LongPredicate | +| java.base | java.util.function.LongSupplier | +| java.base | java.util.function.LongToDoubleFunction | +| java.base | java.util.function.LongToIntFunction | +| java.base | java.util.function.LongUnaryOperator | +| java.base | java.util.function.ObjDoubleConsumer | +| java.base | java.util.function.ObjDoubleConsumer<> | +| java.base | java.util.function.ObjDoubleConsumer | +| java.base | java.util.function.ObjIntConsumer | +| java.base | java.util.function.ObjIntConsumer<> | +| java.base | java.util.function.ObjIntConsumer | +| java.base | java.util.function.ObjLongConsumer | +| java.base | java.util.function.ObjLongConsumer<> | +| java.base | java.util.function.ObjLongConsumer | +| java.base | java.util.function.Predicate | +| java.base | java.util.function.Predicate<> | +| java.base | java.util.function.Predicate | +| java.base | java.util.function.Predicate | +| java.base | java.util.function.Predicate | +| java.base | java.util.function.R | +| java.base | java.util.function.Supplier | +| java.base | java.util.function.Supplier<> | +| java.base | java.util.function.Supplier> | +| java.base | java.util.function.Supplier | +| java.base | java.util.function.Supplier | +| java.base | java.util.function.Supplier | +| java.base | java.util.function.Supplier | +| java.base | java.util.function.Supplier> | +| java.base | java.util.function.Supplier | +| java.base | java.util.function.T | +| java.base | java.util.function.ToDoubleFunction | +| java.base | java.util.function.ToDoubleFunction<> | +| java.base | java.util.function.ToDoubleFunction | +| java.base | java.util.function.ToIntFunction | +| java.base | java.util.function.ToIntFunction<> | +| java.base | java.util.function.ToIntFunction | +| java.base | java.util.function.ToLongFunction | +| java.base | java.util.function.ToLongFunction<> | +| java.base | java.util.function.ToLongFunction | +| java.base | java.util.function.U | +| java.base | java.util.function.UnaryOperator | +| java.base | java.util.function.UnaryOperator<> | +| java.base | java.util.function.UnaryOperator | +| java.base | java.util.function.UnaryOperator | +| java.base | java.util.function.UnaryOperator | +| java.base | java.util.function.V | +| java.base | java.util.random.RandomGenerator | +| java.base | java.util.stream.A | +| java.base | java.util.stream.BaseStream | +| java.base | java.util.stream.BaseStream<> | +| java.base | java.util.stream.BaseStream> | +| java.base | java.util.stream.BaseStream> | +| java.base | java.util.stream.BaseStream | +| java.base | java.util.stream.BaseStream> | +| java.base | java.util.stream.BaseStream> | +| java.base | java.util.stream.BaseStream> | +| java.base | java.util.stream.BaseStream | +| java.base | java.util.stream.BaseStream> | +| java.base | java.util.stream.BaseStream> | +| java.base | java.util.stream.BaseStream> | +| java.base | java.util.stream.BaseStream | +| java.base | java.util.stream.BaseStream> | +| java.base | java.util.stream.BaseStream> | +| java.base | java.util.stream.BaseStream> | +| java.base | java.util.stream.BaseStream> | +| java.base | java.util.stream.BaseStream> | +| java.base | java.util.stream.BaseStream> | +| java.base | java.util.stream.BaseStream> | +| java.base | java.util.stream.BaseStream> | +| java.base | java.util.stream.BaseStream | +| java.base | java.util.stream.BaseStream> | +| java.base | java.util.stream.BaseStream> | +| java.base | java.util.stream.Collector | +| java.base | java.util.stream.Collector$Characteristics | +| java.base | java.util.stream.Collector<> | +| java.base | java.util.stream.Collector | +| java.base | java.util.stream.Collector | +| java.base | java.util.stream.Collector | +| java.base | java.util.stream.DoubleStream | +| java.base | java.util.stream.DoubleStream$Builder | +| java.base | java.util.stream.DoubleStream$DoubleMapMultiConsumer | +| java.base | java.util.stream.Gatherer | +| java.base | java.util.stream.Gatherer$Downstream | +| java.base | java.util.stream.Gatherer$Downstream | +| java.base | java.util.stream.Gatherer$Integrator | +| java.base | java.util.stream.Gatherer$Integrator$Greedy | +| java.base | java.util.stream.Gatherer$Integrator$Greedy<> | +| java.base | java.util.stream.Gatherer$Integrator$Greedy | +| java.base | java.util.stream.Gatherer$Integrator<> | +| java.base | java.util.stream.Gatherer$Integrator | +| java.base | java.util.stream.Gatherer$Integrator | +| java.base | java.util.stream.Gatherer<> | +| java.base | java.util.stream.Gatherer | +| java.base | java.util.stream.Gatherer | +| java.base | java.util.stream.Gatherer | +| java.base | java.util.stream.Gatherer | +| java.base | java.util.stream.Gatherer | +| java.base | java.util.stream.IntStream | +| java.base | java.util.stream.IntStream$Builder | +| java.base | java.util.stream.IntStream$IntMapMultiConsumer | +| java.base | java.util.stream.LongStream | +| java.base | java.util.stream.LongStream$Builder | +| java.base | java.util.stream.LongStream$LongMapMultiConsumer | +| java.base | java.util.stream.R | +| java.base | java.util.stream.RR | +| java.base | java.util.stream.S | +| java.base | java.util.stream.Stream | +| java.base | java.util.stream.Stream$Builder | +| java.base | java.util.stream.Stream$Builder<> | +| java.base | java.util.stream.Stream$Builder | +| java.base | java.util.stream.Stream<> | +| java.base | java.util.stream.Stream | +| java.base | java.util.stream.Stream | +| java.base | java.util.stream.Stream | +| java.base | java.util.stream.Stream | +| java.base | java.util.stream.Stream | +| java.base | java.util.stream.Stream | +| java.base | java.util.stream.Stream | +| java.base | java.util.stream.Stream | +| java.base | java.util.stream.Stream | +| java.base | java.util.stream.Stream | +| java.base | java.util.stream.Stream | +| java.base | java.util.stream.Stream | +| java.base | java.util.stream.Stream | +| java.base | java.util.stream.Stream | +| java.base | java.util.stream.Stream | +| java.base | java.util.stream.Stream | +| java.base | java.util.stream.Stream | +| java.base | java.util.stream.Stream | +| java.base | java.util.stream.T | +| java.base | java.util.stream.U | +| java.base | javax.crypto.BadPaddingException | +| java.base | javax.crypto.Cipher | +| java.base | javax.crypto.CipherSpi | +| java.base | javax.crypto.EncryptedPrivateKeyInfo | +| java.base | javax.crypto.ExemptionMechanism | +| java.base | javax.crypto.ExemptionMechanismException | +| java.base | javax.crypto.ExemptionMechanismSpi | +| java.base | javax.crypto.IllegalBlockSizeException | +| java.base | javax.crypto.NoSuchPaddingException | +| java.base | javax.crypto.ShortBufferException | +| java.base | javax.security.auth.DestroyFailedException | +| java.base | javax.security.auth.Destroyable | +| java.base | javax.security.auth.Subject | +| java.base | javax.security.auth.T | +| java.base | javax.security.auth.x500.X500Principal | +| java.base | jdk.internal.javac.Restricted+Annotation | diff --git a/java/ql/test/library-tests/module-import-declarations/ImportedType.ql b/java/ql/test/library-tests/module-import-declarations/ImportedType.ql new file mode 100644 index 000000000000..4dfe43084ecb --- /dev/null +++ b/java/ql/test/library-tests/module-import-declarations/ImportedType.ql @@ -0,0 +1,4 @@ +import java + +from ModuleImportDeclaration mid +select mid.getModuleName(), mid.getAnImportedType().getQualifiedName() diff --git a/java/ql/test/library-tests/module-import-declarations/Test.java b/java/ql/test/library-tests/module-import-declarations/Test.java new file mode 100644 index 000000000000..ed6d3dfe664f --- /dev/null +++ b/java/ql/test/library-tests/module-import-declarations/Test.java @@ -0,0 +1,6 @@ +import module java.base; + +class Test { + public static void main(String[] args) { + } +} \ No newline at end of file diff --git a/java/ql/test/library-tests/module-import-declarations/options b/java/ql/test/library-tests/module-import-declarations/options new file mode 100644 index 000000000000..b510fdce0df9 --- /dev/null +++ b/java/ql/test/library-tests/module-import-declarations/options @@ -0,0 +1 @@ +//semmle-extractor-options: --javac-args --release 25 --enable-preview \ No newline at end of file