class org.graalvm.compiler.jtt.except.UntrustedInterfaces$PoisonLoader extends org.graalvm.compiler.test.ExportingClassLoader
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.jtt.except.UntrustedInterfaces$PoisonLoader
super_class: org.graalvm.compiler.test.ExportingClassLoader
{
public static final java.lang.String POISON_IMPL_NAME;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "org.graalvm.compiler.jtt.except.PoisonPill"
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 // org.graalvm.compiler.jtt.except.UntrustedInterfaces$PoisonLoader this
0: .line 220
aload 0 /* this */
invokespecial org.graalvm.compiler.test.ExportingClassLoader.<init>:()V
return
end local 0 // org.graalvm.compiler.jtt.except.UntrustedInterfaces$PoisonLoader this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/jtt/except/UntrustedInterfaces$PoisonLoader;
protected java.lang.Class<?> findClass(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=9, args_size=2
start local 0 // org.graalvm.compiler.jtt.except.UntrustedInterfaces$PoisonLoader this
start local 1 // java.lang.String name
0: .line 225
aload 1 /* name */
ldc "org.graalvm.compiler.jtt.except.PoisonPill"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 50
1: .line 226
new jdk.internal.org.objectweb.asm.ClassWriter
dup
iconst_3
invokespecial jdk.internal.org.objectweb.asm.ClassWriter.<init>:(I)V
astore 2 /* cw */
start local 2 // jdk.internal.org.objectweb.asm.ClassWriter cw
2: .line 228
aload 2 /* cw */
bipush 52
iconst_1
ldc "org.graalvm.compiler.jtt.except.PoisonPill"
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
aconst_null
ldc Lorg/graalvm/compiler/jtt/except/UntrustedInterfaces$Pill;
invokestatic jdk.internal.org.objectweb.asm.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
aconst_null
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visit:(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
3: .line 230
aload 2 /* cw */
iconst_1
ldc "<init>"
ldc "()V"
aconst_null
aconst_null
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
astore 3 /* constructor */
start local 3 // jdk.internal.org.objectweb.asm.MethodVisitor constructor
4: .line 231
aload 3 /* constructor */
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
5: .line 232
aload 3 /* constructor */
bipush 25
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
6: .line 233
aload 3 /* constructor */
sipush 183
ldc Lorg/graalvm/compiler/jtt/except/UntrustedInterfaces$Pill;
invokestatic jdk.internal.org.objectweb.asm.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
ldc "<init>"
ldc "()V"
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
7: .line 234
aload 3 /* constructor */
sipush 177
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
8: .line 235
aload 3 /* constructor */
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
9: .line 236
aload 3 /* constructor */
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
10: .line 238
aload 2 /* cw */
iconst_1
ldc "setField"
ldc "()V"
aconst_null
aconst_null
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
astore 4 /* setList */
start local 4 // jdk.internal.org.objectweb.asm.MethodVisitor setList
11: .line 239
aload 4 /* setList */
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
12: .line 240
aload 4 /* setList */
bipush 25
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
13: .line 241
aload 4 /* setList */
sipush 187
ldc Ljava/lang/Object;
invokestatic jdk.internal.org.objectweb.asm.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
14: .line 242
aload 4 /* setList */
bipush 89
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
15: .line 243
aload 4 /* setList */
sipush 183
ldc Ljava/lang/Object;
invokestatic jdk.internal.org.objectweb.asm.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
ldc "<init>"
ldc "()V"
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
16: .line 244
aload 4 /* setList */
sipush 181
ldc Lorg/graalvm/compiler/jtt/except/UntrustedInterfaces$Pill;
invokestatic jdk.internal.org.objectweb.asm.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
ldc "field"
ldc Lorg/graalvm/compiler/jtt/except/UntrustedInterfaces$TestInterface;
invokestatic jdk.internal.org.objectweb.asm.Type.getDescriptor:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
17: .line 245
aload 4 /* setList */
sipush 177
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
18: .line 246
aload 4 /* setList */
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
19: .line 247
aload 4 /* setList */
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
20: .line 249
aload 2 /* cw */
iconst_1
ldc "setStaticField"
ldc "()V"
aconst_null
aconst_null
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
astore 5 /* setStaticList */
start local 5 // jdk.internal.org.objectweb.asm.MethodVisitor setStaticList
21: .line 250
aload 5 /* setStaticList */
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
22: .line 251
aload 5 /* setStaticList */
sipush 187
ldc Ljava/lang/Object;
invokestatic jdk.internal.org.objectweb.asm.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
23: .line 252
aload 5 /* setStaticList */
bipush 89
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
24: .line 253
aload 5 /* setStaticList */
sipush 183
ldc Ljava/lang/Object;
invokestatic jdk.internal.org.objectweb.asm.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
ldc "<init>"
ldc "()V"
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
25: .line 254
aload 5 /* setStaticList */
sipush 179
ldc Lorg/graalvm/compiler/jtt/except/UntrustedInterfaces$Pill;
invokestatic jdk.internal.org.objectweb.asm.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
ldc "staticField"
ldc Lorg/graalvm/compiler/jtt/except/UntrustedInterfaces$TestInterface;
invokestatic jdk.internal.org.objectweb.asm.Type.getDescriptor:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
26: .line 255
aload 5 /* setStaticList */
sipush 177
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
27: .line 256
aload 5 /* setStaticList */
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
28: .line 257
aload 5 /* setStaticList */
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
29: .line 259
aload 2 /* cw */
iconst_1
ldc "callMe"
getstatic jdk.internal.org.objectweb.asm.Type.INT_TYPE:Ljdk/internal/org/objectweb/asm/Type;
iconst_1
anewarray jdk.internal.org.objectweb.asm.Type
dup
iconst_0
ldc Lorg/graalvm/compiler/jtt/except/UntrustedInterfaces$CallBack;
invokestatic jdk.internal.org.objectweb.asm.Type.getType:(Ljava/lang/Class;)Ljdk/internal/org/objectweb/asm/Type;
aastore
invokestatic jdk.internal.org.objectweb.asm.Type.getMethodDescriptor:(Ljdk/internal/org/objectweb/asm/Type;[Ljdk/internal/org/objectweb/asm/Type;)Ljava/lang/String;
aconst_null
aconst_null
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
astore 6 /* callMe */
start local 6 // jdk.internal.org.objectweb.asm.MethodVisitor callMe
30: .line 260
aload 6 /* callMe */
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
31: .line 261
aload 6 /* callMe */
bipush 25
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
32: .line 262
aload 6 /* callMe */
sipush 187
ldc Ljava/lang/Object;
invokestatic jdk.internal.org.objectweb.asm.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
33: .line 263
aload 6 /* callMe */
bipush 89
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
34: .line 264
aload 6 /* callMe */
sipush 183
ldc Ljava/lang/Object;
invokestatic jdk.internal.org.objectweb.asm.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
ldc "<init>"
ldc "()V"
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
35: .line 265
aload 6 /* callMe */
sipush 185
ldc Lorg/graalvm/compiler/jtt/except/UntrustedInterfaces$CallBack;
invokestatic jdk.internal.org.objectweb.asm.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
ldc "callBack"
getstatic jdk.internal.org.objectweb.asm.Type.INT_TYPE:Ljdk/internal/org/objectweb/asm/Type;
iconst_1
anewarray jdk.internal.org.objectweb.asm.Type
dup
iconst_0
ldc Lorg/graalvm/compiler/jtt/except/UntrustedInterfaces$TestInterface;
invokestatic jdk.internal.org.objectweb.asm.Type.getType:(Ljava/lang/Class;)Ljdk/internal/org/objectweb/asm/Type;
aastore
invokestatic jdk.internal.org.objectweb.asm.Type.getMethodDescriptor:(Ljdk/internal/org/objectweb/asm/Type;[Ljdk/internal/org/objectweb/asm/Type;)Ljava/lang/String;
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
36: .line 266
aload 6 /* callMe */
sipush 172
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
37: .line 267
aload 6 /* callMe */
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
38: .line 268
aload 6 /* callMe */
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
39: .line 270
aload 2 /* cw */
iconst_1
ldc "get"
ldc Lorg/graalvm/compiler/jtt/except/UntrustedInterfaces$TestInterface;
invokestatic jdk.internal.org.objectweb.asm.Type.getType:(Ljava/lang/Class;)Ljdk/internal/org/objectweb/asm/Type;
iconst_0
anewarray jdk.internal.org.objectweb.asm.Type
invokestatic jdk.internal.org.objectweb.asm.Type.getMethodDescriptor:(Ljdk/internal/org/objectweb/asm/Type;[Ljdk/internal/org/objectweb/asm/Type;)Ljava/lang/String;
aconst_null
aconst_null
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
astore 7 /* getList */
start local 7 // jdk.internal.org.objectweb.asm.MethodVisitor getList
40: .line 271
aload 7 /* getList */
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
41: .line 272
aload 7 /* getList */
sipush 187
ldc Ljava/lang/Object;
invokestatic jdk.internal.org.objectweb.asm.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
42: .line 273
aload 7 /* getList */
bipush 89
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
43: .line 274
aload 7 /* getList */
sipush 183
ldc Ljava/lang/Object;
invokestatic jdk.internal.org.objectweb.asm.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
ldc "<init>"
ldc "()V"
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
44: .line 275
aload 7 /* getList */
sipush 176
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
45: .line 276
aload 7 /* getList */
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
46: .line 277
aload 7 /* getList */
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
47: .line 279
aload 2 /* cw */
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitEnd:()V
48: .line 281
aload 2 /* cw */
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.toByteArray:()[B
astore 8 /* bytes */
start local 8 // byte[] bytes
49: .line 282
aload 0 /* this */
aload 1 /* name */
aload 8 /* bytes */
iconst_0
aload 8 /* bytes */
arraylength
invokevirtual org.graalvm.compiler.jtt.except.UntrustedInterfaces$PoisonLoader.defineClass:(Ljava/lang/String;[BII)Ljava/lang/Class;
areturn
end local 8 // byte[] bytes
end local 7 // jdk.internal.org.objectweb.asm.MethodVisitor getList
end local 6 // jdk.internal.org.objectweb.asm.MethodVisitor callMe
end local 5 // jdk.internal.org.objectweb.asm.MethodVisitor setStaticList
end local 4 // jdk.internal.org.objectweb.asm.MethodVisitor setList
end local 3 // jdk.internal.org.objectweb.asm.MethodVisitor constructor
end local 2 // jdk.internal.org.objectweb.asm.ClassWriter cw
50: .line 284
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* name */
invokespecial org.graalvm.compiler.test.ExportingClassLoader.findClass:(Ljava/lang/String;)Ljava/lang/Class;
areturn
end local 1 // java.lang.String name
end local 0 // org.graalvm.compiler.jtt.except.UntrustedInterfaces$PoisonLoader this
LocalVariableTable:
Start End Slot Name Signature
0 51 0 this Lorg/graalvm/compiler/jtt/except/UntrustedInterfaces$PoisonLoader;
0 51 1 name Ljava/lang/String;
2 50 2 cw Ljdk/internal/org/objectweb/asm/ClassWriter;
4 50 3 constructor Ljdk/internal/org/objectweb/asm/MethodVisitor;
11 50 4 setList Ljdk/internal/org/objectweb/asm/MethodVisitor;
21 50 5 setStaticList Ljdk/internal/org/objectweb/asm/MethodVisitor;
30 50 6 callMe Ljdk/internal/org/objectweb/asm/MethodVisitor;
40 50 7 getList Ljdk/internal/org/objectweb/asm/MethodVisitor;
49 50 8 bytes [B
Exceptions:
throws java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name
}
SourceFile: "UntrustedInterfaces.java"
NestHost: org.graalvm.compiler.jtt.except.UntrustedInterfaces
InnerClasses:
public abstract CallBack = org.graalvm.compiler.jtt.except.UntrustedInterfaces$CallBack of org.graalvm.compiler.jtt.except.UntrustedInterfaces
public abstract Pill = org.graalvm.compiler.jtt.except.UntrustedInterfaces$Pill of org.graalvm.compiler.jtt.except.UntrustedInterfaces
private PoisonLoader = org.graalvm.compiler.jtt.except.UntrustedInterfaces$PoisonLoader of org.graalvm.compiler.jtt.except.UntrustedInterfaces
private abstract TestInterface = org.graalvm.compiler.jtt.except.UntrustedInterfaces$TestInterface of org.graalvm.compiler.jtt.except.UntrustedInterfaces