public class org.jruby.embed.internal.EmbedRubyInterfaceAdapterImpl implements org.jruby.embed.EmbedRubyInterfaceAdapter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.embed.internal.EmbedRubyInterfaceAdapterImpl
  super_class: java.lang.Object
{
  private final org.jruby.embed.ScriptingContainer container;
    descriptor: Lorg/jruby/embed/ScriptingContainer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(org.jruby.embed.ScriptingContainer);
    descriptor: (Lorg/jruby/embed/ScriptingContainer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.embed.internal.EmbedRubyInterfaceAdapterImpl this
        start local 1 // org.jruby.embed.ScriptingContainer container
         0: .line 51
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 52
            aload 0 /* this */
            aload 1 /* container */
            putfield org.jruby.embed.internal.EmbedRubyInterfaceAdapterImpl.container:Lorg/jruby/embed/ScriptingContainer;
         2: .line 53
            return
        end local 1 // org.jruby.embed.ScriptingContainer container
        end local 0 // org.jruby.embed.internal.EmbedRubyInterfaceAdapterImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/jruby/embed/internal/EmbedRubyInterfaceAdapterImpl;
            0    3     1  container  Lorg/jruby/embed/ScriptingContainer;
    MethodParameters:
           Name  Flags
      container  

  public <T> T getInstance(, java.lang.Class<T>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // org.jruby.embed.internal.EmbedRubyInterfaceAdapterImpl this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.Class clazz
         0: .line 63
            aload 2 /* clazz */
            ifnull 1
            aload 2 /* clazz */
            invokevirtual java.lang.Class.isInterface:()Z
            ifne 2
         1: .line 64
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 66
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.embed.internal.EmbedRubyInterfaceAdapterImpl.container:Lorg/jruby/embed/ScriptingContainer;
            invokevirtual org.jruby.embed.ScriptingContainer.getProvider:()Lorg/jruby/embed/internal/LocalContextProvider;
            invokeinterface org.jruby.embed.internal.LocalContextProvider.getRuntime:()Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         3: .line 68
            aload 1 /* receiver */
            ifnull 4
            aload 1 /* receiver */
            instanceof org.jruby.RubyNil
            ifeq 6
         4: .line 69
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 3 /* runtime */
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getTopSelf:()Lorg/jruby/runtime/builtin/IRubyObject;
            aload 2 /* clazz */
            invokestatic org.jruby.javasupport.JavaEmbedUtils.rubyToJava:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/Class;)Ljava/lang/Object;
            astore 4 /* obj */
        start local 4 // java.lang.Object obj
         5: .line 70
            goto 11
        end local 4 // java.lang.Object obj
      StackMap locals:
      StackMap stack:
         6: aload 1 /* receiver */
            instanceof org.jruby.runtime.builtin.IRubyObject
            ifeq 9
         7: .line 71
            aload 3 /* runtime */
            aload 1 /* receiver */
            checkcast org.jruby.runtime.builtin.IRubyObject
            aload 2 /* clazz */
            invokestatic org.jruby.javasupport.JavaEmbedUtils.rubyToJava:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/Class;)Ljava/lang/Object;
            astore 4 /* obj */
        start local 4 // java.lang.Object obj
         8: .line 72
            goto 11
        end local 4 // java.lang.Object obj
         9: .line 73
      StackMap locals:
      StackMap stack:
            aload 3 /* runtime */
            aload 1 /* receiver */
            invokestatic org.jruby.javasupport.JavaUtil.convertJavaToRuby:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* rubyReceiver */
        start local 5 // org.jruby.runtime.builtin.IRubyObject rubyReceiver
        10: .line 74
            aload 3 /* runtime */
            aload 5 /* rubyReceiver */
            aload 2 /* clazz */
            invokestatic org.jruby.javasupport.JavaEmbedUtils.rubyToJava:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/Class;)Ljava/lang/Object;
            astore 4 /* obj */
        end local 5 // org.jruby.runtime.builtin.IRubyObject rubyReceiver
        start local 4 // java.lang.Object obj
        11: .line 76
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
        12: .line 77
            aload 4 /* obj */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 6 /* loader */
        start local 6 // java.lang.ClassLoader loader
        13: .line 80
            aload 5 /* name */
            iconst_1
            aload 6 /* loader */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 7 /* klass */
        start local 7 // java.lang.Class klass
        14: .line 81
            aload 7 /* klass */
            aload 4 /* obj */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
        15: areturn
        end local 7 // java.lang.Class klass
        16: .line 83
      StackMap locals: org.jruby.embed.internal.EmbedRubyInterfaceAdapterImpl java.lang.Object java.lang.Class org.jruby.Ruby java.lang.Object java.lang.String java.lang.ClassLoader
      StackMap stack: java.lang.ClassNotFoundException
            astore 7 /* e */
        start local 7 // java.lang.ClassNotFoundException e
        17: .line 84
            new org.jruby.embed.InvokeFailedException
            dup
            aload 7 /* e */
            invokespecial org.jruby.embed.InvokeFailedException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 7 // java.lang.ClassNotFoundException e
        end local 6 // java.lang.ClassLoader loader
        end local 5 // java.lang.String name
        end local 4 // java.lang.Object obj
        end local 3 // org.jruby.Ruby runtime
        end local 2 // java.lang.Class clazz
        end local 1 // java.lang.Object receiver
        end local 0 // org.jruby.embed.internal.EmbedRubyInterfaceAdapterImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   18     0          this  Lorg/jruby/embed/internal/EmbedRubyInterfaceAdapterImpl;
            0   18     1      receiver  Ljava/lang/Object;
            0   18     2         clazz  Ljava/lang/Class<TT;>;
            3   18     3       runtime  Lorg/jruby/Ruby;
            5    6     4           obj  Ljava/lang/Object;
            8    9     4           obj  Ljava/lang/Object;
           11   18     4           obj  Ljava/lang/Object;
           10   11     5  rubyReceiver  Lorg/jruby/runtime/builtin/IRubyObject;
           12   18     5          name  Ljava/lang/String;
           13   18     6        loader  Ljava/lang/ClassLoader;
           14   16     7         klass  Ljava/lang/Class<TT;>;
           17   18     7             e  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
          13    15      16  Class java.lang.ClassNotFoundException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
          Name  Flags
      receiver  
      clazz     
}
SourceFile: "EmbedRubyInterfaceAdapterImpl.java"