class com.oracle.svm.jni.access.JNIAccessFeature$JNIRuntimeAccessibilitySupportImpl implements com.oracle.svm.core.jni.JNIRuntimeAccess$JNIRuntimeAccessibilitySupport, org.graalvm.nativeimage.impl.ReflectionRegistry
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.svm.jni.access.JNIAccessFeature$JNIRuntimeAccessibilitySupportImpl
super_class: java.lang.Object
{
final com.oracle.svm.jni.access.JNIAccessFeature this$0;
descriptor: Lcom/oracle/svm/jni/access/JNIAccessFeature;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(com.oracle.svm.jni.access.JNIAccessFeature);
descriptor: (Lcom/oracle/svm/jni/access/JNIAccessFeature;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield com.oracle.svm.jni.access.JNIAccessFeature$JNIRuntimeAccessibilitySupportImpl.this$0:Lcom/oracle/svm/jni/access/JNIAccessFeature;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/jni/access/JNIAccessFeature$JNIRuntimeAccessibilitySupportImpl;
MethodParameters:
Name Flags
this$0 final
public void register(java.lang.Class<?>[]);
descriptor: ([Ljava/lang/Class;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.jni.access.JNIAccessFeature$JNIRuntimeAccessibilitySupportImpl.this$0:Lcom/oracle/svm/jni/access/JNIAccessFeature;
invokevirtual com.oracle.svm.jni.access.JNIAccessFeature.abortIfSealed:()V
1: aload 0
getfield com.oracle.svm.jni.access.JNIAccessFeature$JNIRuntimeAccessibilitySupportImpl.this$0:Lcom/oracle/svm/jni/access/JNIAccessFeature;
getfield com.oracle.svm.jni.access.JNIAccessFeature.newClasses:Ljava/util/Set;
aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/jni/access/JNIAccessFeature$JNIRuntimeAccessibilitySupportImpl;
0 3 1 classes [Ljava/lang/Class;
Signature: ([Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
classes
public void register(java.lang.reflect.Executable[]);
descriptor: ([Ljava/lang/reflect/Executable;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.jni.access.JNIAccessFeature$JNIRuntimeAccessibilitySupportImpl.this$0:Lcom/oracle/svm/jni/access/JNIAccessFeature;
invokevirtual com.oracle.svm.jni.access.JNIAccessFeature.abortIfSealed:()V
1: aload 0
getfield com.oracle.svm.jni.access.JNIAccessFeature$JNIRuntimeAccessibilitySupportImpl.this$0:Lcom/oracle/svm/jni/access/JNIAccessFeature;
getfield com.oracle.svm.jni.access.JNIAccessFeature.newMethods:Ljava/util/Set;
aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/jni/access/JNIAccessFeature$JNIRuntimeAccessibilitySupportImpl;
0 3 1 methods [Ljava/lang/reflect/Executable;
MethodParameters:
Name Flags
methods
public void register(boolean, boolean, java.lang.reflect.Field[]);
descriptor: (ZZ[Ljava/lang/reflect/Field;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ldc "Unsafe access cannot be controlled through JNI configuration."
iconst_0
anewarray java.lang.Object
invokestatic com.oracle.svm.core.util.UserError.guarantee:(ZLjava/lang/String;[Ljava/lang/Object;)V
3: aload 0
getfield com.oracle.svm.jni.access.JNIAccessFeature$JNIRuntimeAccessibilitySupportImpl.this$0:Lcom/oracle/svm/jni/access/JNIAccessFeature;
invokevirtual com.oracle.svm.jni.access.JNIAccessFeature.abortIfSealed:()V
4: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 11
StackMap locals: com.oracle.svm.jni.access.JNIAccessFeature$JNIRuntimeAccessibilitySupportImpl int int java.lang.reflect.Field[] top int int java.lang.reflect.Field[]
StackMap stack:
5: aload 7
iload 5
aaload
astore 4
start local 4 6: iload 1
ifne 7
aload 4
invokevirtual java.lang.reflect.Field.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
ifeq 7
iconst_0
goto 8
StackMap locals: com.oracle.svm.jni.access.JNIAccessFeature$JNIRuntimeAccessibilitySupportImpl int int java.lang.reflect.Field[] java.lang.reflect.Field int int java.lang.reflect.Field[]
StackMap stack:
7: iconst_1
StackMap locals:
StackMap stack: int
8: istore 8
start local 8 9: aload 0
getfield com.oracle.svm.jni.access.JNIAccessFeature$JNIRuntimeAccessibilitySupportImpl.this$0:Lcom/oracle/svm/jni/access/JNIAccessFeature;
getfield com.oracle.svm.jni.access.JNIAccessFeature.newFields:Ljava/util/Map;
aload 4
iload 8
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 end local 4 10: iinc 5 1
StackMap locals: com.oracle.svm.jni.access.JNIAccessFeature$JNIRuntimeAccessibilitySupportImpl int int java.lang.reflect.Field[] top int int java.lang.reflect.Field[]
StackMap stack:
11: iload 5
iload 6
if_icmplt 5
12: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/svm/jni/access/JNIAccessFeature$JNIRuntimeAccessibilitySupportImpl;
0 13 1 finalIsWritable Z
0 13 2 allowUnsafeAccess Z
0 13 3 fields [Ljava/lang/reflect/Field;
6 10 4 field Ljava/lang/reflect/Field;
9 10 8 writable Z
MethodParameters:
Name Flags
finalIsWritable
allowUnsafeAccess
fields
}
SourceFile: "JNIAccessFeature.java"
NestHost: com.oracle.svm.jni.access.JNIAccessFeature
InnerClasses:
public abstract JNIRuntimeAccessibilitySupport = com.oracle.svm.core.jni.JNIRuntimeAccess$JNIRuntimeAccessibilitySupport of com.oracle.svm.core.jni.JNIRuntimeAccess
private JNIRuntimeAccessibilitySupportImpl = com.oracle.svm.jni.access.JNIAccessFeature$JNIRuntimeAccessibilitySupportImpl of com.oracle.svm.jni.access.JNIAccessFeature