class jdk.internal.foreign.LibrariesHelper$LibraryLookupImpl implements jdk.incubator.foreign.LibraryLookup
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.internal.foreign.LibrariesHelper$LibraryLookupImpl
super_class: java.lang.Object
{
final jdk.internal.loader.NativeLibrary library;
descriptor: Ljdk/internal/loader/NativeLibrary;
flags: (0x0010) ACC_FINAL
static jdk.incubator.foreign.LibraryLookup DEFAULT_LOOKUP;
descriptor: Ljdk/incubator/foreign/LibraryLookup;
flags: (0x0008) ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: .line 139
new jdk.internal.foreign.LibrariesHelper$LibraryLookupImpl
dup
getstatic jdk.internal.loader.NativeLibraries.defaultLibrary:Ljdk/internal/loader/NativeLibrary;
invokespecial jdk.internal.foreign.LibrariesHelper$LibraryLookupImpl.<init>:(Ljdk/internal/loader/NativeLibrary;)V
putstatic jdk.internal.foreign.LibrariesHelper$LibraryLookupImpl.DEFAULT_LOOKUP:Ljdk/incubator/foreign/LibraryLookup;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(jdk.internal.loader.NativeLibrary);
descriptor: (Ljdk/internal/loader/NativeLibrary;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // jdk.internal.foreign.LibrariesHelper$LibraryLookupImpl this
start local 1 // jdk.internal.loader.NativeLibrary library
0: .line 114
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 115
aload 0 /* this */
aload 1 /* library */
putfield jdk.internal.foreign.LibrariesHelper$LibraryLookupImpl.library:Ljdk/internal/loader/NativeLibrary;
2: .line 116
return
end local 1 // jdk.internal.loader.NativeLibrary library
end local 0 // jdk.internal.foreign.LibrariesHelper$LibraryLookupImpl this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/foreign/LibrariesHelper$LibraryLookupImpl;
0 3 1 library Ljdk/internal/loader/NativeLibrary;
MethodParameters:
Name Flags
library
public java.util.Optional<jdk.incubator.foreign.LibraryLookup$Symbol> lookup(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 // jdk.internal.foreign.LibrariesHelper$LibraryLookupImpl this
start local 1 // java.lang.String name
0: .line 121
aload 1 /* name */
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: .line 122
aload 0 /* this */
getfield jdk.internal.foreign.LibrariesHelper$LibraryLookupImpl.library:Ljdk/internal/loader/NativeLibrary;
aload 1 /* name */
invokeinterface jdk.internal.loader.NativeLibrary.lookup:(Ljava/lang/String;)J
invokestatic jdk.incubator.foreign.MemoryAddress.ofLong:(J)Ljdk/incubator/foreign/MemoryAddress;
astore 2 /* addr */
start local 2 // jdk.incubator.foreign.MemoryAddress addr
2: .line 123
new jdk.internal.foreign.LibrariesHelper$LibraryLookupImpl$1
dup
aload 0 /* this */
aload 1 /* name */
aload 2 /* addr */
invokespecial jdk.internal.foreign.LibrariesHelper$LibraryLookupImpl$1.<init>:(Ljdk/internal/foreign/LibrariesHelper$LibraryLookupImpl;Ljava/lang/String;Ljdk/incubator/foreign/MemoryAddress;)V
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
3: areturn
end local 2 // jdk.incubator.foreign.MemoryAddress addr
4: .line 134
StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
pop
5: .line 135
invokestatic java.util.Optional.empty:()Ljava/util/Optional;
areturn
end local 1 // java.lang.String name
end local 0 // jdk.internal.foreign.LibrariesHelper$LibraryLookupImpl this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/internal/foreign/LibrariesHelper$LibraryLookupImpl;
0 6 1 name Ljava/lang/String;
2 4 2 addr Ljdk/incubator/foreign/MemoryAddress;
Exception table:
from to target type
0 3 4 Class java.lang.NoSuchMethodException
Signature: (Ljava/lang/String;)Ljava/util/Optional<Ljdk/incubator/foreign/LibraryLookup$Symbol;>;
MethodParameters:
Name Flags
name
}
SourceFile: "LibrariesHelper.java"
NestHost: jdk.internal.foreign.LibrariesHelper
InnerClasses:
public abstract Symbol = jdk.incubator.foreign.LibraryLookup$Symbol of jdk.incubator.foreign.LibraryLookup
LibraryLookupImpl = jdk.internal.foreign.LibrariesHelper$LibraryLookupImpl of jdk.internal.foreign.LibrariesHelper
jdk.internal.foreign.LibrariesHelper$LibraryLookupImpl$1