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 // org.jruby.ir.targets.ResolvedSuperInvokeSite this
        start local 1 // java.lang.invoke.MethodType type
        start local 2 // java.lang.String superName
        start local 3 // java.lang.String splatmapString
        start local 4 // java.lang.String file
        start local 5 // int line
         0: .line 34
            aload 0 /* this */
            aload 1 /* type */
            aload 2 /* superName */
            getstatic org.jruby.runtime.CallType.SUPER:Lorg/jruby/runtime/CallType;
            aload 4 /* file */
            iload 5 /* line */
            invokespecial org.jruby.ir.targets.SelfInvokeSite.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/String;Lorg/jruby/runtime/CallType;Ljava/lang/String;I)V
         1: .line 36
            aload 0 /* this */
            aload 2 /* superName */
            putfield org.jruby.ir.targets.ResolvedSuperInvokeSite.superName:Ljava/lang/String;
         2: .line 37
            aload 0 /* this */
            aload 3 /* splatmapString */
            invokestatic org.jruby.ir.runtime.IRRuntimeHelpers.decodeSplatmap:(Ljava/lang/String;)[Z
            putfield org.jruby.ir.targets.ResolvedSuperInvokeSite.splatMap:[Z
         3: .line 38
            return
        end local 5 // int line
        end local 4 // java.lang.String file
        end local 3 // java.lang.String splatmapString
        end local 2 // java.lang.String superName
        end local 1 // java.lang.invoke.MethodType type
        end local 0 // org.jruby.ir.targets.ResolvedSuperInvokeSite this
      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 // java.lang.invoke.MethodHandles$Lookup lookup
        start local 1 // java.lang.String name
        start local 2 // java.lang.invoke.MethodType type
        start local 3 // java.lang.String splatmapString
        start local 4 // java.lang.String file
        start local 5 // int line
         0: .line 41
            aload 1 /* name */
            ldc ":"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 6 /* targetAndMethod */
        start local 6 // java.lang.String[] targetAndMethod
         1: .line 42
            aload 6 /* targetAndMethod */
            iconst_1
            aaload
            invokestatic org.jruby.util.JavaNameMangler.demangleMethodName:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* superName */
        start local 7 // java.lang.String superName
         2: .line 46
            aload 6 /* targetAndMethod */
            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: .line 48
      StackMap locals:
      StackMap stack:
            new org.jruby.ir.targets.InstanceSuperInvokeSite
            dup
            aload 2 /* type */
            aload 7 /* superName */
            aload 3 /* splatmapString */
            aload 4 /* file */
            iload 5 /* line */
            invokespecial org.jruby.ir.targets.InstanceSuperInvokeSite.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
            astore 8 /* site */
        start local 8 // org.jruby.ir.targets.InvokeSite site
         6: .line 49
            goto 10
        end local 8 // org.jruby.ir.targets.InvokeSite site
         7: .line 51
      StackMap locals:
      StackMap stack:
            new org.jruby.ir.targets.ClassSuperInvokeSite
            dup
            aload 2 /* type */
            aload 7 /* superName */
            aload 3 /* splatmapString */
            aload 4 /* file */
            iload 5 /* line */
            invokespecial org.jruby.ir.targets.ClassSuperInvokeSite.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
            astore 8 /* site */
        start local 8 // org.jruby.ir.targets.InvokeSite site
         8: .line 52
            goto 10
        end local 8 // org.jruby.ir.targets.InvokeSite site
         9: .line 54
      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 /* name */
            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 // org.jruby.ir.targets.InvokeSite site
        10: .line 57
      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 /* site */
            aload 0 /* lookup */
            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 // org.jruby.ir.targets.InvokeSite site
        end local 7 // java.lang.String superName
        end local 6 // java.lang.String[] targetAndMethod
        end local 5 // int line
        end local 4 // java.lang.String file
        end local 3 // java.lang.String splatmapString
        end local 2 // java.lang.invoke.MethodType type
        end local 1 // java.lang.String name
        end local 0 // java.lang.invoke.MethodHandles$Lookup lookup
      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