class org.graalvm.compiler.replacements.classfile.ClassfileConstant$ExecutableRef extends org.graalvm.compiler.replacements.classfile.ClassfileConstant$MemberRef
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.replacements.classfile.ClassfileConstant$ExecutableRef
super_class: org.graalvm.compiler.replacements.classfile.ClassfileConstant$MemberRef
{
private jdk.vm.ci.meta.ResolvedJavaMethod method;
descriptor: Ljdk/vm/ci/meta/ResolvedJavaMethod;
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/replacements/classfile/ClassfileConstant;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.graalvm.compiler.replacements.classfile.ClassfileConstant$ExecutableRef.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(byte, java.io.DataInputStream);
descriptor: (BLjava/io/DataInputStream;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
aload 2
invokespecial org.graalvm.compiler.replacements.classfile.ClassfileConstant$MemberRef.<init>:(BLjava/io/DataInputStream;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/classfile/ClassfileConstant$ExecutableRef;
0 2 1 tag B
0 2 2 stream Ljava/io/DataInputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
tag
stream
jdk.vm.ci.meta.ResolvedJavaMethod resolve(org.graalvm.compiler.replacements.classfile.ClassfileConstantPool, int);
descriptor: (Lorg/graalvm/compiler/replacements/classfile/ClassfileConstantPool;I)Ljdk/vm/ci/meta/ResolvedJavaMethod;
flags: (0x0000)
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.graalvm.compiler.replacements.classfile.ClassfileConstant$ExecutableRef.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
ifnonnull 19
1: aload 1
ldc Lorg/graalvm/compiler/replacements/classfile/ClassfileConstant$ClassRef;
aload 0
getfield org.graalvm.compiler.replacements.classfile.ClassfileConstant$ExecutableRef.classIndex:I
invokevirtual org.graalvm.compiler.replacements.classfile.ClassfileConstantPool.get:(Ljava/lang/Class;I)Lorg/graalvm/compiler/replacements/classfile/ClassfileConstant;
checkcast org.graalvm.compiler.replacements.classfile.ClassfileConstant$ClassRef
aload 1
invokevirtual org.graalvm.compiler.replacements.classfile.ClassfileConstant$ClassRef.resolve:(Lorg/graalvm/compiler/replacements/classfile/ClassfileConstantPool;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 3
start local 3 2: aload 1
ldc Lorg/graalvm/compiler/replacements/classfile/ClassfileConstant$NameAndType;
aload 0
getfield org.graalvm.compiler.replacements.classfile.ClassfileConstant$ExecutableRef.nameAndTypeIndex:I
invokevirtual org.graalvm.compiler.replacements.classfile.ClassfileConstantPool.get:(Ljava/lang/Class;I)Lorg/graalvm/compiler/replacements/classfile/ClassfileConstant;
checkcast org.graalvm.compiler.replacements.classfile.ClassfileConstant$NameAndType
astore 4
start local 4 3: aload 4
aload 1
invokevirtual org.graalvm.compiler.replacements.classfile.ClassfileConstant$NameAndType.getName:(Lorg/graalvm/compiler/replacements/classfile/ClassfileConstantPool;)Ljava/lang/String;
astore 5
start local 5 4: aload 4
aload 1
invokevirtual org.graalvm.compiler.replacements.classfile.ClassfileConstant$NameAndType.getType:(Lorg/graalvm/compiler/replacements/classfile/ClassfileConstantPool;)Ljava/lang/String;
astore 6
start local 6 5: iload 2
sipush 185
if_icmpne 11
6: aload 0
aload 3
aload 5
aload 6
iconst_0
invokestatic org.graalvm.compiler.replacements.classfile.ClassfileConstant$ExecutableRef.resolveMethod:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/lang/String;Ljava/lang/String;Z)Ljdk/vm/ci/meta/ResolvedJavaMethod;
putfield org.graalvm.compiler.replacements.classfile.ClassfileConstant$ExecutableRef.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
7: aload 0
getfield org.graalvm.compiler.replacements.classfile.ClassfileConstant$ExecutableRef.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
ifnonnull 9
8: new java.lang.NoSuchMethodError
dup
new java.lang.StringBuilder
dup
aload 3
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NoSuchMethodError.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: org.graalvm.compiler.replacements.classfile.ClassfileConstant$ExecutableRef org.graalvm.compiler.replacements.classfile.ClassfileConstantPool int jdk.vm.ci.meta.ResolvedJavaType org.graalvm.compiler.replacements.classfile.ClassfileConstant$NameAndType java.lang.String java.lang.String
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.classfile.ClassfileConstant$ExecutableRef.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isPublic:()Z
ifeq 10
aload 0
getfield org.graalvm.compiler.replacements.classfile.ClassfileConstant$ExecutableRef.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isInterface:()Z
ifne 19
aload 0
getfield org.graalvm.compiler.replacements.classfile.ClassfileConstant$ExecutableRef.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isJavaLangObject:()Z
ifne 19
10: StackMap locals:
StackMap stack:
new java.lang.IncompatibleClassChangeError
dup
new java.lang.StringBuilder
dup
ldc "cannot invokeinterface "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.graalvm.compiler.replacements.classfile.ClassfileConstant$ExecutableRef.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
ldc "%H.%n(%P)%R"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IncompatibleClassChangeError.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
iload 2
sipush 182
if_icmpeq 12
iload 2
sipush 183
if_icmpne 15
12: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 5
aload 6
iconst_0
invokestatic org.graalvm.compiler.replacements.classfile.ClassfileConstant$ExecutableRef.resolveMethod:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/lang/String;Ljava/lang/String;Z)Ljdk/vm/ci/meta/ResolvedJavaMethod;
putfield org.graalvm.compiler.replacements.classfile.ClassfileConstant$ExecutableRef.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
13: aload 0
getfield org.graalvm.compiler.replacements.classfile.ClassfileConstant$ExecutableRef.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
ifnonnull 19
14: new java.lang.NoSuchMethodError
dup
new java.lang.StringBuilder
dup
aload 3
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NoSuchMethodError.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.classfile.ClassfileConstant$ExecutableRef.$assertionsDisabled:Z
ifne 16
iload 2
sipush 184
if_icmpeq 16
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
16: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 5
aload 6
iconst_1
invokestatic org.graalvm.compiler.replacements.classfile.ClassfileConstant$ExecutableRef.resolveMethod:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/lang/String;Ljava/lang/String;Z)Ljdk/vm/ci/meta/ResolvedJavaMethod;
putfield org.graalvm.compiler.replacements.classfile.ClassfileConstant$ExecutableRef.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
17: aload 0
getfield org.graalvm.compiler.replacements.classfile.ClassfileConstant$ExecutableRef.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
ifnonnull 19
18: new java.lang.NoSuchMethodError
dup
new java.lang.StringBuilder
dup
aload 3
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NoSuchMethodError.<init>:(Ljava/lang/String;)V
athrow
end local 6 end local 5 end local 4 end local 3 19: StackMap locals: org.graalvm.compiler.replacements.classfile.ClassfileConstant$ExecutableRef org.graalvm.compiler.replacements.classfile.ClassfileConstantPool int
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.classfile.ClassfileConstant$ExecutableRef.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/graalvm/compiler/replacements/classfile/ClassfileConstant$ExecutableRef;
0 20 1 cp Lorg/graalvm/compiler/replacements/classfile/ClassfileConstantPool;
0 20 2 opcode I
2 19 3 cls Ljdk/vm/ci/meta/ResolvedJavaType;
3 19 4 nameAndType Lorg/graalvm/compiler/replacements/classfile/ClassfileConstant$NameAndType;
4 19 5 name Ljava/lang/String;
5 19 6 type Ljava/lang/String;
MethodParameters:
Name Flags
cp
opcode
}
SourceFile: "ClassfileConstant.java"
NestHost: org.graalvm.compiler.replacements.classfile.ClassfileConstant
InnerClasses:
ClassRef = org.graalvm.compiler.replacements.classfile.ClassfileConstant$ClassRef of org.graalvm.compiler.replacements.classfile.ClassfileConstant
ExecutableRef = org.graalvm.compiler.replacements.classfile.ClassfileConstant$ExecutableRef of org.graalvm.compiler.replacements.classfile.ClassfileConstant
MemberRef = org.graalvm.compiler.replacements.classfile.ClassfileConstant$MemberRef of org.graalvm.compiler.replacements.classfile.ClassfileConstant
NameAndType = org.graalvm.compiler.replacements.classfile.ClassfileConstant$NameAndType of org.graalvm.compiler.replacements.classfile.ClassfileConstant