public abstract class org.jruby.ir.targets.ResolvedSuperInvokeSite extends org.jruby.ir.targets.SelfInvokeSite
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.jruby.ir.targets.ResolvedSuperInvokeSite
super_class: org.jruby.ir.targets.SelfInvokeSite
{
protected final java.lang.String superName;
descriptor: Ljava/lang/String;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final boolean[] splatMap;
descriptor: [Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
public void <init>(java.lang.invoke.MethodType, java.lang.String, java.lang.String, java.lang.String, int);
descriptor: (Ljava/lang/invoke/MethodType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
getstatic org.jruby.runtime.CallType.SUPER:Lorg/jruby/runtime/CallType;
aload 4
iload 5
invokespecial org.jruby.ir.targets.SelfInvokeSite.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/String;Lorg/jruby/runtime/CallType;Ljava/lang/String;I)V
1: aload 0
aload 2
putfield org.jruby.ir.targets.ResolvedSuperInvokeSite.superName:Ljava/lang/String;
2: aload 0
aload 3
invokestatic org.jruby.ir.runtime.IRRuntimeHelpers.decodeSplatmap:(Ljava/lang/String;)[Z
putfield org.jruby.ir.targets.ResolvedSuperInvokeSite.splatMap:[Z
3: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ir/targets/ResolvedSuperInvokeSite;
0 4 1 type Ljava/lang/invoke/MethodType;
0 4 2 superName Ljava/lang/String;
0 4 3 splatmapString Ljava/lang/String;
0 4 4 file Ljava/lang/String;
0 4 5 line I
MethodParameters:
Name Flags
type
superName
splatmapString
file
line
public static java.lang.invoke.CallSite bootstrap(java.lang.invoke.MethodHandles$Lookup, java.lang.String, java.lang.invoke.MethodType, java.lang.String, java.lang.String, int);
descriptor: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/invoke/CallSite;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
ldc ":"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 6
start local 6 1: aload 6
iconst_1
aaload
invokestatic org.jruby.util.JavaNameMangler.demangleMethodName:(Ljava/lang/String;)Ljava/lang/String;
astore 7
start local 7 2: aload 6
iconst_0
aaload
dup
astore 9
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 2
41741179: 3
1440902734: 4
default: 9
}
StackMap locals: java.lang.invoke.MethodHandles$Lookup java.lang.String java.lang.invoke.MethodType java.lang.String java.lang.String int java.lang.String[] java.lang.String top java.lang.String
StackMap stack:
3: aload 9
ldc "invokeClassSuper"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 7
goto 9
StackMap locals:
StackMap stack:
4: aload 9
ldc "invokeInstanceSuper"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 5
goto 9
5: StackMap locals:
StackMap stack:
new org.jruby.ir.targets.InstanceSuperInvokeSite
dup
aload 2
aload 7
aload 3
aload 4
iload 5
invokespecial org.jruby.ir.targets.InstanceSuperInvokeSite.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
astore 8
start local 8 6: goto 10
end local 8 7: StackMap locals:
StackMap stack:
new org.jruby.ir.targets.ClassSuperInvokeSite
dup
aload 2
aload 7
aload 3
aload 4
iload 5
invokespecial org.jruby.ir.targets.ClassSuperInvokeSite.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
astore 8
start local 8 8: goto 10
end local 8 9: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "invalid super call: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
start local 8 10: StackMap locals: java.lang.invoke.MethodHandles$Lookup java.lang.String java.lang.invoke.MethodType java.lang.String java.lang.String int java.lang.String[] java.lang.String org.jruby.ir.targets.InvokeSite
StackMap stack:
aload 8
aload 0
invokestatic org.jruby.ir.targets.InvokeSite.bootstrap:(Lorg/jruby/ir/targets/InvokeSite;Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/invoke/CallSite;
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 lookup Ljava/lang/invoke/MethodHandles$Lookup;
0 11 1 name Ljava/lang/String;
0 11 2 type Ljava/lang/invoke/MethodType;
0 11 3 splatmapString Ljava/lang/String;
0 11 4 file Ljava/lang/String;
0 11 5 line I
1 11 6 targetAndMethod [Ljava/lang/String;
2 11 7 superName Ljava/lang/String;
6 7 8 site Lorg/jruby/ir/targets/InvokeSite;
8 9 8 site Lorg/jruby/ir/targets/InvokeSite;
10 11 8 site Lorg/jruby/ir/targets/InvokeSite;
MethodParameters:
Name Flags
lookup
name
type
splatmapString
file
line
protected abstract org.jruby.RubyClass getSuperClass(org.jruby.RubyClass);
descriptor: (Lorg/jruby/RubyClass;)Lorg/jruby/RubyClass;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
definingModule
}
SourceFile: "ResolvedSuperInvokeSite.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles