public final class org.jruby.TopSelfFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.jruby.TopSelfFactory
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.TopSelfFactory this
         0: .line 51
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 52
            return
        end local 0 // org.jruby.TopSelfFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/TopSelfFactory;

  public static org.jruby.runtime.builtin.IRubyObject createTopSelf(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.Ruby runtime
         0: .line 55
            aload 0 /* runtime */
            iconst_0
            invokestatic org.jruby.TopSelfFactory.createTopSelf:(Lorg/jruby/Ruby;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
    MethodParameters:
         Name  Flags
      runtime  final

  public static org.jruby.runtime.builtin.IRubyObject createTopSelf(org.jruby.Ruby, boolean);
    descriptor: (Lorg/jruby/Ruby;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=5, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // boolean wrapper
         0: .line 59
            new org.jruby.RubyObject
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
            astore 2 /* topSelf */
        start local 2 // org.jruby.runtime.builtin.IRubyObject topSelf
         1: .line 61
            aload 2 /* topSelf */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getSingletonClass:()Lorg/jruby/RubyClass;
            astore 3 /* singletonClass */
        start local 3 // org.jruby.RubyClass singletonClass
         2: .line 63
            aload 3 /* singletonClass */
            ldc "to_s"
            new org.jruby.TopSelfFactory$1
            dup
            aload 3 /* singletonClass */
            getstatic org.jruby.runtime.Visibility.PUBLIC:Lorg/jruby/runtime/Visibility;
            ldc "to_s"
            aload 0 /* runtime */
            invokespecial org.jruby.TopSelfFactory$1.<init>:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;Ljava/lang/String;Lorg/jruby/Ruby;)V
            invokevirtual org.jruby.RubyClass.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
         3: .line 69
            aload 3 /* singletonClass */
            ldc "inspect"
            ldc "to_s"
            invokevirtual org.jruby.RubyClass.defineAlias:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 73
            aload 3 /* singletonClass */
            ldc "include"
            new org.jruby.TopSelfFactory$2
            dup
            aload 3 /* singletonClass */
            getstatic org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;
            ldc "include"
            invokespecial org.jruby.TopSelfFactory$2.<init>:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;Ljava/lang/String;)V
            invokevirtual org.jruby.RubyClass.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
         5: .line 80
            aload 3 /* singletonClass */
            ldc "public"
            new org.jruby.TopSelfFactory$3
            dup
            aload 3 /* singletonClass */
            getstatic org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;
            ldc "public"
            invokespecial org.jruby.TopSelfFactory$3.<init>:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;Ljava/lang/String;)V
            invokevirtual org.jruby.RubyClass.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
         6: .line 87
            aload 3 /* singletonClass */
            ldc "private"
            new org.jruby.TopSelfFactory$4
            dup
            aload 3 /* singletonClass */
            getstatic org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;
            ldc "private"
            invokespecial org.jruby.TopSelfFactory$4.<init>:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;Ljava/lang/String;)V
            invokevirtual org.jruby.RubyClass.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
         7: .line 94
            iload 1 /* wrapper */
            ifeq 8
            aload 3 /* singletonClass */
            goto 9
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.RubyClass
      StackMap stack:
         8: aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
      StackMap locals:
      StackMap stack: org.jruby.RubyClass
         9: astore 4 /* klass */
        start local 4 // org.jruby.RubyClass klass
        10: .line 95
            aload 3 /* singletonClass */
            ldc "define_method"
            new org.jruby.TopSelfFactory$5
            dup
            aload 3 /* singletonClass */
            getstatic org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;
            ldc "define_method"
            aload 4 /* klass */
            aload 3 /* singletonClass */
            invokespecial org.jruby.TopSelfFactory$5.<init>:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;Ljava/lang/String;Lorg/jruby/RubyClass;Lorg/jruby/RubyClass;)V
            invokevirtual org.jruby.RubyClass.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
        11: .line 109
            aload 3 /* singletonClass */
            ldc "using"
            new org.jruby.TopSelfFactory$6
            dup
            aload 3 /* singletonClass */
            getstatic org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;
            ldc "using"
            invokespecial org.jruby.TopSelfFactory$6.<init>:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;Ljava/lang/String;)V
            invokevirtual org.jruby.RubyClass.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
        12: .line 126
            aload 2 /* topSelf */
            areturn
        end local 4 // org.jruby.RubyClass klass
        end local 3 // org.jruby.RubyClass singletonClass
        end local 2 // org.jruby.runtime.builtin.IRubyObject topSelf
        end local 1 // boolean wrapper
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0         runtime  Lorg/jruby/Ruby;
            0   13     1         wrapper  Z
            1   13     2         topSelf  Lorg/jruby/runtime/builtin/IRubyObject;
            2   13     3  singletonClass  Lorg/jruby/RubyClass;
           10   13     4           klass  Lorg/jruby/RubyClass;
    MethodParameters:
         Name  Flags
      runtime  final
      wrapper  final

  private static void warnWrapper(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext context
         0: .line 130
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            ldc "main.define_method in the wrapped load is effective only in wrapper module"
            invokevirtual org.jruby.common.RubyWarnings.warning:(Ljava/lang/String;)V
         1: .line 131
            return
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  
}
SourceFile: "TopSelfFactory.java"
NestMembers:
  org.jruby.TopSelfFactory$1  org.jruby.TopSelfFactory$2  org.jruby.TopSelfFactory$3  org.jruby.TopSelfFactory$4  org.jruby.TopSelfFactory$5  org.jruby.TopSelfFactory$6
InnerClasses:
  org.jruby.TopSelfFactory$1
  org.jruby.TopSelfFactory$2
  org.jruby.TopSelfFactory$3
  org.jruby.TopSelfFactory$4
  org.jruby.TopSelfFactory$5
  org.jruby.TopSelfFactory$6