public class org.jruby.RubyModule extends org.jruby.RubyObject
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.RubyModule
  super_class: org.jruby.RubyObject
{
  private static final org.jruby.util.log.Logger LOG;
    descriptor: Lorg/jruby/util/log/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final int CACHEPROXY_F;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final int NEEDSIMPL_F;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final int REFINED_MODULE_F;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final int IS_OVERLAID_F;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final int OMOD_SHARED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final int INCLUDED_INTO_REFINEMENT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.jruby.runtime.ObjectAllocator MODULE_ALLOCATOR;
    descriptor: Lorg/jruby/runtime/ObjectAllocator;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  protected static final org.jruby.RubyModule$CacheEntryFactory NormalCacheEntryFactory;
    descriptor: Lorg/jruby/RubyModule$CacheEntryFactory;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  private volatile org.jruby.RubyModule$CacheEntryFactory cacheEntryFactory;
    descriptor: Lorg/jruby/RubyModule$CacheEntryFactory;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  public org.jruby.RubyModule$KindOf kindOf;
    descriptor: Lorg/jruby/RubyModule$KindOf;
    flags: (0x0001) ACC_PUBLIC

  public final int id;
    descriptor: I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  private java.lang.invoke.MethodHandle idTest;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE

  public org.jruby.RubyModule parent;
    descriptor: Lorg/jruby/RubyModule;
    flags: (0x0001) ACC_PUBLIC

  protected java.lang.String baseName;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  private transient java.lang.String cachedName;
    descriptor: Ljava/lang/String;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient org.jruby.RubyString cachedRubyName;
    descriptor: Lorg/jruby/RubyString;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private volatile java.util.Map<java.lang.String, org.jruby.RubyModule$ConstantEntry> constants;
    descriptor: Ljava/util/Map;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/jruby/RubyModule$ConstantEntry;>;

  private volatile java.util.Map<java.lang.String, org.jruby.RubyModule$Autoload> autoloads;
    descriptor: Ljava/util/Map;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/jruby/RubyModule$Autoload;>;

  protected volatile java.util.Map<java.lang.String, org.jruby.internal.runtime.methods.DynamicMethod> methods;
    descriptor: Ljava/util/Map;
    flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;>;

  protected java.util.Map<java.lang.String, org.jruby.runtime.callsite.CacheEntry> cachedMethods;
    descriptor: Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/jruby/runtime/callsite/CacheEntry;>;

  protected int generation;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.Integer generationObject;
    descriptor: Ljava/lang/Integer;
    flags: (0x0004) ACC_PROTECTED

  protected volatile java.util.Set<org.jruby.RubyClass> includingHierarchies;
    descriptor: Ljava/util/Set;
    flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE
    Signature: Ljava/util/Set<Lorg/jruby/RubyClass;>;

  protected volatile org.jruby.RubyModule methodLocation;
    descriptor: Lorg/jruby/RubyModule;
    flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE

  private volatile transient java.util.Set<org.jruby.util.ClassProvider> classProviders;
    descriptor: Ljava/util/Set;
    flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT
    Signature: Ljava/util/Set<Lorg/jruby/util/ClassProvider;>;

  protected org.jruby.RubyClass superClass;
    descriptor: Lorg/jruby/RubyClass;
    flags: (0x0004) ACC_PROTECTED

  public int index;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final java.util.Set<java.lang.String> SCOPE_CAPTURING_METHODS;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  protected org.jruby.runtime.ClassIndex classIndex;
    descriptor: Lorg/jruby/runtime/ClassIndex;
    flags: (0x0004) ACC_PROTECTED

  private volatile java.util.Map<java.lang.String, org.jruby.runtime.builtin.IRubyObject> classVariables;
    descriptor: Ljava/util/Map;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;>;

  private volatile java.util.Map<org.jruby.RubyModule, org.jruby.RubyModule> refinements;
    descriptor: Ljava/util/Map;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    Signature: Ljava/util/Map<Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;>;

  private volatile java.util.Map<org.jruby.RubyModule, org.jruby.IncludedModule> activatedRefinements;
    descriptor: Ljava/util/Map;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    Signature: Ljava/util/Map<Lorg/jruby/RubyModule;Lorg/jruby/IncludedModule;>;

  volatile org.jruby.RubyModule refinedClass;
    descriptor: Lorg/jruby/RubyModule;
    flags: (0x0040) ACC_VOLATILE

  private volatile org.jruby.RubyModule definedAt;
    descriptor: Lorg/jruby/RubyModule;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<org.jruby.RubyModule, java.util.Map> CLASSVARS_UPDATER;
    descriptor: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<Lorg/jruby/RubyModule;Ljava/util/Map;>;

  protected final org.jruby.runtime.opto.Invalidator methodInvalidator;
    descriptor: Lorg/jruby/runtime/opto/Invalidator;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private boolean javaProxy;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private static final java.lang.invoke.MethodHandles$Lookup LOOKUP;
    descriptor: Ljava/lang/invoke/MethodHandles$Lookup;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle testModuleMatch;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  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=6, locals=2, args_size=0
         0: .line 148
            ldc Lorg/jruby/RubyModule;
            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.jruby.RubyModule.$assertionsDisabled:Z
         3: .line 150
            ldc Lorg/jruby/RubyModule;
            invokestatic org.jruby.util.log.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/jruby/util/log/Logger;
            putstatic org.jruby.RubyModule.LOG:Lorg/jruby/util/log/Logger;
         4: .line 153
            getstatic org.jruby.ObjectFlags.CACHEPROXY_F:I
            putstatic org.jruby.RubyModule.CACHEPROXY_F:I
         5: .line 154
            getstatic org.jruby.ObjectFlags.NEEDSIMPL_F:I
            putstatic org.jruby.RubyModule.NEEDSIMPL_F:I
         6: .line 155
            getstatic org.jruby.ObjectFlags.REFINED_MODULE_F:I
            putstatic org.jruby.RubyModule.REFINED_MODULE_F:I
         7: .line 156
            getstatic org.jruby.ObjectFlags.IS_OVERLAID_F:I
            putstatic org.jruby.RubyModule.IS_OVERLAID_F:I
         8: .line 157
            getstatic org.jruby.ObjectFlags.OMOD_SHARED:I
            putstatic org.jruby.RubyModule.OMOD_SHARED:I
         9: .line 158
            getstatic org.jruby.ObjectFlags.INCLUDED_INTO_REFINEMENT:I
            putstatic org.jruby.RubyModule.INCLUDED_INTO_REFINEMENT:I
        10: .line 160
            new org.jruby.RubyModule$1
            dup
            invokespecial org.jruby.RubyModule$1.<init>:()V
            putstatic org.jruby.RubyModule.MODULE_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
        11: .line 1672
            new org.jruby.RubyModule$2
            dup
            invokespecial org.jruby.RubyModule$2.<init>:()V
            putstatic org.jruby.RubyModule.NormalCacheEntryFactory:Lorg/jruby/RubyModule$CacheEntryFactory;
        12: .line 5165
            new java.util.HashSet
            dup
            bipush 9
            anewarray java.lang.String
            dup
            iconst_0
        13: .line 5166
            ldc "eval"
            aastore
            dup
            iconst_1
        14: .line 5167
            ldc "module_eval"
            aastore
            dup
            iconst_2
        15: .line 5168
            ldc "class_eval"
            aastore
            dup
            iconst_3
        16: .line 5169
            ldc "instance_eval"
            aastore
            dup
            iconst_4
        17: .line 5170
            ldc "module_exec"
            aastore
            dup
            iconst_5
        18: .line 5171
            ldc "class_exec"
            aastore
            dup
            bipush 6
        19: .line 5172
            ldc "instance_exec"
            aastore
            dup
            bipush 7
        20: .line 5173
            ldc "binding"
            aastore
            dup
            bipush 8
        21: .line 5174
            ldc "local_variables"
            aastore
        22: .line 5165
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            putstatic org.jruby.RubyModule.SCOPE_CAPTURING_METHODS:Ljava/util/Set;
        23: .line 5196
            aconst_null
            astore 0 /* updater */
        start local 0 // java.util.concurrent.atomic.AtomicReferenceFieldUpdater updater
        24: .line 5198
            ldc Lorg/jruby/RubyModule;
            ldc Ljava/util/Map;
            ldc "classVariables"
            invokestatic java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
            astore 0 /* updater */
        25: .line 5199
            goto 29
        26: .line 5200
      StackMap locals: java.util.concurrent.atomic.AtomicReferenceFieldUpdater
      StackMap stack: java.lang.RuntimeException
            astore 1 /* ex */
        start local 1 // java.lang.RuntimeException ex
        27: .line 5201
            aload 1 /* ex */
            invokevirtual java.lang.RuntimeException.getCause:()Ljava/lang/Throwable;
            instanceof java.security.AccessControlException
            ifne 29
        28: .line 5205
            aload 1 /* ex */
            athrow
        end local 1 // java.lang.RuntimeException ex
        29: .line 5208
      StackMap locals:
      StackMap stack:
            aload 0 /* updater */
            putstatic org.jruby.RubyModule.CLASSVARS_UPDATER:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
        end local 0 // java.util.concurrent.atomic.AtomicReferenceFieldUpdater updater
        30: .line 5217
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            putstatic org.jruby.RubyModule.LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
        31: .line 5223
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            ldc Lorg/jruby/runtime/ThreadContext;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokestatic com.headius.invokebinder.Binder.from:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Lcom/headius/invokebinder/Binder;
        32: .line 5224
            getstatic org.jruby.RubyModule.LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Lorg/jruby/ir/targets/Bootstrap;
            ldc "testModuleMatch"
            invokevirtual com.headius.invokebinder.Binder.invokeStaticQuiet:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/invoke/MethodHandle;
        33: .line 5222
            putstatic org.jruby.RubyModule.testModuleMatch:Ljava/lang/invoke/MethodHandle;
        34: .line 5224
            return
      LocalVariableTable:
        Start  End  Slot     Name  Signature
           24   30     0  updater  Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<Lorg/jruby/RubyModule;Ljava/util/Map;>;
           27   29     1       ex  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
          24    25      26  Class java.lang.RuntimeException

  public static org.jruby.RubyClass createModuleClass(org.jruby.Ruby, org.jruby.RubyClass);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)Lorg/jruby/RubyClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyClass moduleClass
         0: .line 168
            aload 1 /* moduleClass */
            getstatic org.jruby.runtime.ClassIndex.MODULE:Lorg/jruby/runtime/ClassIndex;
            invokevirtual org.jruby.RubyClass.setClassIndex:(Lorg/jruby/runtime/ClassIndex;)V
         1: .line 169
            aload 1 /* moduleClass */
            ldc Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyClass.setReifiedClass:(Ljava/lang/Class;)V
         2: .line 170
            aload 1 /* moduleClass */
            new org.jruby.RubyModule$JavaClassKindOf
            dup
            ldc Lorg/jruby/RubyModule;
            invokespecial org.jruby.RubyModule$JavaClassKindOf.<init>:(Ljava/lang/Class;)V
            putfield org.jruby.RubyClass.kindOf:Lorg/jruby/RubyModule$KindOf;
         3: .line 172
            aload 1 /* moduleClass */
            ldc Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
         4: .line 173
            aload 1 /* moduleClass */
            ldc Lorg/jruby/RubyModule$ModuleKernelMethods;
            invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
         5: .line 175
            aload 1 /* moduleClass */
            areturn
        end local 1 // org.jruby.RubyClass moduleClass
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0      runtime  Lorg/jruby/Ruby;
            0    6     1  moduleClass  Lorg/jruby/RubyClass;
    MethodParameters:
             Name  Flags
      runtime      
      moduleClass  

  public void checkValidBindTargetFrom(org.jruby.runtime.ThreadContext, org.jruby.RubyModule);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyModule originModule
         0: .line 180
            aload 2 /* originModule */
            invokevirtual org.jruby.RubyModule.isModule:()Z
            ifne 4
            aload 0 /* this */
            aload 2 /* originModule */
            invokevirtual org.jruby.RubyModule.hasModuleInHierarchy:(Lorg/jruby/RubyModule;)Z
            ifne 4
         1: .line 181
            aload 2 /* originModule */
            instanceof org.jruby.MetaClass
            ifeq 3
         2: .line 182
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "can't bind singleton method to a different class"
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 184
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "bind argument must be an instance of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* originModule */
            invokevirtual org.jruby.RubyModule.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 187
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.jruby.RubyModule originModule
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/jruby/RubyModule;
            0    5     1       context  Lorg/jruby/runtime/ThreadContext;
            0    5     2  originModule  Lorg/jruby/RubyModule;
    Exceptions:
      throws org.jruby.exceptions.RaiseException
    MethodParameters:
              Name  Flags
      context       
      originModule  

  public org.jruby.runtime.ClassIndex getClassIndex();
    descriptor: ()Lorg/jruby/runtime/ClassIndex;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 193
            aload 0 /* this */
            getfield org.jruby.RubyModule.classIndex:Lorg/jruby/runtime/ClassIndex;
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;

  void setClassIndex(org.jruby.runtime.ClassIndex);
    descriptor: (Lorg/jruby/runtime/ClassIndex;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ClassIndex classIndex
         0: .line 204
            aload 0 /* this */
            aload 1 /* classIndex */
            putfield org.jruby.RubyModule.classIndex:Lorg/jruby/runtime/ClassIndex;
         1: .line 205
            aload 0 /* this */
            aload 1 /* classIndex */
            invokevirtual org.jruby.runtime.ClassIndex.ordinal:()I
            putfield org.jruby.RubyModule.index:I
         2: .line 206
            return
        end local 1 // org.jruby.runtime.ClassIndex classIndex
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/jruby/RubyModule;
            0    3     1  classIndex  Lorg/jruby/runtime/ClassIndex;
    MethodParameters:
            Name  Flags
      classIndex  

  public org.jruby.runtime.ClassIndex getNativeClassIndex();
    descriptor: ()Lorg/jruby/runtime/ClassIndex;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 246
            getstatic org.jruby.runtime.ClassIndex.MODULE:Lorg/jruby/runtime/ClassIndex;
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;

  public boolean isModule();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 251
            iconst_1
            ireturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;

  public boolean isClass();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 256
            iconst_0
            ireturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;

  public boolean isSingleton();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 260
            iconst_0
            ireturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;

  public boolean isInstance(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject object
         0: .line 286
            aload 0 /* this */
            getfield org.jruby.RubyModule.kindOf:Lorg/jruby/RubyModule$KindOf;
            aload 1 /* object */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule$KindOf.isKindOf:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;)Z
            ireturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject object
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/jruby/RubyModule;
            0    1     1  object  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
        Name  Flags
      object  

  public java.util.Map<java.lang.String, org.jruby.RubyModule$ConstantEntry> getConstantMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 290
            aload 0 /* this */
            getfield org.jruby.RubyModule.constants:Ljava/util/Map;
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/jruby/RubyModule$ConstantEntry;>;

  public synchronized java.util.Map<java.lang.String, org.jruby.RubyModule$ConstantEntry> getConstantMapForWrite();
    descriptor: ()Ljava/util/Map;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 294
            aload 0 /* this */
            getfield org.jruby.RubyModule.constants:Ljava/util/Map;
            getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
            if_acmpne 1
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            iconst_4
            ldc 0.9
            iconst_1
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(IFI)V
            dup_x1
            putfield org.jruby.RubyModule.constants:Ljava/util/Map;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.jruby.RubyModule.constants:Ljava/util/Map;
      StackMap locals:
      StackMap stack: java.util.Map
         2: areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyModule;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/jruby/RubyModule$ConstantEntry;>;

  private java.util.Map<java.lang.String, org.jruby.RubyModule$Autoload> getAutoloadMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 303
            aload 0 /* this */
            getfield org.jruby.RubyModule.autoloads:Ljava/util/Map;
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/jruby/RubyModule$Autoload;>;

  private synchronized java.util.Map<java.lang.String, org.jruby.RubyModule$Autoload> getAutoloadMapForWrite();
    descriptor: ()Ljava/util/Map;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 307
            aload 0 /* this */
            getfield org.jruby.RubyModule.autoloads:Ljava/util/Map;
            getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
            if_acmpne 1
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            iconst_4
            ldc 0.9
            iconst_1
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(IFI)V
            dup_x1
            putfield org.jruby.RubyModule.autoloads:Ljava/util/Map;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.jruby.RubyModule.autoloads:Ljava/util/Map;
      StackMap locals:
      StackMap stack: java.util.Map
         2: areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyModule;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/jruby/RubyModule$Autoload;>;

  public void addIncludingHierarchy(org.jruby.IncludedModule);
    descriptor: (Lorg/jruby/IncludedModule;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.IncludedModule hierarchy
         0: .line 312
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getHierarchyLock:()Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 313
            aload 0 /* this */
            getfield org.jruby.RubyModule.includingHierarchies:Ljava/util/Set;
            astore 3 /* including */
        start local 3 // java.util.Set including
         2: .line 314
            aload 3 /* including */
            getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
            if_acmpne 4
         3: .line 315
            aload 0 /* this */
            new org.jruby.util.collections.WeakHashSet
            dup
            iconst_4
            invokespecial org.jruby.util.collections.WeakHashSet.<init>:(I)V
            dup_x1
            putfield org.jruby.RubyModule.includingHierarchies:Ljava/util/Set;
            astore 3 /* including */
         4: .line 317
      StackMap locals: java.lang.Object java.util.Set
      StackMap stack:
            aload 3 /* including */
            aload 1 /* hierarchy */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.util.Set including
         5: .line 312
            aload 2
            monitorexit
         6: goto 9
      StackMap locals: org.jruby.RubyModule org.jruby.IncludedModule java.lang.Object
      StackMap stack: java.lang.Throwable
         7: aload 2
            monitorexit
         8: athrow
         9: .line 319
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.jruby.IncludedModule hierarchy
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lorg/jruby/RubyModule;
            0   10     1  hierarchy  Lorg/jruby/IncludedModule;
            2    5     3  including  Ljava/util/Set<Lorg/jruby/RubyClass;>;
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any
    MethodParameters:
           Name  Flags
      hierarchy  

  public final java.lang.invoke.MethodHandle getIdTest();
    descriptor: ()Ljava/lang/invoke/MethodHandle;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 322
            aload 0 /* this */
            getfield org.jruby.RubyModule.idTest:Ljava/lang/invoke/MethodHandle;
            astore 1 /* idTest */
        start local 1 // java.lang.invoke.MethodHandle idTest
         1: .line 323
            aload 1 /* idTest */
            ifnull 2
            aload 1 /* idTest */
            areturn
         2: .line 324
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.newIdTest:()Ljava/lang/invoke/MethodHandle;
            dup_x1
            putfield org.jruby.RubyModule.idTest:Ljava/lang/invoke/MethodHandle;
            areturn
        end local 1 // java.lang.invoke.MethodHandle idTest
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/jruby/RubyModule;
            1    3     1  idTest  Ljava/lang/invoke/MethodHandle;

  protected final java.lang.invoke.MethodHandle newIdTest();
    descriptor: ()Ljava/lang/invoke/MethodHandle;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 328
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            ldc Lorg/jruby/runtime/ThreadContext;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
            invokestatic com.headius.invokebinder.Binder.from:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Lcom/headius/invokebinder/Binder;
         1: .line 329
            iconst_2
            aload 0 /* this */
            getfield org.jruby.RubyModule.id:I
            invokevirtual com.headius.invokebinder.Binder.insert:(II)Lcom/headius/invokebinder/Binder;
         2: .line 330
            getstatic org.jruby.RubyModule.testModuleMatch:Ljava/lang/invoke/MethodHandle;
            invokevirtual com.headius.invokebinder.Binder.invoke:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
         3: .line 328
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jruby/RubyModule;

  protected void <init>(org.jruby.Ruby, org.jruby.RubyClass, boolean);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass metaClass
        start local 3 // boolean objectSpace
         0: .line 337
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* metaClass */
            iload 3 /* objectSpace */
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Z)V
         1: .line 4926
            aload 0 /* this */
            getstatic org.jruby.RubyModule$KindOf.DEFAULT_KIND_OF:Lorg/jruby/RubyModule$KindOf;
            putfield org.jruby.RubyModule.kindOf:Lorg/jruby/RubyModule$KindOf;
         2: .line 4954
            aload 0 /* this */
            getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
            putfield org.jruby.RubyModule.constants:Ljava/util/Map;
         3: .line 5138
            aload 0 /* this */
            getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
            putfield org.jruby.RubyModule.autoloads:Ljava/util/Map;
         4: .line 5139
            aload 0 /* this */
            getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
            putfield org.jruby.RubyModule.methods:Ljava/util/Map;
         5: .line 5140
            aload 0 /* this */
            getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
            putfield org.jruby.RubyModule.cachedMethods:Ljava/util/Map;
         6: .line 5144
            aload 0 /* this */
            getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
            putfield org.jruby.RubyModule.includingHierarchies:Ljava/util/Set;
         7: .line 5145
            aload 0 /* this */
            aload 0 /* this */
            putfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
         8: .line 5149
            aload 0 /* this */
            getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
            putfield org.jruby.RubyModule.classProviders:Ljava/util/Set;
         9: .line 5177
            aload 0 /* this */
            getstatic org.jruby.runtime.ClassIndex.NO_INDEX:Lorg/jruby/runtime/ClassIndex;
            putfield org.jruby.RubyModule.classIndex:Lorg/jruby/runtime/ClassIndex;
        10: .line 5179
            aload 0 /* this */
            getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
            putfield org.jruby.RubyModule.classVariables:Ljava/util/Map;
        11: .line 5182
            aload 0 /* this */
            getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
            putfield org.jruby.RubyModule.refinements:Ljava/util/Map;
        12: .line 5185
            aload 0 /* this */
            getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
            putfield org.jruby.RubyModule.activatedRefinements:Ljava/util/Map;
        13: .line 5188
            aload 0 /* this */
            aconst_null
            putfield org.jruby.RubyModule.refinedClass:Lorg/jruby/RubyModule;
        14: .line 5191
            aload 0 /* this */
            aconst_null
            putfield org.jruby.RubyModule.definedAt:Lorg/jruby/RubyModule;
        15: .line 5215
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyModule.javaProxy:Z
        16: .line 339
            aload 0 /* this */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.allocModuleId:()I
            putfield org.jruby.RubyModule.id:I
        17: .line 341
            aload 1 /* runtime */
            aload 0 /* this */
            invokevirtual org.jruby.Ruby.addModule:(Lorg/jruby/RubyModule;)V
        18: .line 343
            aload 0 /* this */
            getstatic org.jruby.RubyModule.NEEDSIMPL_F:I
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.isClass:()Z
            ifeq 19
            iconst_0
            goto 20
      StackMap locals: org.jruby.RubyModule org.jruby.Ruby org.jruby.RubyClass int
      StackMap stack: org.jruby.RubyModule int
        19: iconst_1
      StackMap locals: org.jruby.RubyModule org.jruby.Ruby org.jruby.RubyClass int
      StackMap stack: org.jruby.RubyModule int int
        20: invokevirtual org.jruby.RubyModule.setFlag:(IZ)V
        21: .line 344
            aload 0 /* this */
            aload 1 /* runtime */
            invokevirtual org.jruby.RubyModule.updateGeneration:(Lorg/jruby/Ruby;)V
        22: .line 346
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getInstanceConfig:()Lorg/jruby/RubyInstanceConfig;
            invokevirtual org.jruby.RubyInstanceConfig.isProfiling:()Z
            ifeq 25
        23: .line 347
            aload 0 /* this */
            new org.jruby.RubyModule$ProfilingCacheEntryFactory
            dup
            aload 1 /* runtime */
            getstatic org.jruby.RubyModule.NormalCacheEntryFactory:Lorg/jruby/RubyModule$CacheEntryFactory;
            invokespecial org.jruby.RubyModule$ProfilingCacheEntryFactory.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyModule$CacheEntryFactory;)V
            putfield org.jruby.RubyModule.cacheEntryFactory:Lorg/jruby/RubyModule$CacheEntryFactory;
        24: .line 348
            goto 26
        25: .line 349
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.jruby.RubyModule.NormalCacheEntryFactory:Lorg/jruby/RubyModule$CacheEntryFactory;
            putfield org.jruby.RubyModule.cacheEntryFactory:Lorg/jruby/RubyModule$CacheEntryFactory;
        26: .line 353
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokestatic org.jruby.runtime.opto.OptoFactory.newMethodInvalidator:(Lorg/jruby/RubyModule;)Lorg/jruby/runtime/opto/Invalidator;
            putfield org.jruby.RubyModule.methodInvalidator:Lorg/jruby/runtime/opto/Invalidator;
        27: .line 354
            return
        end local 3 // boolean objectSpace
        end local 2 // org.jruby.RubyClass metaClass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   28     0         this  Lorg/jruby/RubyModule;
            0   28     1      runtime  Lorg/jruby/Ruby;
            0   28     2    metaClass  Lorg/jruby/RubyClass;
            0   28     3  objectSpace  Z
    MethodParameters:
             Name  Flags
      runtime      
      metaClass    
      objectSpace  

  protected void <init>(org.jruby.Ruby, org.jruby.RubyClass);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass metaClass
         0: .line 360
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* metaClass */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.isObjectSpaceEnabled:()Z
            invokespecial org.jruby.RubyModule.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Z)V
         1: .line 361
            return
        end local 2 // org.jruby.RubyClass metaClass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/jruby/RubyModule;
            0    2     1    runtime  Lorg/jruby/Ruby;
            0    2     2  metaClass  Lorg/jruby/RubyClass;
    MethodParameters:
           Name  Flags
      runtime    
      metaClass  

  protected void <init>(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.Ruby runtime
         0: .line 367
            aload 0 /* this */
            aload 1 /* runtime */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getModule:()Lorg/jruby/RubyClass;
            invokespecial org.jruby.RubyModule.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 368
            return
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyModule;
            0    2     1  runtime  Lorg/jruby/Ruby;
    MethodParameters:
         Name  Flags
      runtime  

  public boolean needsImplementer();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 371
            aload 0 /* this */
            getstatic org.jruby.RubyModule.NEEDSIMPL_F:I
            invokevirtual org.jruby.RubyModule.getFlag:(I)Z
            ireturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;

  public static org.jruby.RubyModule newModule(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyModule;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.Ruby runtime
         0: .line 378
            new org.jruby.RubyModule
            dup
            aload 0 /* runtime */
            invokespecial org.jruby.RubyModule.<init>:(Lorg/jruby/Ruby;)V
            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  

  public static org.jruby.RubyModule newModule(org.jruby.Ruby, java.lang.String, org.jruby.RubyModule, boolean);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/RubyModule;Z)Lorg/jruby/RubyModule;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.lang.String name
        start local 2 // org.jruby.RubyModule parent
        start local 3 // boolean setParent
         0: .line 385
            aload 0 /* runtime */
            invokestatic org.jruby.RubyModule.newModule:(Lorg/jruby/Ruby;)Lorg/jruby/RubyModule;
            astore 4 /* module */
        start local 4 // org.jruby.RubyModule module
         1: .line 386
            aload 4 /* module */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.setBaseName:(Ljava/lang/String;)V
         2: .line 387
            iload 3 /* setParent */
            ifeq 3
            aload 4 /* module */
            aload 2 /* parent */
            invokevirtual org.jruby.RubyModule.setParent:(Lorg/jruby/RubyModule;)V
         3: .line 388
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 2 /* parent */
            aload 1 /* name */
            aload 4 /* module */
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         4: .line 389
            aload 4 /* module */
            areturn
        end local 4 // org.jruby.RubyModule module
        end local 3 // boolean setParent
        end local 2 // org.jruby.RubyModule parent
        end local 1 // java.lang.String name
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0    runtime  Lorg/jruby/Ruby;
            0    5     1       name  Ljava/lang/String;
            0    5     2     parent  Lorg/jruby/RubyModule;
            0    5     3  setParent  Z
            1    5     4     module  Lorg/jruby/RubyModule;
    MethodParameters:
           Name  Flags
      runtime    
      name       
      parent     
      setParent  

  public final synchronized void addClassProvider(org.jruby.util.ClassProvider);
    descriptor: (Lorg/jruby/util/ClassProvider;)V
    flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.util.ClassProvider provider
         0: .line 395
            aload 0 /* this */
            getfield org.jruby.RubyModule.classProviders:Ljava/util/Set;
            astore 2 /* classProviders */
        start local 2 // java.util.Set classProviders
         1: .line 396
            aload 2 /* classProviders */
            aload 1 /* provider */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 6
         2: .line 397
            new java.util.HashSet
            dup
            aload 2 /* classProviders */
            invokeinterface java.util.Set.size:()I
            iconst_1
            iadd
            invokespecial java.util.HashSet.<init>:(I)V
            astore 3 /* cp */
        start local 3 // java.util.Set cp
         3: .line 398
            aload 3 /* cp */
            aload 2 /* classProviders */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
         4: .line 399
            aload 3 /* cp */
            aload 1 /* provider */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 400
            aload 0 /* this */
            aload 3 /* cp */
            putfield org.jruby.RubyModule.classProviders:Ljava/util/Set;
        end local 3 // java.util.Set cp
         6: .line 402
      StackMap locals: java.util.Set
      StackMap stack:
            return
        end local 2 // java.util.Set classProviders
        end local 1 // org.jruby.util.ClassProvider provider
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lorg/jruby/RubyModule;
            0    7     1        provider  Lorg/jruby/util/ClassProvider;
            1    7     2  classProviders  Ljava/util/Set<Lorg/jruby/util/ClassProvider;>;
            3    6     3              cp  Ljava/util/Set<Lorg/jruby/util/ClassProvider;>;
    MethodParameters:
          Name  Flags
      provider  

  public final synchronized void removeClassProvider(org.jruby.util.ClassProvider);
    descriptor: (Lorg/jruby/util/ClassProvider;)V
    flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.util.ClassProvider provider
         0: .line 405
            new java.util.HashSet
            dup
            aload 0 /* this */
            getfield org.jruby.RubyModule.classProviders:Ljava/util/Set;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 2 /* cp */
        start local 2 // java.util.Set cp
         1: .line 406
            aload 2 /* cp */
            aload 1 /* provider */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
         2: .line 407
            aload 0 /* this */
            aload 2 /* cp */
            putfield org.jruby.RubyModule.classProviders:Ljava/util/Set;
         3: .line 408
            return
        end local 2 // java.util.Set cp
        end local 1 // org.jruby.util.ClassProvider provider
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/jruby/RubyModule;
            0    4     1  provider  Lorg/jruby/util/ClassProvider;
            1    4     2        cp  Ljava/util/Set<Lorg/jruby/util/ClassProvider;>;
    MethodParameters:
          Name  Flags
      provider  

  private void checkForCyclicInclude(org.jruby.RubyModule);
    descriptor: (Lorg/jruby/RubyModule;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.RubyModule m
         0: .line 411
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getNonIncludedClass:()Lorg/jruby/RubyModule;
            aload 1 /* m */
            invokevirtual org.jruby.RubyModule.getNonIncludedClass:()Lorg/jruby/RubyModule;
            if_acmpne 2
         1: .line 412
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            ldc "cyclic include detected"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 414
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.jruby.RubyModule m
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyModule;
            0    3     1     m  Lorg/jruby/RubyModule;
    Exceptions:
      throws org.jruby.exceptions.RaiseException
    MethodParameters:
      Name  Flags
      m     

  protected void checkForCyclicPrepend(org.jruby.RubyModule);
    descriptor: (Lorg/jruby/RubyModule;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.RubyModule m
         0: .line 417
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getNonIncludedClass:()Lorg/jruby/RubyModule;
            aload 1 /* m */
            invokevirtual org.jruby.RubyModule.getNonIncludedClass:()Lorg/jruby/RubyModule;
            if_acmpne 2
         1: .line 418
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " cyclic prepend detected "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* m */
            invokevirtual org.jruby.RubyModule.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 420
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.jruby.RubyModule m
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyModule;
            0    3     1     m  Lorg/jruby/RubyModule;
    Exceptions:
      throws org.jruby.exceptions.RaiseException
    MethodParameters:
      Name  Flags
      m     

  private org.jruby.RubyClass searchProvidersForClass(java.lang.String, org.jruby.RubyClass);
    descriptor: (Ljava/lang/String;Lorg/jruby/RubyClass;)Lorg/jruby/RubyClass;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.RubyClass superClazz
         0: .line 423
            aload 0 /* this */
            getfield org.jruby.RubyModule.classProviders:Ljava/util/Set;
            astore 3 /* classProviders */
        start local 3 // java.util.Set classProviders
         1: .line 424
            aload 3 /* classProviders */
            getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
            if_acmpne 2
            aconst_null
            areturn
         2: .line 427
      StackMap locals: java.util.Set
      StackMap stack:
            aload 3 /* classProviders */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 7
      StackMap locals: org.jruby.RubyModule java.lang.String org.jruby.RubyClass java.util.Set top top java.util.Iterator
      StackMap stack:
         3: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.util.ClassProvider
            astore 5 /* classProvider */
        start local 5 // org.jruby.util.ClassProvider classProvider
         4: .line 428
            aload 5 /* classProvider */
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* superClazz */
            invokeinterface org.jruby.util.ClassProvider.defineClassUnder:(Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/RubyClass;)Lorg/jruby/RubyClass;
            dup
            astore 4 /* clazz */
        start local 4 // org.jruby.RubyClass clazz
         5: ifnull 7
         6: .line 429
            aload 4 /* clazz */
            areturn
        end local 5 // org.jruby.util.ClassProvider classProvider
        end local 4 // org.jruby.RubyClass clazz
         7: .line 427
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         8: .line 432
            aconst_null
            areturn
        end local 3 // java.util.Set classProviders
        end local 2 // org.jruby.RubyClass superClazz
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lorg/jruby/RubyModule;
            0    9     1            name  Ljava/lang/String;
            0    9     2      superClazz  Lorg/jruby/RubyClass;
            1    9     3  classProviders  Ljava/util/Set<Lorg/jruby/util/ClassProvider;>;
            5    7     4           clazz  Lorg/jruby/RubyClass;
            4    7     5   classProvider  Lorg/jruby/util/ClassProvider;
    MethodParameters:
            Name  Flags
      name        
      superClazz  

  private org.jruby.RubyModule searchProvidersForModule(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/RubyModule;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 436
            aload 0 /* this */
            getfield org.jruby.RubyModule.classProviders:Ljava/util/Set;
            astore 2 /* classProviders */
        start local 2 // java.util.Set classProviders
         1: .line 437
            aload 2 /* classProviders */
            getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
            if_acmpne 2
            aconst_null
            areturn
         2: .line 440
      StackMap locals: java.util.Set
      StackMap stack:
            aload 2 /* classProviders */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 7
      StackMap locals: org.jruby.RubyModule java.lang.String java.util.Set top top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.util.ClassProvider
            astore 4 /* classProvider */
        start local 4 // org.jruby.util.ClassProvider classProvider
         4: .line 441
            aload 4 /* classProvider */
            aload 0 /* this */
            aload 1 /* name */
            invokeinterface org.jruby.util.ClassProvider.defineModuleUnder:(Lorg/jruby/RubyModule;Ljava/lang/String;)Lorg/jruby/RubyModule;
            dup
            astore 3 /* module */
        start local 3 // org.jruby.RubyModule module
         5: ifnull 7
         6: .line 442
            aload 3 /* module */
            areturn
        end local 4 // org.jruby.util.ClassProvider classProvider
        end local 3 // org.jruby.RubyModule module
         7: .line 440
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         8: .line 445
            aconst_null
            areturn
        end local 2 // java.util.Set classProviders
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lorg/jruby/RubyModule;
            0    9     1            name  Ljava/lang/String;
            1    9     2  classProviders  Ljava/util/Set<Lorg/jruby/util/ClassProvider;>;
            5    7     3          module  Lorg/jruby/RubyModule;
            4    7     4   classProvider  Lorg/jruby/util/ClassProvider;
    MethodParameters:
      Name  Flags
      name  

  public org.jruby.RubyClass getSuperClass();
    descriptor: ()Lorg/jruby/RubyClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 452
            aload 0 /* this */
            getfield org.jruby.RubyModule.superClass:Lorg/jruby/RubyClass;
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;

  public void setSuperClass(org.jruby.RubyClass);
    descriptor: (Lorg/jruby/RubyClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.RubyClass superClass
         0: .line 457
            aload 0 /* this */
            aload 1 /* superClass */
            putfield org.jruby.RubyModule.superClass:Lorg/jruby/RubyClass;
         1: .line 458
            aload 1 /* superClass */
            ifnull 2
            aload 1 /* superClass */
            invokevirtual org.jruby.RubyClass.isSynchronized:()Z
            ifeq 2
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.becomeSynchronized:()V
         2: .line 459
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.jruby.RubyClass superClass
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/jruby/RubyModule;
            0    3     1  superClass  Lorg/jruby/RubyClass;
    MethodParameters:
            Name  Flags
      superClass  

  public org.jruby.RubyModule getParent();
    descriptor: ()Lorg/jruby/RubyModule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 462
            aload 0 /* this */
            getfield org.jruby.RubyModule.parent:Lorg/jruby/RubyModule;
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;

  public void setParent(org.jruby.RubyModule);
    descriptor: (Lorg/jruby/RubyModule;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.RubyModule parent
         0: .line 466
            aload 0 /* this */
            aload 1 /* parent */
            putfield org.jruby.RubyModule.parent:Lorg/jruby/RubyModule;
         1: .line 467
            return
        end local 1 // org.jruby.RubyModule parent
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/jruby/RubyModule;
            0    2     1  parent  Lorg/jruby/RubyModule;
    MethodParameters:
        Name  Flags
      parent  

  public org.jruby.RubyModule getMethodLocation();
    descriptor: ()Lorg/jruby/RubyModule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 470
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;

  public void setMethodLocation(org.jruby.RubyModule);
    descriptor: (Lorg/jruby/RubyModule;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.RubyModule module
         0: .line 474
            aload 0 /* this */
            aload 1 /* module */
            putfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
         1: .line 475
            return
        end local 1 // org.jruby.RubyModule module
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/jruby/RubyModule;
            0    2     1  module  Lorg/jruby/RubyModule;
    MethodParameters:
        Name  Flags
      module  

  public java.util.Map<java.lang.String, org.jruby.internal.runtime.methods.DynamicMethod> getMethods();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 478
            aload 0 /* this */
            getfield org.jruby.RubyModule.methods:Ljava/util/Map;
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;>;

  public java.util.Map<java.lang.String, org.jruby.internal.runtime.methods.DynamicMethod> getMethodsForWrite();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 482
            aload 0 /* this */
            getfield org.jruby.RubyModule.methods:Ljava/util/Map;
            astore 1 /* methods */
        start local 1 // java.util.Map methods
         1: .line 483
            aload 1 /* methods */
            getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
            if_acmpeq 2
            aload 1 /* methods */
            areturn
         2: .line 485
      StackMap locals: java.util.Map
      StackMap stack:
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         3: .line 486
            aload 0 /* this */
            getfield org.jruby.RubyModule.methods:Ljava/util/Map;
            astore 1 /* methods */
         4: .line 487
            aload 1 /* methods */
            getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
            if_acmpne 6
         5: .line 488
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            iconst_0
            ldc 0.9
            iconst_1
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(IFI)V
            dup_x1
            putfield org.jruby.RubyModule.methods:Ljava/util/Map;
            goto 7
         6: .line 489
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 1 /* methods */
         7: .line 487
      StackMap locals:
      StackMap stack: java.util.Map
            aload 2
            monitorexit
         8: areturn
         9: .line 485
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
        10: athrow
        end local 1 // java.util.Map methods
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/jruby/RubyModule;
            1   11     1  methods  Ljava/util/Map<Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;>;
      Exception table:
        from    to  target  type
           3     8       9  any
           9    10       9  any
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;>;

  public org.jruby.internal.runtime.methods.DynamicMethod putMethod(org.jruby.Ruby, java.lang.String, org.jruby.internal.runtime.methods.DynamicMethod);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // java.lang.String id
        start local 3 // org.jruby.internal.runtime.methods.DynamicMethod method
         0: .line 501
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.hasPrepends:()Z
            ifeq 3
         1: .line 502
            aload 3 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.dup:()Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 3 /* method */
         2: .line 503
            aload 3 /* method */
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.setImplementationClass:(Lorg/jruby/RubyModule;)V
         3: .line 506
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.getMethodsForWrite:()Ljava/util/Map;
            aload 2 /* id */
            aload 3 /* method */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.internal.runtime.methods.DynamicMethod
            astore 4 /* oldMethod */
        start local 4 // org.jruby.internal.runtime.methods.DynamicMethod oldMethod
         4: .line 508
            aload 4 /* oldMethod */
            ifnull 6
            aload 4 /* oldMethod */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isRefined:()Z
            ifeq 6
         5: .line 509
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.getMethodsForWrite:()Ljava/util/Map;
            aload 2 /* id */
            new org.jruby.internal.runtime.methods.RefinedWrapper
            dup
            aload 3 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getImplementationClass:()Lorg/jruby/RubyModule;
            aload 3 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getVisibility:()Lorg/jruby/runtime/Visibility;
            aload 2 /* id */
            aload 3 /* method */
            invokespecial org.jruby.internal.runtime.methods.RefinedWrapper.<init>:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 512
      StackMap locals: org.jruby.internal.runtime.methods.DynamicMethod
      StackMap stack:
            aload 1 /* runtime */
            aload 2 /* id */
            aload 3 /* method */
            invokevirtual org.jruby.Ruby.addProfiledMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
         7: .line 513
            aload 3 /* method */
            areturn
        end local 4 // org.jruby.internal.runtime.methods.DynamicMethod oldMethod
        end local 3 // org.jruby.internal.runtime.methods.DynamicMethod method
        end local 2 // java.lang.String id
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/jruby/RubyModule;
            0    8     1    runtime  Lorg/jruby/Ruby;
            0    8     2         id  Ljava/lang/String;
            0    8     3     method  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            4    8     4  oldMethod  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    MethodParameters:
         Name  Flags
      runtime  
      id       
      method   

  public boolean isIncluded();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 521
            iconst_0
            ireturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;

  public boolean isPrepended();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 525
            iconst_0
            ireturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;

  public org.jruby.RubyModule getNonIncludedClass();
    descriptor: ()Lorg/jruby/RubyModule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 529
            aload 0 /* this */
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;

  public org.jruby.RubyModule getDelegate();
    descriptor: ()Lorg/jruby/RubyModule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 533
            aload 0 /* this */
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;

  public java.lang.String getBaseName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 542
            aload 0 /* this */
            getfield org.jruby.RubyModule.baseName:Ljava/lang/String;
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;

  public void setBaseName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 551
            aload 0 /* this */
            aload 1 /* name */
            putfield org.jruby.RubyModule.baseName:Ljava/lang/String;
         1: .line 552
            aload 0 /* this */
            aconst_null
            putfield org.jruby.RubyModule.cachedName:Ljava/lang/String;
         2: .line 553
            return
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyModule;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 563
            aload 0 /* this */
            getfield org.jruby.RubyModule.cachedName:Ljava/lang/String;
            ifnull 1
            aload 0 /* this */
            getfield org.jruby.RubyModule.cachedName:Ljava/lang/String;
            areturn
         1: .line 564
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.calculateName:()Ljava/lang/String;
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyModule;

  public org.jruby.RubyString rubyName();
    descriptor: ()Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 576
            aload 0 /* this */
            getfield org.jruby.RubyModule.cachedRubyName:Lorg/jruby/RubyString;
            ifnull 1
            aload 0 /* this */
            getfield org.jruby.RubyModule.cachedRubyName:Lorg/jruby/RubyString;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            invokevirtual org.jruby.RubyModule.calculateRubyName:()Lorg/jruby/RubyString;
      StackMap locals:
      StackMap stack: org.jruby.RubyString
         2: areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyModule;

  public org.jruby.RubyString rubyBaseName();
    descriptor: ()Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 580
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getBaseName:()Ljava/lang/String;
            astore 1 /* baseName */
        start local 1 // java.lang.String baseName
         1: .line 582
            aload 1 /* baseName */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* baseName */
            invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubySymbol.to_s:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyString
      StackMap locals:
      StackMap stack: org.jruby.RubyString
         3: areturn
        end local 1 // java.lang.String baseName
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/jruby/RubyModule;
            1    4     1  baseName  Ljava/lang/String;

  private org.jruby.RubyString calculateAnonymousRubyName();
    descriptor: ()Lorg/jruby/RubyString;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 586
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            astore 1 /* runtime */
        start local 1 // org.jruby.Ruby runtime
         1: .line 587
            aload 1 /* runtime */
            ldc "#<"
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            astore 2 /* anonBase */
        start local 2 // org.jruby.RubyString anonBase
         2: .line 588
            aload 2 /* anonBase */
            aload 0 /* this */
            getfield org.jruby.RubyModule.metaClass:Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.getRealClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.rubyName:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.append:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            aload 1 /* runtime */
            ldc ":0x"
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.append:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
         3: .line 589
            aload 2 /* anonBase */
            aload 1 /* runtime */
            aload 0 /* this */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.append:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            aload 1 /* runtime */
            ldc ">"
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.append:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
         4: .line 591
            aload 2 /* anonBase */
            areturn
        end local 2 // org.jruby.RubyString anonBase
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/jruby/RubyModule;
            1    5     1   runtime  Lorg/jruby/Ruby;
            2    5     2  anonBase  Lorg/jruby/RubyString;

  private org.jruby.RubyString calculateRubyName();
    descriptor: ()Lorg/jruby/RubyString;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=9, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 595
            iconst_1
            istore 1 /* cache */
        start local 1 // boolean cache
         1: .line 597
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getBaseName:()Ljava/lang/String;
            ifnonnull 2
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.calculateAnonymousRubyName:()Lorg/jruby/RubyString;
            areturn
         2: .line 599
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         3: .line 600
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            astore 3 /* objectClass */
        start local 3 // org.jruby.RubyClass objectClass
         4: .line 601
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* parents */
        start local 4 // java.util.List parents
         5: .line 602
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getParent:()Lorg/jruby/RubyModule;
            astore 5 /* p */
        start local 5 // org.jruby.RubyModule p
         6: goto 14
         7: .line 603
      StackMap locals: org.jruby.RubyModule int org.jruby.Ruby org.jruby.RubyClass java.util.List org.jruby.RubyModule
      StackMap stack:
            aload 5 /* p */
            aload 0 /* this */
            if_acmpne 8
            goto 15
         8: .line 605
      StackMap locals:
      StackMap stack:
            aload 5 /* p */
            invokevirtual org.jruby.RubyModule.rubyBaseName:()Lorg/jruby/RubyString;
            astore 6 /* name */
        start local 6 // org.jruby.RubyString name
         9: .line 612
            aload 6 /* name */
            ifnonnull 12
        10: .line 613
            iconst_0
            istore 1 /* cache */
        11: .line 614
            aload 5 /* p */
            invokevirtual org.jruby.RubyModule.rubyName:()Lorg/jruby/RubyString;
            astore 6 /* name */
        12: .line 617
      StackMap locals: org.jruby.RubyString
      StackMap stack:
            aload 4 /* parents */
            aload 6 /* name */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.jruby.RubyString name
        13: .line 602
            aload 5 /* p */
            invokevirtual org.jruby.RubyModule.getParent:()Lorg/jruby/RubyModule;
            astore 5 /* p */
      StackMap locals:
      StackMap stack:
        14: aload 5 /* p */
            ifnull 15
            aload 5 /* p */
            aload 3 /* objectClass */
            if_acmpne 7
        end local 5 // org.jruby.RubyModule p
        15: .line 620
      StackMap locals:
      StackMap stack:
            aload 4 /* parents */
            invokestatic java.util.Collections.reverse:(Ljava/util/List;)V
        16: .line 622
            aload 2 /* runtime */
            ldc "::"
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            astore 5 /* colons */
        start local 5 // org.jruby.RubyString colons
        17: .line 623
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.newString:()Lorg/jruby/RubyString;
            astore 6 /* fullName */
        start local 6 // org.jruby.RubyString fullName
        18: .line 624
            aload 6 /* fullName */
            getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
            invokevirtual org.jruby.RubyString.setEncoding:(Lorg/jcodings/Encoding;)V
        19: .line 625
            aload 4 /* parents */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 22
      StackMap locals: org.jruby.RubyModule int org.jruby.Ruby org.jruby.RubyClass java.util.List org.jruby.RubyString org.jruby.RubyString top java.util.Iterator
      StackMap stack:
        20: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.RubyString
            astore 7 /* parent */
        start local 7 // org.jruby.RubyString parent
        21: .line 626
            aload 6 /* fullName */
            aload 7 /* parent */
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            aload 5 /* colons */
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
        end local 7 // org.jruby.RubyString parent
        22: .line 625
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        23: .line 628
            aload 6 /* fullName */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.rubyBaseName:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
        24: .line 630
            aload 6 /* fullName */
            iconst_1
            invokevirtual org.jruby.RubyString.setFrozen:(Z)V
        25: .line 632
            iload 1 /* cache */
            ifeq 26
            aload 0 /* this */
            aload 6 /* fullName */
            putfield org.jruby.RubyModule.cachedRubyName:Lorg/jruby/RubyString;
        26: .line 634
      StackMap locals: org.jruby.RubyModule int org.jruby.Ruby org.jruby.RubyClass java.util.List org.jruby.RubyString org.jruby.RubyString
      StackMap stack:
            aload 6 /* fullName */
            areturn
        end local 6 // org.jruby.RubyString fullName
        end local 5 // org.jruby.RubyString colons
        end local 4 // java.util.List parents
        end local 3 // org.jruby.RubyClass objectClass
        end local 2 // org.jruby.Ruby runtime
        end local 1 // boolean cache
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   27     0         this  Lorg/jruby/RubyModule;
            1   27     1        cache  Z
            3   27     2      runtime  Lorg/jruby/Ruby;
            4   27     3  objectClass  Lorg/jruby/RubyClass;
            5   27     4      parents  Ljava/util/List<Lorg/jruby/RubyString;>;
            6   15     5            p  Lorg/jruby/RubyModule;
            9   13     6         name  Lorg/jruby/RubyString;
           17   27     5       colons  Lorg/jruby/RubyString;
           18   27     6     fullName  Lorg/jruby/RubyString;
           21   22     7       parent  Lorg/jruby/RubyString;

  public java.lang.String getSimpleName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 644
            aload 0 /* this */
            getfield org.jruby.RubyModule.baseName:Ljava/lang/String;
            ifnull 1
            aload 0 /* this */
            getfield org.jruby.RubyModule.baseName:Ljava/lang/String;
            areturn
         1: .line 645
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.calculateAnonymousName:()Ljava/lang/String;
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyModule;

  private java.lang.String calculateName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=14, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 652
            iconst_1
            istore 1 /* cache */
        start local 1 // boolean cache
         1: .line 654
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getBaseName:()Ljava/lang/String;
            ifnonnull 3
         2: .line 656
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.calculateAnonymousName:()Ljava/lang/String;
            areturn
         3: .line 659
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         4: .line 661
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getBaseName:()Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         5: .line 662
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            astore 4 /* objectClass */
        start local 4 // org.jruby.RubyClass objectClass
         6: .line 665
            iconst_0
            istore 5 /* parentCount */
        start local 5 // int parentCount
         7: .line 666
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getParent:()Lorg/jruby/RubyModule;
            astore 6 /* p */
        start local 6 // org.jruby.RubyModule p
         8: goto 12
         9: .line 668
      StackMap locals: org.jruby.RubyModule int org.jruby.Ruby java.lang.String org.jruby.RubyClass int org.jruby.RubyModule
      StackMap stack:
            aload 6 /* p */
            aload 0 /* this */
            if_acmpne 10
            goto 13
        10: .line 670
      StackMap locals:
      StackMap stack:
            iinc 5 /* parentCount */ 1
        11: .line 666
            aload 6 /* p */
            invokevirtual org.jruby.RubyModule.getParent:()Lorg/jruby/RubyModule;
            astore 6 /* p */
      StackMap locals:
      StackMap stack:
        12: aload 6 /* p */
            ifnull 13
            aload 6 /* p */
            aload 4 /* objectClass */
            if_acmpne 9
        end local 6 // org.jruby.RubyModule p
        13: .line 674
      StackMap locals:
      StackMap stack:
            iload 5 /* parentCount */
            anewarray java.lang.String
            astore 6 /* parentNames */
        start local 6 // java.lang.String[] parentNames
        14: .line 675
            iload 5 /* parentCount */
            iconst_1
            isub
            istore 7 /* i */
        start local 7 // int i
        15: .line 676
            aload 3 /* name */
            invokevirtual java.lang.String.length:()I
            iload 5 /* parentCount */
            iconst_2
            imul
            iadd
            istore 8 /* totalLength */
        start local 8 // int totalLength
        16: .line 677
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getParent:()Lorg/jruby/RubyModule;
            astore 9 /* p */
        start local 9 // org.jruby.RubyModule p
        17: goto 26
        18: .line 679
      StackMap locals: org.jruby.RubyModule int org.jruby.Ruby java.lang.String org.jruby.RubyClass int java.lang.String[] int int org.jruby.RubyModule
      StackMap stack:
            aload 9 /* p */
            aload 0 /* this */
            if_acmpne 19
            goto 27
        19: .line 681
      StackMap locals:
      StackMap stack:
            aload 9 /* p */
            invokevirtual org.jruby.RubyModule.getBaseName:()Ljava/lang/String;
            astore 10 /* pName */
        start local 10 // java.lang.String pName
        20: .line 688
            aload 10 /* pName */
            ifnonnull 23
        21: .line 689
            iconst_0
            istore 1 /* cache */
        22: .line 690
            aload 9 /* p */
            invokevirtual org.jruby.RubyModule.getName:()Ljava/lang/String;
            astore 10 /* pName */
        23: .line 693
      StackMap locals: java.lang.String
      StackMap stack:
            aload 6 /* parentNames */
            iload 7 /* i */
            aload 10 /* pName */
            aastore
        24: .line 694
            iload 8 /* totalLength */
            aload 10 /* pName */
            invokevirtual java.lang.String.length:()I
            iadd
            istore 8 /* totalLength */
        end local 10 // java.lang.String pName
        25: .line 677
            aload 9 /* p */
            invokevirtual org.jruby.RubyModule.getParent:()Lorg/jruby/RubyModule;
            astore 9 /* p */
            iinc 7 /* i */ -1
      StackMap locals:
      StackMap stack:
        26: aload 9 /* p */
            ifnull 27
            aload 9 /* p */
            aload 4 /* objectClass */
            if_acmpne 18
        end local 9 // org.jruby.RubyModule p
        27: .line 698
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            iload 8 /* totalLength */
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 9 /* builder */
        start local 9 // java.lang.StringBuilder builder
        28: .line 699
            aload 6 /* parentNames */
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 32
      StackMap locals: org.jruby.RubyModule int org.jruby.Ruby java.lang.String org.jruby.RubyClass int java.lang.String[] int int java.lang.StringBuilder top int int java.lang.String[]
      StackMap stack:
        29: aload 13
            iload 11
            aaload
            astore 10 /* parentName */
        start local 10 // java.lang.String parentName
        30: .line 700
            aload 9 /* builder */
            aload 10 /* parentName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "::"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 10 // java.lang.String parentName
        31: .line 699
            iinc 11 1
      StackMap locals:
      StackMap stack:
        32: iload 11
            iload 12
            if_icmplt 29
        33: .line 702
            aload 9 /* builder */
            aload 3 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        34: .line 704
            aload 9 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* fullName */
        start local 10 // java.lang.String fullName
        35: .line 706
            iload 1 /* cache */
            ifeq 36
            aload 0 /* this */
            aload 10 /* fullName */
            putfield org.jruby.RubyModule.cachedName:Ljava/lang/String;
        36: .line 708
      StackMap locals: org.jruby.RubyModule int org.jruby.Ruby java.lang.String org.jruby.RubyClass int java.lang.String[] int int java.lang.StringBuilder java.lang.String
      StackMap stack:
            aload 10 /* fullName */
            areturn
        end local 10 // java.lang.String fullName
        end local 9 // java.lang.StringBuilder builder
        end local 8 // int totalLength
        end local 7 // int i
        end local 6 // java.lang.String[] parentNames
        end local 5 // int parentCount
        end local 4 // org.jruby.RubyClass objectClass
        end local 3 // java.lang.String name
        end local 2 // org.jruby.Ruby runtime
        end local 1 // boolean cache
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   37     0         this  Lorg/jruby/RubyModule;
            1   37     1        cache  Z
            4   37     2      runtime  Lorg/jruby/Ruby;
            5   37     3         name  Ljava/lang/String;
            6   37     4  objectClass  Lorg/jruby/RubyClass;
            7   37     5  parentCount  I
            8   13     6            p  Lorg/jruby/RubyModule;
           14   37     6  parentNames  [Ljava/lang/String;
           15   37     7            i  I
           16   37     8  totalLength  I
           17   27     9            p  Lorg/jruby/RubyModule;
           20   25    10        pName  Ljava/lang/String;
           28   37     9      builder  Ljava/lang/StringBuilder;
           30   31    10   parentName  Ljava/lang/String;
           35   37    10     fullName  Ljava/lang/String;

  private java.lang.String calculateAnonymousName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 712
            aload 0 /* this */
            getfield org.jruby.RubyModule.cachedName:Ljava/lang/String;
            astore 1 /* cachedName */
        start local 1 // java.lang.String cachedName
         1: .line 713
            aload 1 /* cachedName */
            ifnonnull 6
         2: .line 715
            new java.lang.StringBuilder
            dup
            bipush 24
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* anonBase */
        start local 2 // java.lang.StringBuilder anonBase
         3: .line 716
            aload 2 /* anonBase */
            ldc "#<"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.jruby.RubyModule.metaClass:Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.getRealClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":0x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 717
            aload 2 /* anonBase */
            aload 0 /* this */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 62
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 718
            aload 0 /* this */
            aload 2 /* anonBase */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            dup_x1
            putfield org.jruby.RubyModule.cachedName:Ljava/lang/String;
            astore 1 /* cachedName */
        end local 2 // java.lang.StringBuilder anonBase
         6: .line 720
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* cachedName */
            areturn
        end local 1 // java.lang.String cachedName
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/jruby/RubyModule;
            1    7     1  cachedName  Ljava/lang/String;
            3    6     2    anonBase  Ljava/lang/StringBuilder;

  public org.jruby.runtime.builtin.IRubyObject refine(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject klass
        start local 3 // org.jruby.runtime.Block block
         0: .line 726
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "no block given"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         1: .line 728
      StackMap locals:
      StackMap stack:
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isEscaped:()Z
            ifeq 2
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "can't pass a Proc as a block to Module#refine"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 730
      StackMap locals:
      StackMap stack:
            aload 2 /* klass */
            instanceof org.jruby.RubyModule
            ifne 3
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "wrong argument type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* klass */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getType:()Lorg/jruby/RubyClass;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "(expected Class or Module)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 732
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyModule.refinements:Ljava/util/Map;
            getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
            if_acmpne 4
            aload 0 /* this */
            invokestatic org.jruby.RubyModule.newRefinementsMap:()Ljava/util/Map;
            putfield org.jruby.RubyModule.refinements:Ljava/util/Map;
         4: .line 733
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyModule.activatedRefinements:Ljava/util/Map;
            getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
            if_acmpne 5
            aload 0 /* this */
            invokestatic org.jruby.RubyModule.newActivatedRefinementsMap:()Ljava/util/Map;
            putfield org.jruby.RubyModule.activatedRefinements:Ljava/util/Map;
         5: .line 735
      StackMap locals:
      StackMap stack:
            aload 2 /* klass */
            checkcast org.jruby.RubyModule
            astore 4 /* moduleToRefine */
        start local 4 // org.jruby.RubyModule moduleToRefine
         6: .line 736
            aload 0 /* this */
            getfield org.jruby.RubyModule.refinements:Ljava/util/Map;
            aload 4 /* moduleToRefine */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.RubyModule
            astore 5 /* refinement */
        start local 5 // org.jruby.RubyModule refinement
         7: .line 737
            aload 5 /* refinement */
            ifnonnull 10
         8: .line 738
            aload 0 /* this */
            aload 1 /* context */
            aload 4 /* moduleToRefine */
            invokevirtual org.jruby.RubyModule.createNewRefinedModule:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;)Lorg/jruby/RubyModule;
            astore 5 /* refinement */
         9: .line 741
            aload 0 /* this */
            aload 1 /* context */
            aload 4 /* moduleToRefine */
            aload 5 /* refinement */
            invokevirtual org.jruby.RubyModule.addActivatedRefinement:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;)V
        10: .line 745
      StackMap locals: org.jruby.RubyModule org.jruby.RubyModule
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 5 /* refinement */
            aload 3 /* block */
            invokevirtual org.jruby.RubyModule.yieldRefineBlock:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;Lorg/jruby/runtime/Block;)V
        11: .line 747
            aload 5 /* refinement */
            areturn
        end local 5 // org.jruby.RubyModule refinement
        end local 4 // org.jruby.RubyModule moduleToRefine
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject klass
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0            this  Lorg/jruby/RubyModule;
            0   12     1         context  Lorg/jruby/runtime/ThreadContext;
            0   12     2           klass  Lorg/jruby/runtime/builtin/IRubyObject;
            0   12     3           block  Lorg/jruby/runtime/Block;
            6   12     4  moduleToRefine  Lorg/jruby/RubyModule;
            7   12     5      refinement  Lorg/jruby/RubyModule;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"refine"}, required = 1, reads = {org.jruby.anno.FrameField.SCOPE:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      klass    
      block    

  private org.jruby.RubyModule createNewRefinedModule(org.jruby.runtime.ThreadContext, org.jruby.RubyModule);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;)Lorg/jruby/RubyModule;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyModule klass
         0: .line 751
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 753
            new org.jruby.RubyModule
            dup
            aload 3 /* runtime */
            invokespecial org.jruby.RubyModule.<init>:(Lorg/jruby/Ruby;)V
            astore 4 /* newRefinement */
        start local 4 // org.jruby.RubyModule newRefinement
         2: .line 755
            aload 3 /* runtime */
            aload 2 /* klass */
            invokestatic org.jruby.RubyModule.refinementSuperclass:(Lorg/jruby/Ruby;Lorg/jruby/RubyModule;)Lorg/jruby/RubyClass;
            astore 5 /* superClass */
        start local 5 // org.jruby.RubyClass superClass
         3: .line 756
            aload 4 /* newRefinement */
            aload 5 /* superClass */
            invokevirtual org.jruby.RubyModule.setSuperClass:(Lorg/jruby/RubyClass;)V
         4: .line 757
            aload 4 /* newRefinement */
            getstatic org.jruby.RubyModule.REFINED_MODULE_F:I
            iconst_1
            invokevirtual org.jruby.RubyModule.setFlag:(IZ)V
         5: .line 758
            aload 4 /* newRefinement */
            getstatic org.jruby.RubyModule.NEEDSIMPL_F:I
            iconst_0
            invokevirtual org.jruby.RubyModule.setFlag:(IZ)V
         6: .line 759
            aload 4 /* newRefinement */
            aload 2 /* klass */
            putfield org.jruby.RubyModule.refinedClass:Lorg/jruby/RubyModule;
         7: .line 760
            aload 4 /* newRefinement */
            aload 0 /* this */
            putfield org.jruby.RubyModule.definedAt:Lorg/jruby/RubyModule;
         8: .line 761
            aload 0 /* this */
            getfield org.jruby.RubyModule.refinements:Ljava/util/Map;
            aload 2 /* klass */
            aload 4 /* newRefinement */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 763
            aload 4 /* newRefinement */
            areturn
        end local 5 // org.jruby.RubyClass superClass
        end local 4 // org.jruby.RubyModule newRefinement
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.RubyModule klass
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lorg/jruby/RubyModule;
            0   10     1        context  Lorg/jruby/runtime/ThreadContext;
            0   10     2          klass  Lorg/jruby/RubyModule;
            1   10     3        runtime  Lorg/jruby/Ruby;
            2   10     4  newRefinement  Lorg/jruby/RubyModule;
            3   10     5     superClass  Lorg/jruby/RubyClass;
    MethodParameters:
         Name  Flags
      context  
      klass    

  private static org.jruby.RubyClass refinementSuperclass(org.jruby.Ruby, org.jruby.RubyModule);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyModule;)Lorg/jruby/RubyClass;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyModule superClass
         0: .line 767
            aload 1 /* superClass */
            invokevirtual org.jruby.RubyModule.isModule:()Z
            ifeq 2
         1: .line 768
            new org.jruby.IncludedModuleWrapper
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getBasicObject:()Lorg/jruby/RubyClass;
            aload 1 /* superClass */
            invokespecial org.jruby.IncludedModuleWrapper.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/RubyModule;)V
            areturn
         2: .line 770
      StackMap locals:
      StackMap stack:
            aload 1 /* superClass */
            checkcast org.jruby.RubyClass
            areturn
        end local 1 // org.jruby.RubyModule superClass
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0     runtime  Lorg/jruby/Ruby;
            0    3     1  superClass  Lorg/jruby/RubyModule;
    MethodParameters:
            Name  Flags
      runtime     
      superClass  

  private void yieldRefineBlock(org.jruby.runtime.ThreadContext, org.jruby.RubyModule, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;Lorg/jruby/runtime/Block;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyModule refinement
        start local 3 // org.jruby.runtime.Block block
         0: .line 775
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.cloneBlockAndFrame:()Lorg/jruby/runtime/Block;
            astore 3 /* block */
         1: .line 777
            aload 3 /* block */
            getstatic org.jruby.EvalType.MODULE_EVAL:Lorg/jruby/EvalType;
            invokevirtual org.jruby.runtime.Block.setEvalType:(Lorg/jruby/EvalType;)V
         2: .line 778
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.getBinding:()Lorg/jruby/runtime/Binding;
            aload 2 /* refinement */
            invokevirtual org.jruby.runtime.Binding.setSelf:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         3: .line 780
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.getBody:()Lorg/jruby/runtime/BlockBody;
            invokevirtual org.jruby.runtime.BlockBody.getStaticScope:()Lorg/jruby/parser/StaticScope;
            aload 1 /* context */
            invokevirtual org.jruby.parser.StaticScope.getOverlayModuleForWrite:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyModule;
            astore 4 /* overlayModule */
        start local 4 // org.jruby.RubyModule overlayModule
         4: .line 781
            aload 4 /* overlayModule */
            aload 0 /* this */
            getfield org.jruby.RubyModule.refinements:Ljava/util/Map;
            putfield org.jruby.RubyModule.refinements:Ljava/util/Map;
         5: .line 783
            aload 3 /* block */
            aload 1 /* context */
            invokevirtual org.jruby.runtime.Block.yieldSpecific:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         6: .line 784
            return
        end local 4 // org.jruby.RubyModule overlayModule
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.RubyModule refinement
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/jruby/RubyModule;
            0    7     1        context  Lorg/jruby/runtime/ThreadContext;
            0    7     2     refinement  Lorg/jruby/RubyModule;
            0    7     3          block  Lorg/jruby/runtime/Block;
            4    7     4  overlayModule  Lorg/jruby/RubyModule;
    MethodParameters:
            Name  Flags
      context     
      refinement  
      block       

  private org.jruby.RubyClass getAlreadyActivatedRefinementWrapper(org.jruby.RubyClass, org.jruby.RubyModule);
    descriptor: (Lorg/jruby/RubyClass;Lorg/jruby/RubyModule;)Lorg/jruby/RubyClass;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.RubyClass classWeAreRefining
        start local 2 // org.jruby.RubyModule refinement
         0: .line 792
            aload 0 /* this */
            getfield org.jruby.RubyModule.activatedRefinements:Ljava/util/Map;
            aload 1 /* classWeAreRefining */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.RubyClass
            astore 3 /* moduleWrapperForRefinement */
        start local 3 // org.jruby.RubyClass moduleWrapperForRefinement
         1: .line 793
            aload 3 /* moduleWrapperForRefinement */
            ifnonnull 2
            aload 1 /* classWeAreRefining */
            areturn
         2: .line 795
      StackMap locals: org.jruby.RubyClass
      StackMap stack:
            aload 3 /* moduleWrapperForRefinement */
            astore 4 /* c */
        start local 4 // org.jruby.RubyModule c
         3: goto 6
         4: .line 796
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 4 /* c */
            invokevirtual org.jruby.RubyModule.getNonIncludedClass:()Lorg/jruby/RubyModule;
            aload 2 /* refinement */
            if_acmpne 5
            aconst_null
            areturn
         5: .line 795
      StackMap locals:
      StackMap stack:
            aload 4 /* c */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 4 /* c */
      StackMap locals:
      StackMap stack:
         6: aload 4 /* c */
            ifnull 7
            aload 4 /* c */
            invokevirtual org.jruby.RubyModule.isIncluded:()Z
            ifne 4
        end local 4 // org.jruby.RubyModule c
         7: .line 799
      StackMap locals:
      StackMap stack:
            aload 3 /* moduleWrapperForRefinement */
            areturn
        end local 3 // org.jruby.RubyClass moduleWrapperForRefinement
        end local 2 // org.jruby.RubyModule refinement
        end local 1 // org.jruby.RubyClass classWeAreRefining
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    8     0                        this  Lorg/jruby/RubyModule;
            0    8     1          classWeAreRefining  Lorg/jruby/RubyClass;
            0    8     2                  refinement  Lorg/jruby/RubyModule;
            1    8     3  moduleWrapperForRefinement  Lorg/jruby/RubyClass;
            3    7     4                           c  Lorg/jruby/RubyModule;
    MethodParameters:
                    Name  Flags
      classWeAreRefining  
      refinement          

  private void addActivatedRefinement(org.jruby.runtime.ThreadContext, org.jruby.RubyModule, org.jruby.RubyModule);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyModule moduleToRefine
        start local 3 // org.jruby.RubyModule refinement
         0: .line 812
            aconst_null
            astore 4 /* superClass */
        start local 4 // org.jruby.RubyClass superClass
         1: .line 813
            aload 0 /* this */
            getfield org.jruby.RubyModule.activatedRefinements:Ljava/util/Map;
            aload 2 /* moduleToRefine */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.RubyClass
            astore 5 /* c */
        start local 5 // org.jruby.RubyClass c
         2: .line 814
            aload 5 /* c */
            ifnull 9
         3: .line 815
            aload 5 /* c */
            astore 4 /* superClass */
         4: .line 816
            goto 8
         5: .line 817
      StackMap locals: org.jruby.RubyClass org.jruby.RubyClass
      StackMap stack:
            aload 5 /* c */
            checkcast org.jruby.IncludedModuleWrapper
            invokevirtual org.jruby.IncludedModuleWrapper.getNonIncludedClass:()Lorg/jruby/RubyModule;
            aload 3 /* refinement */
            if_acmpne 7
         6: .line 819
            return
         7: .line 821
      StackMap locals:
      StackMap stack:
            aload 5 /* c */
            invokevirtual org.jruby.RubyClass.getSuperClass:()Lorg/jruby/RubyClass;
            astore 5 /* c */
         8: .line 816
      StackMap locals:
      StackMap stack:
            aload 5 /* c */
            ifnull 9
            aload 5 /* c */
            invokevirtual org.jruby.RubyClass.isIncluded:()Z
            ifne 5
         9: .line 824
      StackMap locals:
      StackMap stack:
            aload 3 /* refinement */
            getstatic org.jruby.RubyModule.IS_OVERLAID_F:I
            iconst_1
            invokevirtual org.jruby.RubyModule.setFlag:(IZ)V
        10: .line 825
            new org.jruby.IncludedModuleWrapper
            dup
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 4 /* superClass */
            aload 3 /* refinement */
            invokespecial org.jruby.IncludedModuleWrapper.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/RubyModule;)V
            astore 6 /* iclass */
        start local 6 // org.jruby.IncludedModuleWrapper iclass
        11: .line 826
            aload 6 /* iclass */
            astore 5 /* c */
        12: .line 827
            aload 5 /* c */
            aload 2 /* moduleToRefine */
            putfield org.jruby.RubyClass.refinedClass:Lorg/jruby/RubyModule;
        13: .line 828
            aload 3 /* refinement */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 3 /* refinement */
            goto 19
        14: .line 829
      StackMap locals: org.jruby.IncludedModuleWrapper
      StackMap stack:
            aload 3 /* refinement */
            getstatic org.jruby.RubyModule.IS_OVERLAID_F:I
            iconst_1
            invokevirtual org.jruby.RubyModule.setFlag:(IZ)V
        15: .line 830
            aload 5 /* c */
            new org.jruby.IncludedModuleWrapper
            dup
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 5 /* c */
            invokevirtual org.jruby.RubyClass.getSuperClass:()Lorg/jruby/RubyClass;
            aload 3 /* refinement */
            invokespecial org.jruby.IncludedModuleWrapper.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/RubyModule;)V
            invokevirtual org.jruby.RubyClass.setSuperClass:(Lorg/jruby/RubyClass;)V
        16: .line 831
            aload 5 /* c */
            invokevirtual org.jruby.RubyClass.getSuperClass:()Lorg/jruby/RubyClass;
            astore 5 /* c */
        17: .line 832
            aload 5 /* c */
            aload 2 /* moduleToRefine */
            putfield org.jruby.RubyClass.refinedClass:Lorg/jruby/RubyModule;
        18: .line 828
            aload 3 /* refinement */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 3 /* refinement */
      StackMap locals:
      StackMap stack:
        19: aload 3 /* refinement */
            ifnonnull 14
        20: .line 834
            aload 0 /* this */
            getfield org.jruby.RubyModule.activatedRefinements:Ljava/util/Map;
            aload 2 /* moduleToRefine */
            aload 6 /* iclass */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 835
            return
        end local 6 // org.jruby.IncludedModuleWrapper iclass
        end local 5 // org.jruby.RubyClass c
        end local 4 // org.jruby.RubyClass superClass
        end local 3 // org.jruby.RubyModule refinement
        end local 2 // org.jruby.RubyModule moduleToRefine
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   22     0            this  Lorg/jruby/RubyModule;
            0   22     1         context  Lorg/jruby/runtime/ThreadContext;
            0   22     2  moduleToRefine  Lorg/jruby/RubyModule;
            0   22     3      refinement  Lorg/jruby/RubyModule;
            1   22     4      superClass  Lorg/jruby/RubyClass;
            2   22     5               c  Lorg/jruby/RubyClass;
           11   22     6          iclass  Lorg/jruby/IncludedModuleWrapper;
    MethodParameters:
                Name  Flags
      context         
      moduleToRefine  
      refinement      

  public org.jruby.runtime.builtin.IRubyObject using(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject refinedModule
         0: .line 839
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getFrameSelf:()Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            if_acmpeq 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "Module#using is not called on self"
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         1: .line 841
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentStaticScope:()Lorg/jruby/parser/StaticScope;
            invokevirtual org.jruby.parser.StaticScope.getIRScope:()Lorg/jruby/ir/IRScope;
            instanceof org.jruby.ir.IRMethod
            ifeq 3
         2: .line 842
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "Module#using is not permitted in methods"
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 846
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentStaticScope:()Lorg/jruby/parser/StaticScope;
            astore 3 /* staticScope */
        start local 3 // org.jruby.parser.StaticScope staticScope
         4: .line 847
            aload 3 /* staticScope */
            aload 1 /* context */
            invokevirtual org.jruby.parser.StaticScope.getOverlayModuleForWrite:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyModule;
            astore 4 /* overlayModule */
        start local 4 // org.jruby.RubyModule overlayModule
         5: .line 848
            aload 1 /* context */
            aload 4 /* overlayModule */
            aload 2 /* refinedModule */
            invokestatic org.jruby.RubyModule.usingModule:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;Lorg/jruby/runtime/builtin/IRubyObject;)V
         6: .line 850
            aload 0 /* this */
            areturn
        end local 4 // org.jruby.RubyModule overlayModule
        end local 3 // org.jruby.parser.StaticScope staticScope
        end local 2 // org.jruby.runtime.builtin.IRubyObject refinedModule
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/jruby/RubyModule;
            0    7     1        context  Lorg/jruby/runtime/ThreadContext;
            0    7     2  refinedModule  Lorg/jruby/runtime/builtin/IRubyObject;
            4    7     3    staticScope  Lorg/jruby/parser/StaticScope;
            5    7     4  overlayModule  Lorg/jruby/RubyModule;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"using"}, required = 1, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;, reads = {org.jruby.anno.FrameField.SELF:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.SCOPE:Lorg/jruby/anno/FrameField;})
    MethodParameters:
               Name  Flags
      context        
      refinedModule  

  public static void usingModule(org.jruby.runtime.ThreadContext, org.jruby.RubyModule, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyModule cref
        start local 2 // org.jruby.runtime.builtin.IRubyObject refinedModule
         0: .line 855
            aload 2 /* refinedModule */
            instanceof org.jruby.RubyModule
            ifne 1
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* refinedModule */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getModule:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;)Lorg/jruby/exceptions/RaiseException;
            athrow
         1: .line 857
      StackMap locals:
      StackMap stack:
            aload 1 /* cref */
            aload 2 /* refinedModule */
            checkcast org.jruby.RubyModule
            invokestatic org.jruby.RubyModule.usingModuleRecursive:(Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;)V
         2: .line 858
            return
        end local 2 // org.jruby.runtime.builtin.IRubyObject refinedModule
        end local 1 // org.jruby.RubyModule cref
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0        context  Lorg/jruby/runtime/ThreadContext;
            0    3     1           cref  Lorg/jruby/RubyModule;
            0    3     2  refinedModule  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
               Name  Flags
      context        
      cref           
      refinedModule  

  private static void usingModuleRecursive(org.jruby.RubyModule, org.jruby.RubyModule);
    descriptor: (Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.jruby.RubyModule cref
        start local 1 // org.jruby.RubyModule module
         0: .line 862
            aload 0 /* cref */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 863
            aload 1 /* module */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 3 /* superClass */
        start local 3 // org.jruby.RubyClass superClass
         2: .line 866
            aload 3 /* superClass */
            ifnull 3
            aload 0 /* cref */
            aload 3 /* superClass */
            invokestatic org.jruby.RubyModule.usingModuleRecursive:(Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;)V
         3: .line 868
      StackMap locals: org.jruby.Ruby org.jruby.RubyClass
      StackMap stack:
            aload 1 /* module */
            instanceof org.jruby.IncludedModule
            ifeq 6
         4: .line 869
            aload 1 /* module */
            invokevirtual org.jruby.RubyModule.getDelegate:()Lorg/jruby/RubyModule;
            astore 1 /* module */
         5: .line 870
            goto 8
      StackMap locals:
      StackMap stack:
         6: aload 1 /* module */
            invokevirtual org.jruby.RubyModule.isModule:()Z
            ifne 8
         7: .line 873
            aload 2 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "wrong argument type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* module */
            invokevirtual org.jruby.RubyModule.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " (expected Module)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         8: .line 876
      StackMap locals:
      StackMap stack:
            aload 1 /* module */
            getfield org.jruby.RubyModule.refinements:Ljava/util/Map;
            astore 4 /* refinements */
        start local 4 // java.util.Map refinements
         9: .line 877
            aload 4 /* refinements */
            ifnonnull 10
            return
        10: .line 879
      StackMap locals: java.util.Map
      StackMap stack:
            aload 4 /* refinements */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 13
      StackMap locals: org.jruby.RubyModule org.jruby.RubyModule org.jruby.Ruby org.jruby.RubyClass java.util.Map top java.util.Iterator
      StackMap stack:
        11: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* entry */
        start local 5 // java.util.Map$Entry entry
        12: .line 880
            aload 2 /* runtime */
            aload 0 /* cref */
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.jruby.RubyModule
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.jruby.RubyModule
            invokestatic org.jruby.RubyModule.usingRefinement:(Lorg/jruby/Ruby;Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;)V
        end local 5 // java.util.Map$Entry entry
        13: .line 879
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        14: .line 882
            return
        end local 4 // java.util.Map refinements
        end local 3 // org.jruby.RubyClass superClass
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.RubyModule module
        end local 0 // org.jruby.RubyModule cref
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         cref  Lorg/jruby/RubyModule;
            0   15     1       module  Lorg/jruby/RubyModule;
            1   15     2      runtime  Lorg/jruby/Ruby;
            2   15     3   superClass  Lorg/jruby/RubyClass;
            9   15     4  refinements  Ljava/util/Map<Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;>;
           12   13     5        entry  Ljava/util/Map$Entry<Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;>;
    MethodParameters:
        Name  Flags
      cref    
      module  

  private static void usingRefinement(org.jruby.Ruby, org.jruby.RubyModule, org.jruby.RubyModule, org.jruby.RubyModule);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyModule cref
        start local 2 // org.jruby.RubyModule klass
        start local 3 // org.jruby.RubyModule module
         0: .line 893
            aload 2 /* klass */
            astore 6 /* superclass */
        start local 6 // org.jruby.RubyModule superclass
         1: .line 895
            aload 1 /* cref */
            getfield org.jruby.RubyModule.refinements:Ljava/util/Map;
            getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
            if_acmpne 4
         2: .line 896
            aload 1 /* cref */
            invokestatic org.jruby.RubyModule.newRefinementsMap:()Ljava/util/Map;
            putfield org.jruby.RubyModule.refinements:Ljava/util/Map;
         3: .line 897
            goto 15
         4: .line 898
      StackMap locals: org.jruby.Ruby org.jruby.RubyModule org.jruby.RubyModule org.jruby.RubyModule top top org.jruby.RubyModule
      StackMap stack:
            aload 1 /* cref */
            getstatic org.jruby.RubyModule.OMOD_SHARED:I
            invokevirtual org.jruby.RubyModule.getFlag:(I)Z
            ifeq 7
         5: .line 899
            aload 1 /* cref */
            aload 1 /* cref */
            getfield org.jruby.RubyModule.refinements:Ljava/util/Map;
            invokestatic org.jruby.RubyModule.newRefinementsMap:(Ljava/util/Map;)Ljava/util/Map;
            putfield org.jruby.RubyModule.refinements:Ljava/util/Map;
         6: .line 900
            aload 1 /* cref */
            getstatic org.jruby.RubyModule.OMOD_SHARED:I
            iconst_0
            invokevirtual org.jruby.RubyModule.setFlag:(IZ)V
         7: .line 902
      StackMap locals:
      StackMap stack:
            aload 1 /* cref */
            getfield org.jruby.RubyModule.refinements:Ljava/util/Map;
            aload 2 /* klass */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.RubyModule
            dup
            astore 5 /* c */
        start local 5 // org.jruby.RubyModule c
         8: ifnull 15
         9: .line 903
            aload 5 /* c */
            astore 6 /* superclass */
        10: .line 904
            goto 14
        11: .line 905
      StackMap locals: org.jruby.Ruby org.jruby.RubyModule org.jruby.RubyModule org.jruby.RubyModule top org.jruby.RubyModule org.jruby.RubyModule
      StackMap stack:
            aload 5 /* c */
            invokevirtual org.jruby.RubyModule.getNonIncludedClass:()Lorg/jruby/RubyModule;
            aload 3 /* module */
            if_acmpne 13
        12: .line 907
            return
        13: .line 909
      StackMap locals:
      StackMap stack:
            aload 5 /* c */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 5 /* c */
        14: .line 904
      StackMap locals:
      StackMap stack:
            aload 5 /* c */
            ifnull 15
            aload 5 /* c */
            instanceof org.jruby.IncludedModule
            ifne 11
        end local 5 // org.jruby.RubyModule c
        15: .line 914
      StackMap locals: org.jruby.Ruby org.jruby.RubyModule org.jruby.RubyModule org.jruby.RubyModule top top org.jruby.RubyModule
      StackMap stack:
            aload 3 /* module */
            getstatic org.jruby.RubyModule.IS_OVERLAID_F:I
            iconst_1
            invokevirtual org.jruby.RubyModule.setFlag:(IZ)V
        16: .line 915
            aload 0 /* runtime */
            aload 6 /* superclass */
            invokestatic org.jruby.RubyModule.refinementSuperclass:(Lorg/jruby/Ruby;Lorg/jruby/RubyModule;)Lorg/jruby/RubyClass;
            astore 6 /* superclass */
        17: .line 916
            new org.jruby.IncludedModuleWrapper
            dup
            aload 0 /* runtime */
            aload 6 /* superclass */
            checkcast org.jruby.RubyClass
            aload 3 /* module */
            invokespecial org.jruby.IncludedModuleWrapper.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/RubyModule;)V
            dup
            astore 4 /* iclass */
        start local 4 // org.jruby.RubyModule iclass
        18: astore 5 /* c */
        start local 5 // org.jruby.RubyModule c
        19: .line 917
            aload 5 /* c */
            aload 2 /* klass */
            putfield org.jruby.RubyModule.refinedClass:Lorg/jruby/RubyModule;
        20: .line 922
            aload 3 /* module */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 3 /* module */
        21: .line 923
            goto 27
        22: .line 924
      StackMap locals: org.jruby.Ruby org.jruby.RubyModule org.jruby.RubyModule org.jruby.RubyModule org.jruby.RubyModule org.jruby.RubyModule org.jruby.RubyModule
      StackMap stack:
            aload 3 /* module */
            getstatic org.jruby.RubyModule.IS_OVERLAID_F:I
            iconst_1
            invokevirtual org.jruby.RubyModule.setFlag:(IZ)V
        23: .line 925
            aload 5 /* c */
            new org.jruby.IncludedModuleWrapper
            dup
            aload 1 /* cref */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 5 /* c */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            aload 3 /* module */
            invokespecial org.jruby.IncludedModuleWrapper.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/RubyModule;)V
            invokevirtual org.jruby.RubyModule.setSuperClass:(Lorg/jruby/RubyClass;)V
        24: .line 926
            aload 5 /* c */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 5 /* c */
        25: .line 927
            aload 5 /* c */
            aload 2 /* klass */
            putfield org.jruby.RubyModule.refinedClass:Lorg/jruby/RubyModule;
        26: .line 928
            aload 3 /* module */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 3 /* module */
        27: .line 923
      StackMap locals:
      StackMap stack:
            aload 3 /* module */
            ifnull 28
            aload 3 /* module */
            aload 2 /* klass */
            if_acmpne 22
        28: .line 931
      StackMap locals:
      StackMap stack:
            aload 1 /* cref */
            getfield org.jruby.RubyModule.refinements:Ljava/util/Map;
            aload 2 /* klass */
            aload 4 /* iclass */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        29: .line 932
            return
        end local 6 // org.jruby.RubyModule superclass
        end local 5 // org.jruby.RubyModule c
        end local 4 // org.jruby.RubyModule iclass
        end local 3 // org.jruby.RubyModule module
        end local 2 // org.jruby.RubyModule klass
        end local 1 // org.jruby.RubyModule cref
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   30     0     runtime  Lorg/jruby/Ruby;
            0   30     1        cref  Lorg/jruby/RubyModule;
            0   30     2       klass  Lorg/jruby/RubyModule;
            0   30     3      module  Lorg/jruby/RubyModule;
           18   30     4      iclass  Lorg/jruby/RubyModule;
            8   15     5           c  Lorg/jruby/RubyModule;
           19   30     5           c  Lorg/jruby/RubyModule;
            1   30     6  superclass  Lorg/jruby/RubyModule;
    MethodParameters:
         Name  Flags
      runtime  
      cref     
      klass    
      module   

  public static java.util.Map<org.jruby.RubyModule, org.jruby.RubyModule> newRefinementsMap(java.util.Map<org.jruby.RubyModule, org.jruby.RubyModule>);
    descriptor: (Ljava/util/Map;)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Map refinements
         0: .line 935
            new java.util.IdentityHashMap
            dup
            aload 0 /* refinements */
            invokespecial java.util.IdentityHashMap.<init>:(Ljava/util/Map;)V
            invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
            areturn
        end local 0 // java.util.Map refinements
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  refinements  Ljava/util/Map<Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;>;
    Signature: (Ljava/util/Map<Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;>;)Ljava/util/Map<Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;>;
    MethodParameters:
             Name  Flags
      refinements  

  public static java.util.Map<org.jruby.RubyModule, org.jruby.RubyModule> newRefinementsMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 939
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
            invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/Map<Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;>;

  public static java.util.Map<org.jruby.RubyModule, org.jruby.IncludedModule> newActivatedRefinementsMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 943
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
            invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/Map<Lorg/jruby/RubyModule;Lorg/jruby/IncludedModule;>;

  public org.jruby.runtime.builtin.IRubyObject used_modules(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 948
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentStaticScope:()Lorg/jruby/parser/StaticScope;
            astore 2 /* cref */
        start local 2 // org.jruby.parser.StaticScope cref
         1: .line 949
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.newArray:()Lorg/jruby/RubyArray;
            astore 3 /* ary */
        start local 3 // org.jruby.RubyArray ary
         2: .line 950
            goto 8
         3: .line 952
      StackMap locals: org.jruby.parser.StaticScope org.jruby.RubyArray
      StackMap stack:
            aload 2 /* cref */
            invokevirtual org.jruby.parser.StaticScope.getOverlayModuleForRead:()Lorg/jruby/RubyModule;
            dup
            astore 4 /* overlay */
        start local 4 // org.jruby.RubyModule overlay
         4: ifnull 7
         5: .line 953
            aload 4 /* overlay */
            getfield org.jruby.RubyModule.refinements:Ljava/util/Map;
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 7
         6: .line 954
            aload 4 /* overlay */
            getfield org.jruby.RubyModule.refinements:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            aload 3 /* ary */
            invokedynamic accept(Lorg/jruby/RubyArray;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/jruby/RubyModule.lambda$0(Lorg/jruby/RubyArray;Ljava/util/Map$Entry;)V (6)
                  (Ljava/util/Map$Entry;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
         7: .line 962
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 2 /* cref */
            invokevirtual org.jruby.parser.StaticScope.getPreviousCRefScope:()Lorg/jruby/parser/StaticScope;
            astore 2 /* cref */
        end local 4 // org.jruby.RubyModule overlay
         8: .line 950
      StackMap locals:
      StackMap stack:
            aload 2 /* cref */
            ifnonnull 3
         9: .line 965
            aload 3 /* ary */
            areturn
        end local 3 // org.jruby.RubyArray ary
        end local 2 // org.jruby.parser.StaticScope cref
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/jruby/RubyModule;
            0   10     1  context  Lorg/jruby/runtime/ThreadContext;
            1   10     2     cref  Lorg/jruby/parser/StaticScope;
            2   10     3      ary  Lorg/jruby/RubyArray;
            4    8     4  overlay  Lorg/jruby/RubyModule;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"used_modules"}, reads = {org.jruby.anno.FrameField.SCOPE:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.IncludedModuleWrapper newIncludeClass(org.jruby.RubyClass);
    descriptor: (Lorg/jruby/RubyClass;)Lorg/jruby/IncludedModuleWrapper;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.RubyClass superClazz
         0: .line 977
            new org.jruby.IncludedModuleWrapper
            dup
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* superClazz */
            aload 0 /* this */
            invokespecial org.jruby.IncludedModuleWrapper.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/RubyModule;)V
            astore 2 /* includedModule */
        start local 2 // org.jruby.IncludedModuleWrapper includedModule
         1: .line 980
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            ifnull 3
         2: .line 981
            aload 2 /* includedModule */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.IncludedModuleWrapper.includeModule:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         3: .line 984
      StackMap locals: org.jruby.IncludedModuleWrapper
      StackMap stack:
            aload 2 /* includedModule */
            areturn
        end local 2 // org.jruby.IncludedModuleWrapper includedModule
        end local 1 // org.jruby.RubyClass superClazz
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lorg/jruby/RubyModule;
            0    4     1      superClazz  Lorg/jruby/RubyClass;
            1    4     2  includedModule  Lorg/jruby/IncludedModuleWrapper;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
            Name  Flags
      superClazz  

  public org.jruby.RubyModule getModule(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/RubyModule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 995
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.getConstantAt:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyModule
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public org.jruby.RubyClass getClass(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/RubyClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 1005
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.getConstantAt:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyClass
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public org.jruby.RubyClass fastGetClass(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/RubyClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String internedName
         0: .line 1010
            aload 0 /* this */
            aload 1 /* internedName */
            invokevirtual org.jruby.RubyModule.getClass:(Ljava/lang/String;)Lorg/jruby/RubyClass;
            areturn
        end local 1 // java.lang.String internedName
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/jruby/RubyModule;
            0    1     1  internedName  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      internedName  

  public void prependModule(org.jruby.RubyModule);
    descriptor: (Lorg/jruby/RubyModule;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.RubyModule module
         0: .line 1021
            aload 0 /* this */
            ldc "module"
            invokevirtual org.jruby.RubyModule.testFrozen:(Ljava/lang/String;)V
         1: .line 1023
            aload 1 /* module */
            getfield org.jruby.RubyModule.refinedClass:Lorg/jruby/RubyModule;
            ifnull 3
         2: .line 1024
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            ldc "refinement module is not allowed"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 1028
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* module */
            invokevirtual org.jruby.RubyModule.checkForCyclicInclude:(Lorg/jruby/RubyModule;)V
         4: .line 1030
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         5: .line 1031
            aload 0 /* this */
            aload 1 /* module */
            invokevirtual org.jruby.RubyModule.hasModuleInPrepends:(Lorg/jruby/RubyModule;)Z
            ifeq 9
         6: .line 1032
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.invalidateCacheDescendants:()V
         7: .line 1033
            aload 2
            monitorexit
         8: return
         9: .line 1036
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 0 /* this */
            aload 1 /* module */
            invokevirtual org.jruby.RubyModule.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            pop
        10: .line 1038
            aload 0 /* this */
            aload 1 /* module */
            invokevirtual org.jruby.RubyModule.doPrependModule:(Lorg/jruby/RubyModule;)V
        11: .line 1040
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.invalidateCoreClasses:()V
        12: .line 1041
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.invalidateCacheDescendants:()V
        13: .line 1042
            aload 0 /* this */
            aload 1 /* module */
            invokevirtual org.jruby.RubyModule.invalidateConstantCacheForModuleInclusion:(Lorg/jruby/RubyModule;)V
        14: .line 1030
            aload 2
            monitorexit
        15: goto 18
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: aload 2
            monitorexit
        17: athrow
        18: .line 1044
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.jruby.RubyModule module
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   19     0    this  Lorg/jruby/RubyModule;
            0   19     1  module  Lorg/jruby/RubyModule;
      Exception table:
        from    to  target  type
           5     8      16  any
           9    15      16  any
          16    17      16  any
    MethodParameters:
        Name  Flags
      module  

  public void prependModule(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 1048
            getstatic org.jruby.RubyModule.$assertionsDisabled:Z
            ifne 1
            aload 1 /* arg */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1049
      StackMap locals:
      StackMap stack:
            aload 1 /* arg */
            instanceof org.jruby.RubyModule
            ifne 5
         2: .line 1050
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "Wrong argument type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getMetaClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 1051
            ldc " (expected Module)."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 1050
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         5: .line 1053
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* arg */
            checkcast org.jruby.RubyModule
            invokevirtual org.jruby.RubyModule.prependModule:(Lorg/jruby/RubyModule;)V
         6: .line 1054
            return
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/jruby/RubyModule;
            0    7     1   arg  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      arg   

  public synchronized void includeModule(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 1062
            getstatic org.jruby.RubyModule.$assertionsDisabled:Z
            ifne 1
            aload 1 /* arg */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1064
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "module"
            invokevirtual org.jruby.RubyModule.testFrozen:(Ljava/lang/String;)V
         2: .line 1066
            aload 1 /* arg */
            instanceof org.jruby.RubyModule
            ifne 6
         3: .line 1067
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "Wrong argument type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getMetaClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 1068
            ldc " (expected Module)."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 1067
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         6: .line 1071
      StackMap locals:
      StackMap stack:
            aload 1 /* arg */
            checkcast org.jruby.RubyModule
            astore 2 /* module */
        start local 2 // org.jruby.RubyModule module
         7: .line 1073
            aload 2 /* module */
            getfield org.jruby.RubyModule.refinedClass:Lorg/jruby/RubyModule;
            ifnull 9
         8: .line 1074
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            ldc "refinement module is not allowed"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         9: .line 1078
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 0 /* this */
            aload 2 /* module */
            invokevirtual org.jruby.RubyModule.checkForCyclicInclude:(Lorg/jruby/RubyModule;)V
        10: .line 1080
            aload 0 /* this */
            aload 2 /* module */
            invokevirtual org.jruby.RubyModule.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            pop
        11: .line 1082
            aload 0 /* this */
            aload 2 /* module */
            invokevirtual org.jruby.RubyModule.doIncludeModule:(Lorg/jruby/RubyModule;)V
        12: .line 1083
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.invalidateCoreClasses:()V
        13: .line 1084
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.invalidateCacheDescendants:()V
        14: .line 1085
            aload 0 /* this */
            aload 2 /* module */
            invokevirtual org.jruby.RubyModule.invalidateConstantCacheForModuleInclusion:(Lorg/jruby/RubyModule;)V
        15: .line 1086
            return
        end local 2 // org.jruby.RubyModule module
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0    this  Lorg/jruby/RubyModule;
            0   16     1     arg  Lorg/jruby/runtime/builtin/IRubyObject;
            7   16     2  module  Lorg/jruby/RubyModule;
    MethodParameters:
      Name  Flags
      arg   

  public void defineAnnotatedMethod(java.lang.Class, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.Class clazz
        start local 2 // java.lang.String name
         0: .line 1090
            iconst_0
            istore 3 /* foundMethod */
        start local 3 // boolean foundMethod
         1: .line 1091
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 6
      StackMap locals: org.jruby.RubyModule java.lang.Class java.lang.String int top int int java.lang.reflect.Method[]
      StackMap stack:
         2: aload 7
            iload 5
            aaload
            astore 4 /* method */
        start local 4 // java.lang.reflect.Method method
         3: .line 1092
            aload 4 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 2 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
            aload 0 /* this */
            aload 4 /* method */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getJRubyClassLoader:()Lorg/jruby/util/JRubyClassLoader;
            invokestatic org.jruby.runtime.MethodFactory.createFactory:(Ljava/lang/ClassLoader;)Lorg/jruby/runtime/MethodFactory;
            invokevirtual org.jruby.RubyModule.defineAnnotatedMethod:(Ljava/lang/reflect/Method;Lorg/jruby/runtime/MethodFactory;)Z
            ifeq 5
         4: .line 1093
            iconst_1
            istore 3 /* foundMethod */
        end local 4 // java.lang.reflect.Method method
         5: .line 1091
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
         6: iload 5
            iload 6
            if_icmplt 2
         7: .line 1097
            iload 3 /* foundMethod */
            ifne 9
         8: .line 1098
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No JRubyMethod present for method "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "on class "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getName:()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.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 1100
      StackMap locals: org.jruby.RubyModule java.lang.Class java.lang.String int
      StackMap stack:
            return
        end local 3 // boolean foundMethod
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class clazz
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/jruby/RubyModule;
            0   10     1        clazz  Ljava/lang/Class;
            0   10     2         name  Ljava/lang/String;
            1   10     3  foundMethod  Z
            3    5     4       method  Ljava/lang/reflect/Method;
    MethodParameters:
       Name  Flags
      clazz  
      name   

  public final void defineAnnotatedConstants(java.lang.Class);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.Class clazz
         0: .line 1103
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getDeclaredFields:()[Ljava/lang/reflect/Field;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: org.jruby.RubyModule java.lang.Class top int int java.lang.reflect.Field[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* field */
        start local 2 // java.lang.reflect.Field field
         2: .line 1104
            aload 2 /* field */
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            ifeq 4
         3: .line 1105
            aload 0 /* this */
            aload 2 /* field */
            invokevirtual org.jruby.RubyModule.defineAnnotatedConstant:(Ljava/lang/reflect/Field;)Z
            pop
        end local 2 // java.lang.reflect.Field field
         4: .line 1103
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 1
         6: .line 1108
            return
        end local 1 // java.lang.Class clazz
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/jruby/RubyModule;
            0    7     1  clazz  Ljava/lang/Class;
            2    4     2  field  Ljava/lang/reflect/Field;
    MethodParameters:
       Name  Flags
      clazz  

  public final boolean defineAnnotatedConstant(java.lang.reflect.Field);
    descriptor: (Ljava/lang/reflect/Field;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.reflect.Field field
         0: .line 1111
            aload 1 /* field */
            ldc Lorg/jruby/anno/JRubyConstant;
            invokevirtual java.lang.reflect.Field.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.jruby.anno.JRubyConstant
            astore 2 /* jrubyConstant */
        start local 2 // org.jruby.anno.JRubyConstant jrubyConstant
         1: .line 1113
            aload 2 /* jrubyConstant */
            ifnonnull 2
            iconst_0
            ireturn
         2: .line 1115
      StackMap locals: org.jruby.anno.JRubyConstant
      StackMap stack:
            aload 1 /* field */
            invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
            astore 3 /* tp */
        start local 3 // java.lang.Class tp
         3: .line 1119
            aload 3 /* tp */
            ldc Ljava/lang/Integer;
            if_acmpeq 4
            aload 3 /* tp */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpeq 4
            aload 3 /* tp */
            ldc Ljava/lang/Short;
            if_acmpeq 4
            aload 3 /* tp */
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            if_acmpeq 4
            aload 3 /* tp */
            ldc Ljava/lang/Byte;
            if_acmpeq 4
            aload 3 /* tp */
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            if_acmpne 6
         4: .line 1120
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* field */
            aconst_null
            invokevirtual java.lang.reflect.Field.getInt:(Ljava/lang/Object;)I
            i2l
            invokestatic org.jruby.RubyNumeric.int2fix:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyNumeric;
            astore 4 /* realVal */
        start local 4 // org.jruby.runtime.builtin.IRubyObject realVal
         5: .line 1121
            goto 15
        end local 4 // org.jruby.runtime.builtin.IRubyObject realVal
      StackMap locals:
      StackMap stack:
         6: aload 3 /* tp */
            ldc Ljava/lang/Boolean;
            if_acmpeq 7
            aload 3 /* tp */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 11
         7: .line 1122
      StackMap locals:
      StackMap stack:
            aload 1 /* field */
            aconst_null
            invokevirtual java.lang.reflect.Field.getBoolean:(Ljava/lang/Object;)Z
            ifeq 8
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
      StackMap locals:
      StackMap stack: org.jruby.RubyBoolean
         9: astore 4 /* realVal */
        start local 4 // org.jruby.runtime.builtin.IRubyObject realVal
        10: .line 1123
            goto 15
        end local 4 // org.jruby.runtime.builtin.IRubyObject realVal
        11: .line 1124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* realVal */
        start local 4 // org.jruby.runtime.builtin.IRubyObject realVal
        12: .line 1126
            goto 15
        end local 4 // org.jruby.runtime.builtin.IRubyObject realVal
      StackMap locals:
      StackMap stack: java.lang.Exception
        13: pop
        14: .line 1127
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* realVal */
        start local 4 // org.jruby.runtime.builtin.IRubyObject realVal
        15: .line 1130
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 2 /* jrubyConstant */
            invokeinterface org.jruby.anno.JRubyConstant.value:()[Ljava/lang/String;
            astore 5 /* names */
        start local 5 // java.lang.String[] names
        16: .line 1131
            aload 5 /* names */
            arraylength
            ifne 19
        17: .line 1132
            aload 0 /* this */
            aload 1 /* field */
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            aload 4 /* realVal */
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        18: .line 1133
            goto 24
        19: .line 1135
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 5 /* names */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 23
      StackMap locals: org.jruby.RubyModule java.lang.reflect.Field org.jruby.anno.JRubyConstant java.lang.Class org.jruby.runtime.builtin.IRubyObject java.lang.String[] top int int java.lang.String[]
      StackMap stack:
        20: aload 9
            iload 7
            aaload
            astore 6 /* name */
        start local 6 // java.lang.String name
        21: aload 0 /* this */
            aload 6 /* name */
            aload 4 /* realVal */
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        end local 6 // java.lang.String name
        22: iinc 7 1
      StackMap locals:
      StackMap stack:
        23: iload 7
            iload 8
            if_icmplt 20
        24: .line 1138
      StackMap locals: org.jruby.RubyModule java.lang.reflect.Field org.jruby.anno.JRubyConstant java.lang.Class org.jruby.runtime.builtin.IRubyObject java.lang.String[]
      StackMap stack:
            iconst_1
            ireturn
        end local 5 // java.lang.String[] names
        end local 4 // org.jruby.runtime.builtin.IRubyObject realVal
        end local 3 // java.lang.Class tp
        end local 2 // org.jruby.anno.JRubyConstant jrubyConstant
        end local 1 // java.lang.reflect.Field field
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   25     0           this  Lorg/jruby/RubyModule;
            0   25     1          field  Ljava/lang/reflect/Field;
            1   25     2  jrubyConstant  Lorg/jruby/anno/JRubyConstant;
            3   25     3             tp  Ljava/lang/Class;
            5    6     4        realVal  Lorg/jruby/runtime/builtin/IRubyObject;
           10   11     4        realVal  Lorg/jruby/runtime/builtin/IRubyObject;
           12   13     4        realVal  Lorg/jruby/runtime/builtin/IRubyObject;
           15   25     4        realVal  Lorg/jruby/runtime/builtin/IRubyObject;
           16   25     5          names  [Ljava/lang/String;
           21   22     6           name  Ljava/lang/String;
      Exception table:
        from    to  target  type
           3    12      13  Class java.lang.Exception
    MethodParameters:
       Name  Flags
      field  

  public void defineAnnotatedMethods(java.lang.Class);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.Class clazz
         0: .line 1143
            aload 0 /* this */
            aload 1 /* clazz */
            invokevirtual org.jruby.RubyModule.defineAnnotatedMethodsIndividually:(Ljava/lang/Class;)V
         1: .line 1144
            return
        end local 1 // java.lang.Class clazz
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/RubyModule;
            0    2     1  clazz  Ljava/lang/Class;
    RuntimeVisibleAnnotations: 
      org.jruby.embed.Extension()
    MethodParameters:
       Name  Flags
      clazz  

  public static org.jruby.anno.TypePopulator loadPopulatorFor(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Lorg/jruby/anno/TypePopulator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // java.lang.Class type
         0: .line 1212
            getstatic org.jruby.util.cli.Options.DEBUG_FULLTRACE:Lcom/headius/options/Option;
            invokevirtual com.headius.options.Option.load:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 1
            getstatic org.jruby.util.cli.Options.REFLECTED_HANDLES:Lcom/headius/options/Option;
            invokevirtual com.headius.options.Option.load:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 3
         1: .line 1214
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyModule.LOG:Lorg/jruby/util/log/Logger;
            ldc "trace mode, using default populator"
            iconst_0
            anewarray java.lang.Object
            invokeinterface org.jruby.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
         2: .line 1215
            goto 14
         3: .line 1217
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "org.jruby.gen."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* type */
            invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
            bipush 46
            bipush 36
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* qualifiedName */
        start local 1 // java.lang.String qualifiedName
         4: .line 1218
            new java.lang.StringBuilder
            dup
            aload 1 /* qualifiedName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "$POPULATOR"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* fullName */
        start local 2 // java.lang.String fullName
         5: .line 1219
            new java.lang.StringBuilder
            dup
            aload 2 /* fullName */
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* fullPath */
        start local 3 // java.lang.String fullPath
         6: .line 1220
            getstatic org.jruby.RubyModule.LOG:Lorg/jruby/util/log/Logger;
            invokeinterface org.jruby.util.log.Logger.isDebugEnabled:()Z
            ifeq 7
            getstatic org.jruby.RubyModule.LOG:Lorg/jruby/util/log/Logger;
            new java.lang.StringBuilder
            dup
            ldc "looking for populator "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* fullName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
            invokeinterface org.jruby.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
         7: .line 1222
      StackMap locals: java.lang.String java.lang.String java.lang.String
      StackMap stack:
            invokestatic org.jruby.Ruby.getClassLoader:()Ljava/lang/ClassLoader;
            aload 3 /* fullPath */
            invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
            ifnonnull 10
         8: .line 1223
            getstatic org.jruby.RubyModule.LOG:Lorg/jruby/util/log/Logger;
            ldc "could not find it, using default populator"
            iconst_0
            anewarray java.lang.Object
            invokeinterface org.jruby.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
         9: .line 1224
            goto 14
        10: .line 1225
      StackMap locals:
      StackMap stack:
            aload 2 /* fullName */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast org.jruby.anno.TypePopulator
        11: areturn
        end local 3 // java.lang.String fullPath
        end local 2 // java.lang.String fullName
        end local 1 // java.lang.String qualifiedName
        12: .line 1227
      StackMap locals: java.lang.Class
      StackMap stack: java.lang.Throwable
            astore 1 /* ex */
        start local 1 // java.lang.Throwable ex
        13: .line 1228
            getstatic org.jruby.RubyModule.LOG:Lorg/jruby/util/log/Logger;
            invokeinterface org.jruby.util.log.Logger.isDebugEnabled:()Z
            ifeq 14
            getstatic org.jruby.RubyModule.LOG:Lorg/jruby/util/log/Logger;
            new java.lang.StringBuilder
            dup
            ldc "could not find populator, using default ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
            invokeinterface org.jruby.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 1 // java.lang.Throwable ex
        14: .line 1232
      StackMap locals:
      StackMap stack:
            new org.jruby.anno.TypePopulator$ReflectiveTypePopulator
            dup
            aload 0 /* type */
            invokespecial org.jruby.anno.TypePopulator$ReflectiveTypePopulator.<init>:(Ljava/lang/Class;)V
            areturn
        end local 0 // java.lang.Class type
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0           type  Ljava/lang/Class<*>;
            4   12     1  qualifiedName  Ljava/lang/String;
            5   12     2       fullName  Ljava/lang/String;
            6   12     3       fullPath  Ljava/lang/String;
           13   14     1             ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3    11      12  Class java.lang.Throwable
    Signature: (Ljava/lang/Class<*>;)Lorg/jruby/anno/TypePopulator;
    MethodParameters:
      Name  Flags
      type  

  public final void defineAnnotatedMethodsIndividually(java.lang.Class);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.Class clazz
         0: .line 1236
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            getfield org.jruby.Ruby.POPULATORS:Ljava/lang/ClassValue;
            aload 1 /* clazz */
            invokevirtual java.lang.ClassValue.get:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.jruby.anno.TypePopulator
            aload 0 /* this */
            aload 1 /* clazz */
            invokevirtual org.jruby.anno.TypePopulator.populate:(Lorg/jruby/RubyModule;Ljava/lang/Class;)V
         1: .line 1237
            return
        end local 1 // java.lang.Class clazz
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/RubyModule;
            0    2     1  clazz  Ljava/lang/Class;
    MethodParameters:
       Name  Flags
      clazz  

  public final boolean defineAnnotatedMethod(java.lang.String, java.util.List<org.jruby.anno.JavaMethodDescriptor>, org.jruby.runtime.MethodFactory);
    descriptor: (Ljava/lang/String;Ljava/util/List;Lorg/jruby/runtime/MethodFactory;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // java.util.List methods
        start local 3 // org.jruby.runtime.MethodFactory methodFactory
         0: .line 1240
            aload 2 /* methods */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.jruby.anno.JavaMethodDescriptor
            astore 4 /* desc */
        start local 4 // org.jruby.anno.JavaMethodDescriptor desc
         1: .line 1241
            aload 2 /* methods */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 3
         2: .line 1242
            aload 0 /* this */
            aload 1 /* name */
            aload 4 /* desc */
            aload 3 /* methodFactory */
            invokevirtual org.jruby.RubyModule.defineAnnotatedMethod:(Ljava/lang/String;Lorg/jruby/anno/JavaMethodDescriptor;Lorg/jruby/runtime/MethodFactory;)Z
            ireturn
         3: .line 1245
      StackMap locals: org.jruby.anno.JavaMethodDescriptor
      StackMap stack:
            aload 3 /* methodFactory */
            aload 0 /* this */
            aload 2 /* methods */
            aload 1 /* name */
            invokevirtual org.jruby.runtime.MethodFactory.getAnnotatedMethod:(Lorg/jruby/RubyModule;Ljava/util/List;Ljava/lang/String;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 5 /* dynamicMethod */
        start local 5 // org.jruby.internal.runtime.methods.DynamicMethod dynamicMethod
         4: .line 1246
            aload 0 /* this */
            aload 4 /* desc */
            aload 1 /* name */
            aload 5 /* dynamicMethod */
            invokestatic org.jruby.RubyModule.define:(Lorg/jruby/RubyModule;Lorg/jruby/anno/JavaMethodDescriptor;Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
         5: .line 1248
            iconst_1
            ireturn
        end local 5 // org.jruby.internal.runtime.methods.DynamicMethod dynamicMethod
        end local 4 // org.jruby.anno.JavaMethodDescriptor desc
        end local 3 // org.jruby.runtime.MethodFactory methodFactory
        end local 2 // java.util.List methods
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/jruby/RubyModule;
            0    6     1           name  Ljava/lang/String;
            0    6     2        methods  Ljava/util/List<Lorg/jruby/anno/JavaMethodDescriptor;>;
            0    6     3  methodFactory  Lorg/jruby/runtime/MethodFactory;
            1    6     4           desc  Lorg/jruby/anno/JavaMethodDescriptor;
            4    6     5  dynamicMethod  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    Signature: (Ljava/lang/String;Ljava/util/List<Lorg/jruby/anno/JavaMethodDescriptor;>;Lorg/jruby/runtime/MethodFactory;)Z
    MethodParameters:
               Name  Flags
      name           
      methods        
      methodFactory  

  public final boolean defineAnnotatedMethod(java.lang.reflect.Method, org.jruby.runtime.MethodFactory);
    descriptor: (Ljava/lang/reflect/Method;Lorg/jruby/runtime/MethodFactory;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.reflect.Method method
        start local 2 // org.jruby.runtime.MethodFactory methodFactory
         0: .line 1252
            aload 1 /* method */
            ldc Lorg/jruby/anno/JRubyMethod;
            invokevirtual java.lang.reflect.Method.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.jruby.anno.JRubyMethod
            astore 3 /* jrubyMethod */
        start local 3 // org.jruby.anno.JRubyMethod jrubyMethod
         1: .line 1254
            aload 3 /* jrubyMethod */
            ifnonnull 2
            iconst_0
            ireturn
         2: .line 1256
      StackMap locals: org.jruby.anno.JRubyMethod
      StackMap stack:
            new org.jruby.anno.JavaMethodDescriptor
            dup
            aload 1 /* method */
            invokespecial org.jruby.anno.JavaMethodDescriptor.<init>:(Ljava/lang/reflect/Method;)V
            astore 4 /* desc */
        start local 4 // org.jruby.anno.JavaMethodDescriptor desc
         3: .line 1257
            aload 2 /* methodFactory */
            aload 0 /* this */
            aload 4 /* desc */
            aload 1 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            invokevirtual org.jruby.runtime.MethodFactory.getAnnotatedMethod:(Lorg/jruby/RubyModule;Lorg/jruby/anno/JavaMethodDescriptor;Ljava/lang/String;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 5 /* dynamicMethod */
        start local 5 // org.jruby.internal.runtime.methods.DynamicMethod dynamicMethod
         4: .line 1258
            aload 0 /* this */
            aload 4 /* desc */
            aload 1 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 5 /* dynamicMethod */
            invokestatic org.jruby.RubyModule.define:(Lorg/jruby/RubyModule;Lorg/jruby/anno/JavaMethodDescriptor;Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
         5: .line 1260
            iconst_1
            ireturn
        end local 5 // org.jruby.internal.runtime.methods.DynamicMethod dynamicMethod
        end local 4 // org.jruby.anno.JavaMethodDescriptor desc
        end local 3 // org.jruby.anno.JRubyMethod jrubyMethod
        end local 2 // org.jruby.runtime.MethodFactory methodFactory
        end local 1 // java.lang.reflect.Method method
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/jruby/RubyModule;
            0    6     1         method  Ljava/lang/reflect/Method;
            0    6     2  methodFactory  Lorg/jruby/runtime/MethodFactory;
            1    6     3    jrubyMethod  Lorg/jruby/anno/JRubyMethod;
            3    6     4           desc  Lorg/jruby/anno/JavaMethodDescriptor;
            4    6     5  dynamicMethod  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    MethodParameters:
               Name  Flags
      method         
      methodFactory  

  public final boolean defineAnnotatedMethod(java.lang.String, org.jruby.anno.JavaMethodDescriptor, org.jruby.runtime.MethodFactory);
    descriptor: (Ljava/lang/String;Lorg/jruby/anno/JavaMethodDescriptor;Lorg/jruby/runtime/MethodFactory;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.anno.JavaMethodDescriptor desc
        start local 3 // org.jruby.runtime.MethodFactory methodFactory
         0: .line 1264
            aload 2 /* desc */
            getfield org.jruby.anno.JavaMethodDescriptor.anno:Lorg/jruby/anno/JRubyMethod;
            astore 4 /* jrubyMethod */
        start local 4 // org.jruby.anno.JRubyMethod jrubyMethod
         1: .line 1266
            aload 4 /* jrubyMethod */
            ifnonnull 2
            iconst_0
            ireturn
         2: .line 1268
      StackMap locals: org.jruby.anno.JRubyMethod
      StackMap stack:
            aload 3 /* methodFactory */
            aload 0 /* this */
            aload 2 /* desc */
            aload 1 /* name */
            invokevirtual org.jruby.runtime.MethodFactory.getAnnotatedMethod:(Lorg/jruby/RubyModule;Lorg/jruby/anno/JavaMethodDescriptor;Ljava/lang/String;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 5 /* dynamicMethod */
        start local 5 // org.jruby.internal.runtime.methods.DynamicMethod dynamicMethod
         3: .line 1269
            aload 0 /* this */
            aload 2 /* desc */
            aload 1 /* name */
            aload 5 /* dynamicMethod */
            invokestatic org.jruby.RubyModule.define:(Lorg/jruby/RubyModule;Lorg/jruby/anno/JavaMethodDescriptor;Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
         4: .line 1271
            iconst_1
            ireturn
        end local 5 // org.jruby.internal.runtime.methods.DynamicMethod dynamicMethod
        end local 4 // org.jruby.anno.JRubyMethod jrubyMethod
        end local 3 // org.jruby.runtime.MethodFactory methodFactory
        end local 2 // org.jruby.anno.JavaMethodDescriptor desc
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/jruby/RubyModule;
            0    5     1           name  Ljava/lang/String;
            0    5     2           desc  Lorg/jruby/anno/JavaMethodDescriptor;
            0    5     3  methodFactory  Lorg/jruby/runtime/MethodFactory;
            1    5     4    jrubyMethod  Lorg/jruby/anno/JRubyMethod;
            3    5     5  dynamicMethod  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    MethodParameters:
               Name  Flags
      name           
      desc           
      methodFactory  

  public void undefineMethod(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 1275
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            aload 1 /* name */
            invokestatic org.jruby.internal.runtime.methods.UndefinedMethod.getInstance:()Lorg/jruby/internal/runtime/methods/UndefinedMethod;
            invokevirtual org.jruby.RubyModule.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
         1: .line 1276
            return
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyModule;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public void undef(org.jruby.runtime.ThreadContext, java.lang.String);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // java.lang.String name
         0: .line 1282
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1284
            aload 0 /* this */
            ldc "module"
            invokevirtual org.jruby.RubyModule.testFrozen:(Ljava/lang/String;)V
         2: .line 1285
            aload 2 /* name */
            ldc "__send__"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
            aload 2 /* name */
            ldc "object_id"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
            aload 2 /* name */
            ldc "initialize"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 1286
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            getstatic org.jruby.common.IRubyWarnings$ID.UNDEFINING_BAD:Lorg/jruby/common/IRubyWarnings$ID;
            new java.lang.StringBuilder
            dup
            ldc "undefining `"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' may cause serious problems"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
         4: .line 1289
      StackMap locals:
      StackMap stack:
            aload 2 /* name */
            ldc "method_missing"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
         5: .line 1290
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
            ldc "$!"
            invokevirtual org.jruby.internal.runtime.GlobalVariables.get:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* oldExc */
        start local 4 // org.jruby.runtime.builtin.IRubyObject oldExc
         6: .line 1292
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* name */
            invokevirtual org.jruby.RubyModule.removeMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)V
         7: .line 1293
            goto 12
      StackMap locals: org.jruby.RubyModule org.jruby.runtime.ThreadContext java.lang.String org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject
      StackMap stack: org.jruby.exceptions.RaiseException
         8: astore 5 /* t */
        start local 5 // org.jruby.exceptions.RaiseException t
         9: .line 1294
            aload 5 /* t */
            invokevirtual org.jruby.exceptions.RaiseException.getException:()Lorg/jruby/RubyException;
            instanceof org.jruby.RubyNameError
            ifne 11
        10: .line 1295
            aload 5 /* t */
            athrow
        11: .line 1297
      StackMap locals: org.jruby.exceptions.RaiseException
      StackMap stack:
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
            ldc "$!"
            aload 4 /* oldExc */
            invokevirtual org.jruby.internal.runtime.GlobalVariables.set:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        end local 5 // org.jruby.exceptions.RaiseException t
        12: .line 1300
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.jruby.runtime.builtin.IRubyObject oldExc
        13: .line 1303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* name */
            invokevirtual org.jruby.RubyModule.searchMethod:(Ljava/lang/String;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 4 /* method */
        start local 4 // org.jruby.internal.runtime.methods.DynamicMethod method
        14: .line 1304
            aload 4 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isUndefined:()Z
            ifeq 26
        15: .line 1305
            ldc " class"
            astore 5 /* s0 */
        start local 5 // java.lang.String s0
        16: .line 1306
            aload 0 /* this */
            astore 6 /* c */
        start local 6 // org.jruby.RubyModule c
        17: .line 1308
            aload 6 /* c */
            invokevirtual org.jruby.RubyModule.isSingleton:()Z
            ifeq 23
        18: .line 1309
            aload 6 /* c */
            checkcast org.jruby.MetaClass
            invokevirtual org.jruby.MetaClass.getAttached:()Lorg/jruby/RubyBasicObject;
            astore 7 /* obj */
        start local 7 // org.jruby.runtime.builtin.IRubyObject obj
        19: .line 1311
            aload 7 /* obj */
            instanceof org.jruby.RubyModule
            ifeq 25
        20: .line 1312
            aload 7 /* obj */
            checkcast org.jruby.RubyModule
            astore 6 /* c */
        21: .line 1313
            ldc ""
            astore 5 /* s0 */
        end local 7 // org.jruby.runtime.builtin.IRubyObject obj
        22: .line 1315
            goto 25
      StackMap locals: org.jruby.internal.runtime.methods.DynamicMethod java.lang.String org.jruby.RubyModule
      StackMap stack:
        23: aload 6 /* c */
            invokevirtual org.jruby.RubyModule.isModule:()Z
            ifeq 25
        24: .line 1316
            ldc " module"
            astore 5 /* s0 */
        25: .line 1319
      StackMap locals:
      StackMap stack:
            aload 3 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "Undefined method "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " for"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* s0 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* c */
            invokevirtual org.jruby.RubyModule.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* name */
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 6 // org.jruby.RubyModule c
        end local 5 // java.lang.String s0
        26: .line 1321
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            aload 2 /* name */
            invokestatic org.jruby.internal.runtime.methods.UndefinedMethod.getInstance:()Lorg/jruby/internal/runtime/methods/UndefinedMethod;
            invokevirtual org.jruby.RubyModule.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
        27: .line 1323
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.isSingleton:()Z
            ifeq 30
        28: .line 1324
            aload 0 /* this */
            checkcast org.jruby.MetaClass
            invokevirtual org.jruby.MetaClass.getAttached:()Lorg/jruby/RubyBasicObject;
            aload 1 /* context */
            ldc "singleton_method_undefined"
            aload 3 /* runtime */
            aload 2 /* name */
            invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubyBasicObject.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        29: .line 1325
            goto 31
        30: .line 1326
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            ldc "method_undefined"
            aload 3 /* runtime */
            aload 2 /* name */
            invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubyModule.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        31: .line 1328
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.jruby.internal.runtime.methods.DynamicMethod method
        end local 3 // org.jruby.Ruby runtime
        end local 2 // java.lang.String name
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   32     0     this  Lorg/jruby/RubyModule;
            0   32     1  context  Lorg/jruby/runtime/ThreadContext;
            0   32     2     name  Ljava/lang/String;
            1   32     3  runtime  Lorg/jruby/Ruby;
            6   13     4   oldExc  Lorg/jruby/runtime/builtin/IRubyObject;
            9   12     5        t  Lorg/jruby/exceptions/RaiseException;
           14   32     4   method  Lorg/jruby/internal/runtime/methods/DynamicMethod;
           16   26     5       s0  Ljava/lang/String;
           17   26     6        c  Lorg/jruby/RubyModule;
           19   22     7      obj  Lorg/jruby/runtime/builtin/IRubyObject;
      Exception table:
        from    to  target  type
           6     7       8  Class org.jruby.exceptions.RaiseException
    MethodParameters:
         Name  Flags
      context  
      name     

  public org.jruby.runtime.builtin.IRubyObject include_p(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 1332
            aload 2 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isModule:()Z
            ifne 2
         1: .line 1333
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* arg */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getModule:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 1335
      StackMap locals:
      StackMap stack:
            aload 2 /* arg */
            checkcast org.jruby.RubyModule
            astore 3 /* moduleToCompare */
        start local 3 // org.jruby.RubyModule moduleToCompare
         3: .line 1338
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 4 /* p */
        start local 4 // org.jruby.RubyModule p
         4: goto 8
         5: .line 1339
      StackMap locals: org.jruby.RubyModule org.jruby.RubyModule
      StackMap stack:
            aload 4 /* p */
            aload 3 /* moduleToCompare */
            invokevirtual org.jruby.RubyModule.isSame:(Lorg/jruby/RubyModule;)Z
            ifeq 7
         6: .line 1340
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            areturn
         7: .line 1338
      StackMap locals:
      StackMap stack:
            aload 4 /* p */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 4 /* p */
      StackMap locals:
      StackMap stack:
         8: aload 4 /* p */
            ifnonnull 5
        end local 4 // org.jruby.RubyModule p
         9: .line 1344
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
        end local 3 // org.jruby.RubyModule moduleToCompare
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0             this  Lorg/jruby/RubyModule;
            0   10     1          context  Lorg/jruby/runtime/ThreadContext;
            0   10     2              arg  Lorg/jruby/runtime/builtin/IRubyObject;
            3   10     3  moduleToCompare  Lorg/jruby/RubyModule;
            4    9     4                p  Lorg/jruby/RubyModule;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"include?"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject singleton_class_p(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1349
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.isSingleton:()Z
            invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyModule;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"singleton_class?"})
    MethodParameters:
         Name  Flags
      context  

  public void addMethod(java.lang.String, org.jruby.internal.runtime.methods.DynamicMethod);
    descriptor: (Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String id
        start local 2 // org.jruby.internal.runtime.methods.DynamicMethod method
         0: .line 1353
            aload 0 /* this */
            ldc "class/module"
            invokevirtual org.jruby.RubyModule.testFrozen:(Ljava/lang/String;)V
         1: .line 1357
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            aload 0 /* this */
            if_acmpeq 4
         2: .line 1358
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            aload 1 /* id */
            aload 2 /* method */
            invokevirtual org.jruby.RubyModule.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
         3: .line 1359
            return
         4: .line 1362
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            instanceof org.jruby.MetaClass
            ifeq 6
         5: .line 1364
            aload 0 /* this */
            checkcast org.jruby.MetaClass
            invokevirtual org.jruby.MetaClass.getAttached:()Lorg/jruby/RubyBasicObject;
            invokevirtual org.jruby.RubyBasicObject.testFrozen:()V
         6: .line 1367
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.isRefinement:()Z
            ifeq 8
         7: .line 1369
            aload 0 /* this */
            aload 1 /* id */
            aload 2 /* method */
            invokevirtual org.jruby.RubyModule.addRefinedMethodEntry:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
         8: .line 1372
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* id */
            aload 2 /* method */
            invokevirtual org.jruby.RubyModule.addMethodInternal:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
         9: .line 1373
            return
        end local 2 // org.jruby.internal.runtime.methods.DynamicMethod method
        end local 1 // java.lang.String id
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/jruby/RubyModule;
            0   10     1      id  Ljava/lang/String;
            0   10     2  method  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    MethodParameters:
        Name  Flags
      id      
      method  

  private void addRefinedMethodEntry(java.lang.String, org.jruby.internal.runtime.methods.DynamicMethod);
    descriptor: (Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=5, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String id
        start local 2 // org.jruby.internal.runtime.methods.DynamicMethod method
         0: .line 1377
            aload 0 /* this */
            getfield org.jruby.RubyModule.refinedClass:Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.getMethodLocation:()Lorg/jruby/RubyModule;
            astore 3 /* methodLocation */
        start local 3 // org.jruby.RubyModule methodLocation
         1: .line 1378
            aload 3 /* methodLocation */
            aload 1 /* id */
            invokevirtual org.jruby.RubyModule.searchMethodCommon:(Ljava/lang/String;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 4 /* orig */
        start local 4 // org.jruby.internal.runtime.methods.DynamicMethod orig
         2: .line 1380
            aload 4 /* orig */
            ifnonnull 5
         3: .line 1381
            aload 0 /* this */
            getfield org.jruby.RubyModule.refinedClass:Lorg/jruby/RubyModule;
            aload 1 /* id */
            new org.jruby.internal.runtime.methods.RefinedMarker
            dup
            aload 3 /* methodLocation */
            aload 2 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getVisibility:()Lorg/jruby/runtime/Visibility;
            aload 1 /* id */
            invokespecial org.jruby.internal.runtime.methods.RefinedMarker.<init>:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;Ljava/lang/String;)V
            invokevirtual org.jruby.RubyModule.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
         4: .line 1382
            goto 8
         5: .line 1383
      StackMap locals: org.jruby.RubyModule org.jruby.internal.runtime.methods.DynamicMethod
      StackMap stack:
            aload 4 /* orig */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isRefined:()Z
            ifeq 7
         6: .line 1384
            return
         7: .line 1386
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyModule.refinedClass:Lorg/jruby/RubyModule;
            aload 1 /* id */
            new org.jruby.internal.runtime.methods.RefinedWrapper
            dup
            aload 3 /* methodLocation */
            aload 2 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getVisibility:()Lorg/jruby/runtime/Visibility;
            aload 1 /* id */
            aload 4 /* orig */
            invokespecial org.jruby.internal.runtime.methods.RefinedWrapper.<init>:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
            invokevirtual org.jruby.RubyModule.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
         8: .line 1388
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.jruby.internal.runtime.methods.DynamicMethod orig
        end local 3 // org.jruby.RubyModule methodLocation
        end local 2 // org.jruby.internal.runtime.methods.DynamicMethod method
        end local 1 // java.lang.String id
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lorg/jruby/RubyModule;
            0    9     1              id  Ljava/lang/String;
            0    9     2          method  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            1    9     3  methodLocation  Lorg/jruby/RubyModule;
            2    9     4            orig  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    MethodParameters:
        Name  Flags
      id      
      method  

  public final void addMethodInternal(java.lang.String, org.jruby.internal.runtime.methods.DynamicMethod);
    descriptor: (Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.internal.runtime.methods.DynamicMethod method
         0: .line 1391
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.getMethodsForWrite:()Ljava/util/Map;
            dup
            astore 3
            monitorenter
         1: .line 1392
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* name */
            aload 2 /* method */
            invokevirtual org.jruby.RubyModule.putMethod:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
            pop
         2: .line 1393
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.invalidateCoreClasses:()V
         3: .line 1394
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.invalidateCacheDescendants:()V
         4: .line 1391
            aload 3
            monitorexit
         5: goto 8
      StackMap locals: org.jruby.RubyModule java.lang.String org.jruby.internal.runtime.methods.DynamicMethod java.util.Map
      StackMap stack: java.lang.Throwable
         6: aload 3
            monitorexit
         7: athrow
         8: .line 1396
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.jruby.internal.runtime.methods.DynamicMethod method
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/jruby/RubyModule;
            0    9     1    name  Ljava/lang/String;
            0    9     2  method  Lorg/jruby/internal/runtime/methods/DynamicMethod;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    MethodParameters:
        Name  Flags
      name    
      method  

  public final void addMethodAtBootTimeOnly(java.lang.String, org.jruby.internal.runtime.methods.DynamicMethod);
    descriptor: (Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String id
        start local 2 // org.jruby.internal.runtime.methods.DynamicMethod method
         0: .line 1408
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* id */
            aload 2 /* method */
            invokevirtual org.jruby.RubyModule.putMethod:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
            pop
         1: .line 1409
            return
        end local 2 // org.jruby.internal.runtime.methods.DynamicMethod method
        end local 1 // java.lang.String id
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/jruby/RubyModule;
            0    2     1      id  Ljava/lang/String;
            0    2     2  method  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    MethodParameters:
        Name  Flags
      id      
      method  

  public void removeMethod(org.jruby.runtime.ThreadContext, java.lang.String);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // java.lang.String id
         0: .line 1412
            aload 0 /* this */
            ldc "class/module"
            invokevirtual org.jruby.RubyModule.testFrozen:(Ljava/lang/String;)V
         1: .line 1414
            aload 2 /* id */
            dup
            astore 3
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 3
          -1489595877: 2
           -134234808: 3
            871091088: 4
              default: 8
          }
      StackMap locals: java.lang.String
      StackMap stack:
         2: aload 3
            ldc "object_id"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
            goto 8
      StackMap locals:
      StackMap stack:
         3: aload 3
            ldc "__send__"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
            goto 8
      StackMap locals:
      StackMap stack:
         4: aload 3
            ldc "initialize"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            goto 8
         5: .line 1415
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 2 /* id */
            invokestatic org.jruby.RubyModule.warnMethodRemoval:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)V
            goto 8
         6: .line 1416
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 2 /* id */
            invokestatic org.jruby.RubyModule.warnMethodRemoval:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)V
            goto 8
         7: .line 1417
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 2 /* id */
            invokestatic org.jruby.RubyModule.warnMethodRemoval:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)V
         8: .line 1418
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
         9: .line 1420
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* id */
            invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
            astore 4 /* name */
        start local 4 // org.jruby.RubySymbol name
        10: .line 1423
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.getMethodsForWrite:()Ljava/util/Map;
            astore 5 /* methodsForWrite */
        start local 5 // java.util.Map methodsForWrite
        11: .line 1424
            aload 5 /* methodsForWrite */
            dup
            astore 6
            monitorenter
        12: .line 1425
            aload 5 /* methodsForWrite */
            aload 2 /* id */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.internal.runtime.methods.DynamicMethod
            astore 7 /* method */
        start local 7 // org.jruby.internal.runtime.methods.DynamicMethod method
        13: .line 1426
            aload 7 /* method */
            ifnull 16
        14: .line 1427
            aload 7 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isUndefined:()Z
            ifne 16
        15: .line 1428
            aload 7 /* method */
            instanceof org.jruby.internal.runtime.methods.RefinedMarker
            ifeq 17
        16: .line 1429
      StackMap locals: org.jruby.RubyModule org.jruby.runtime.ThreadContext java.lang.String top org.jruby.RubySymbol java.util.Map java.util.Map org.jruby.internal.runtime.methods.DynamicMethod
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "method '"
            aload 4 /* name */
            ldc "' not defined in "
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.rubyName:()Lorg/jruby/RubyString;
            invokestatic org.jruby.util.RubyStringBuilder.str:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
            aload 2 /* id */
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        17: .line 1432
      StackMap locals:
      StackMap stack:
            aload 5 /* methodsForWrite */
            aload 2 /* id */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.internal.runtime.methods.DynamicMethod
            astore 7 /* method */
        18: .line 1434
            aload 7 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isRefined:()Z
            ifeq 20
        19: .line 1435
            aload 5 /* methodsForWrite */
            aload 2 /* id */
            new org.jruby.internal.runtime.methods.RefinedMarker
            dup
            aload 7 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getImplementationClass:()Lorg/jruby/RubyModule;
            aload 7 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getVisibility:()Lorg/jruby/runtime/Visibility;
            aload 2 /* id */
            invokespecial org.jruby.internal.runtime.methods.RefinedMarker.<init>:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;Ljava/lang/String;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 1438
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.invalidateCoreClasses:()V
        21: .line 1439
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.invalidateCacheDescendants:()V
        end local 7 // org.jruby.internal.runtime.methods.DynamicMethod method
        22: .line 1424
            aload 6
            monitorexit
        23: goto 26
      StackMap locals: org.jruby.RubyModule org.jruby.runtime.ThreadContext java.lang.String top org.jruby.RubySymbol java.util.Map java.util.Map
      StackMap stack: java.lang.Throwable
        24: aload 6
            monitorexit
        25: athrow
        26: .line 1442
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.isSingleton:()Z
            ifeq 29
        27: .line 1443
            aload 0 /* this */
            checkcast org.jruby.MetaClass
            invokevirtual org.jruby.MetaClass.getAttached:()Lorg/jruby/RubyBasicObject;
            aload 1 /* context */
            ldc "singleton_method_removed"
            aload 4 /* name */
            invokevirtual org.jruby.RubyBasicObject.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        28: .line 1444
            goto 30
        29: .line 1445
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            ldc "method_removed"
            aload 4 /* name */
            invokevirtual org.jruby.RubyModule.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        30: .line 1447
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.util.Map methodsForWrite
        end local 4 // org.jruby.RubySymbol name
        end local 2 // java.lang.String id
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   31     0             this  Lorg/jruby/RubyModule;
            0   31     1          context  Lorg/jruby/runtime/ThreadContext;
            0   31     2               id  Ljava/lang/String;
           10   31     4             name  Lorg/jruby/RubySymbol;
           11   31     5  methodsForWrite  Ljava/util/Map<Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;>;
           13   22     7           method  Lorg/jruby/internal/runtime/methods/DynamicMethod;
      Exception table:
        from    to  target  type
          12    23      24  any
          24    25      24  any
    MethodParameters:
         Name  Flags
      context  
      id       

  private static void warnMethodRemoval(org.jruby.runtime.ThreadContext, java.lang.String);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // java.lang.String id
         0: .line 1450
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            getstatic org.jruby.common.IRubyWarnings$ID.UNDEFINING_BAD:Lorg/jruby/common/IRubyWarnings$ID;
         1: .line 1451
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "removing `"
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 1 /* id */
            invokestatic org.jruby.util.RubyStringBuilder.ids:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
            ldc "' may cause serious problems"
            invokestatic org.jruby.util.RubyStringBuilder.str:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Ljava/lang/String;
         2: .line 1450
            invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
         3: .line 1452
            return
        end local 1 // java.lang.String id
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  context  Lorg/jruby/runtime/ThreadContext;
            0    4     1       id  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      context  final
      id       final

  public final org.jruby.internal.runtime.methods.DynamicMethod searchMethod(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 1461
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.searchWithCache:(Ljava/lang/String;)Lorg/jruby/runtime/callsite/CacheEntry;
            getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public org.jruby.runtime.callsite.CacheEntry searchWithCache(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/callsite/CacheEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 1474
            aload 0 /* this */
            aload 1 /* name */
            iconst_1
            aconst_null
            invokevirtual org.jruby.RubyModule.searchWithCacheAndRefinements:(Ljava/lang/String;ZLorg/jruby/parser/StaticScope;)Lorg/jruby/runtime/callsite/CacheEntry;
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public org.jruby.runtime.callsite.CacheEntry searchWithRefinements(java.lang.String, org.jruby.parser.StaticScope);
    descriptor: (Ljava/lang/String;Lorg/jruby/parser/StaticScope;)Lorg/jruby/runtime/callsite/CacheEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.parser.StaticScope refinedScope
         0: .line 1486
            aload 0 /* this */
            aload 1 /* name */
            iconst_1
            aload 2 /* refinedScope */
            invokevirtual org.jruby.RubyModule.searchWithCacheAndRefinements:(Ljava/lang/String;ZLorg/jruby/parser/StaticScope;)Lorg/jruby/runtime/callsite/CacheEntry;
            areturn
        end local 2 // org.jruby.parser.StaticScope refinedScope
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/jruby/RubyModule;
            0    1     1          name  Ljava/lang/String;
            0    1     2  refinedScope  Lorg/jruby/parser/StaticScope;
    MethodParameters:
              Name  Flags
      name          
      refinedScope  

  public final org.jruby.runtime.callsite.CacheEntry searchWithCache(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Lorg/jruby/runtime/callsite/CacheEntry;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String id
        start local 2 // boolean cacheUndef
         0: .line 1499
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual org.jruby.RubyModule.cacheHit:(Ljava/lang/String;)Lorg/jruby/runtime/callsite/CacheEntry;
            astore 3 /* entry */
        start local 3 // org.jruby.runtime.callsite.CacheEntry entry
         1: .line 1500
            aload 3 /* entry */
            ifnull 2
            aload 3 /* entry */
            goto 3
      StackMap locals: org.jruby.runtime.callsite.CacheEntry
      StackMap stack:
         2: aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* id */
            iload 2 /* cacheUndef */
            invokevirtual org.jruby.RubyModule.searchWithCacheMiss:(Lorg/jruby/Ruby;Ljava/lang/String;Z)Lorg/jruby/runtime/callsite/CacheEntry;
      StackMap locals:
      StackMap stack: org.jruby.runtime.callsite.CacheEntry
         3: areturn
        end local 3 // org.jruby.runtime.callsite.CacheEntry entry
        end local 2 // boolean cacheUndef
        end local 1 // java.lang.String id
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/jruby/RubyModule;
            0    4     1          id  Ljava/lang/String;
            0    4     2  cacheUndef  Z
            1    4     3       entry  Lorg/jruby/runtime/callsite/CacheEntry;
    MethodParameters:
            Name  Flags
      id          
      cacheUndef  

  private final org.jruby.runtime.callsite.CacheEntry searchWithCacheAndRefinements(java.lang.String, boolean, org.jruby.parser.StaticScope);
    descriptor: (Ljava/lang/String;ZLorg/jruby/parser/StaticScope;)Lorg/jruby/runtime/callsite/CacheEntry;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String id
        start local 2 // boolean cacheUndef
        start local 3 // org.jruby.parser.StaticScope refinedScope
         0: .line 1505
            aload 0 /* this */
            aload 1 /* id */
            iload 2 /* cacheUndef */
            invokevirtual org.jruby.RubyModule.searchWithCache:(Ljava/lang/String;Z)Lorg/jruby/runtime/callsite/CacheEntry;
            astore 4 /* entry */
        start local 4 // org.jruby.runtime.callsite.CacheEntry entry
         1: .line 1507
            aload 4 /* entry */
            getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isRefined:()Z
            ifeq 11
         2: .line 1510
            goto 9
         3: .line 1512
      StackMap locals: org.jruby.runtime.callsite.CacheEntry
      StackMap stack:
            aload 3 /* refinedScope */
            invokevirtual org.jruby.parser.StaticScope.getOverlayModuleForRead:()Lorg/jruby/RubyModule;
            astore 5 /* overlay */
        start local 5 // org.jruby.RubyModule overlay
         4: .line 1514
            aload 5 /* overlay */
            ifnonnull 5
            goto 8
         5: .line 1516
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 0 /* this */
            aload 5 /* overlay */
            getfield org.jruby.RubyModule.refinements:Ljava/util/Map;
            aload 4 /* entry */
            aload 1 /* id */
            iload 2 /* cacheUndef */
            invokevirtual org.jruby.RubyModule.resolveRefinedMethod:(Ljava/util/Map;Lorg/jruby/runtime/callsite/CacheEntry;Ljava/lang/String;Z)Lorg/jruby/runtime/callsite/CacheEntry;
            astore 6 /* maybeEntry */
        start local 6 // org.jruby.runtime.callsite.CacheEntry maybeEntry
         6: .line 1518
            aload 6 /* maybeEntry */
            getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isUndefined:()Z
            ifeq 7
            goto 8
         7: .line 1520
      StackMap locals: org.jruby.runtime.callsite.CacheEntry
      StackMap stack:
            aload 6 /* maybeEntry */
            areturn
        end local 6 // org.jruby.runtime.callsite.CacheEntry maybeEntry
        end local 5 // org.jruby.RubyModule overlay
         8: .line 1510
      StackMap locals:
      StackMap stack:
            aload 3 /* refinedScope */
            invokevirtual org.jruby.parser.StaticScope.getEnclosingScope:()Lorg/jruby/parser/StaticScope;
            astore 3 /* refinedScope */
      StackMap locals:
      StackMap stack:
         9: aload 3 /* refinedScope */
            ifnonnull 3
        10: .line 1524
            aload 0 /* this */
            aconst_null
            aload 4 /* entry */
            aload 1 /* id */
            iload 2 /* cacheUndef */
            invokevirtual org.jruby.RubyModule.resolveRefinedMethod:(Ljava/util/Map;Lorg/jruby/runtime/callsite/CacheEntry;Ljava/lang/String;Z)Lorg/jruby/runtime/callsite/CacheEntry;
            areturn
        11: .line 1527
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            areturn
        end local 4 // org.jruby.runtime.callsite.CacheEntry entry
        end local 3 // org.jruby.parser.StaticScope refinedScope
        end local 2 // boolean cacheUndef
        end local 1 // java.lang.String id
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Lorg/jruby/RubyModule;
            0   12     1            id  Ljava/lang/String;
            0   12     2    cacheUndef  Z
            0   12     3  refinedScope  Lorg/jruby/parser/StaticScope;
            1   12     4         entry  Lorg/jruby/runtime/callsite/CacheEntry;
            4    8     5       overlay  Lorg/jruby/RubyModule;
            6    8     6    maybeEntry  Lorg/jruby/runtime/callsite/CacheEntry;
    MethodParameters:
              Name  Flags
      id            
      cacheUndef    
      refinedScope  

  private org.jruby.runtime.callsite.CacheEntry refinedMethodOriginalMethodEntry(java.util.Map<org.jruby.RubyModule, org.jruby.RubyModule>, java.lang.String, boolean, org.jruby.runtime.callsite.CacheEntry);
    descriptor: (Ljava/util/Map;Ljava/lang/String;ZLorg/jruby/runtime/callsite/CacheEntry;)Lorg/jruby/runtime/callsite/CacheEntry;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.util.Map refinements
        start local 2 // java.lang.String id
        start local 3 // boolean cacheUndef
        start local 4 // org.jruby.runtime.callsite.CacheEntry entry
         0: .line 1534
            aload 4 /* entry */
            getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 6 /* method */
        start local 6 // org.jruby.internal.runtime.methods.DynamicMethod method
         1: .line 1536
            aload 6 /* method */
            instanceof org.jruby.internal.runtime.methods.RefinedWrapper
            ifeq 3
         2: .line 1538
            aload 0 /* this */
            getfield org.jruby.RubyModule.cacheEntryFactory:Lorg/jruby/RubyModule$CacheEntryFactory;
            aload 2 /* id */
            aload 6 /* method */
            checkcast org.jruby.internal.runtime.methods.RefinedWrapper
            invokevirtual org.jruby.internal.runtime.methods.RefinedWrapper.getWrapped:()Lorg/jruby/internal/runtime/methods/DynamicMethod;
            aload 4 /* entry */
            getfield org.jruby.runtime.callsite.CacheEntry.sourceModule:Lorg/jruby/RubyModule;
            aload 4 /* entry */
            getfield org.jruby.runtime.callsite.CacheEntry.token:I
            invokevirtual org.jruby.RubyModule$CacheEntryFactory.newCacheEntry:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;Lorg/jruby/RubyModule;I)Lorg/jruby/runtime/callsite/CacheEntry;
            areturn
         3: .line 1539
      StackMap locals: org.jruby.RubyModule java.util.Map java.lang.String int org.jruby.runtime.callsite.CacheEntry top org.jruby.internal.runtime.methods.DynamicMethod
      StackMap stack:
            aload 4 /* entry */
            getfield org.jruby.runtime.callsite.CacheEntry.sourceModule:Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            dup
            astore 5 /* superClass */
        start local 5 // org.jruby.RubyModule superClass
         4: ifnonnull 6
         5: .line 1541
            getstatic org.jruby.runtime.callsite.CacheEntry.NULL_CACHE:Lorg/jruby/runtime/callsite/CacheEntry;
            areturn
         6: .line 1544
      StackMap locals: org.jruby.RubyModule java.util.Map java.lang.String int org.jruby.runtime.callsite.CacheEntry org.jruby.RubyModule org.jruby.internal.runtime.methods.DynamicMethod
      StackMap stack:
            aload 0 /* this */
            aload 1 /* refinements */
            aload 5 /* superClass */
            aload 2 /* id */
            iload 3 /* cacheUndef */
            invokevirtual org.jruby.RubyModule.searchWithCache:(Ljava/lang/String;Z)Lorg/jruby/runtime/callsite/CacheEntry;
            aload 2 /* id */
            iload 3 /* cacheUndef */
            invokevirtual org.jruby.RubyModule.resolveRefinedMethod:(Ljava/util/Map;Lorg/jruby/runtime/callsite/CacheEntry;Ljava/lang/String;Z)Lorg/jruby/runtime/callsite/CacheEntry;
            areturn
        end local 6 // org.jruby.internal.runtime.methods.DynamicMethod method
        end local 5 // org.jruby.RubyModule superClass
        end local 4 // org.jruby.runtime.callsite.CacheEntry entry
        end local 3 // boolean cacheUndef
        end local 2 // java.lang.String id
        end local 1 // java.util.Map refinements
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/jruby/RubyModule;
            0    7     1  refinements  Ljava/util/Map<Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;>;
            0    7     2           id  Ljava/lang/String;
            0    7     3   cacheUndef  Z
            0    7     4        entry  Lorg/jruby/runtime/callsite/CacheEntry;
            4    7     5   superClass  Lorg/jruby/RubyModule;
            1    7     6       method  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    Signature: (Ljava/util/Map<Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;>;Ljava/lang/String;ZLorg/jruby/runtime/callsite/CacheEntry;)Lorg/jruby/runtime/callsite/CacheEntry;
    MethodParameters:
             Name  Flags
      refinements  
      id           
      cacheUndef   
      entry        

  private org.jruby.runtime.callsite.CacheEntry searchWithCacheMiss(org.jruby.Ruby, java.lang.String, boolean);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;Z)Lorg/jruby/runtime/callsite/CacheEntry;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // java.lang.String id
        start local 3 // boolean cacheUndef
         0: .line 1561
            aload 0 /* this */
            getfield org.jruby.RubyModule.generation:I
            istore 4 /* token */
        start local 4 // int token
         1: .line 1563
            aload 0 /* this */
            aload 2 /* id */
            invokevirtual org.jruby.RubyModule.searchMethodEntryInner:(Ljava/lang/String;)Lorg/jruby/runtime/callsite/CacheEntry;
            astore 5 /* methodEntry */
        start local 5 // org.jruby.runtime.callsite.CacheEntry methodEntry
         2: .line 1565
            aload 5 /* methodEntry */
            ifnonnull 6
         3: .line 1566
            iload 3 /* cacheUndef */
            ifeq 5
         4: .line 1567
            aload 0 /* this */
            aload 2 /* id */
            invokestatic org.jruby.internal.runtime.methods.UndefinedMethod.getInstance:()Lorg/jruby/internal/runtime/methods/UndefinedMethod;
            aload 0 /* this */
            iload 4 /* token */
            invokevirtual org.jruby.RubyModule.addToCache:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;Lorg/jruby/RubyModule;I)Lorg/jruby/runtime/callsite/CacheEntry;
            areturn
         5: .line 1569
      StackMap locals: int org.jruby.runtime.callsite.CacheEntry
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyModule.cacheEntryFactory:Lorg/jruby/RubyModule$CacheEntryFactory;
            aload 2 /* id */
            invokestatic org.jruby.internal.runtime.methods.UndefinedMethod.getInstance:()Lorg/jruby/internal/runtime/methods/UndefinedMethod;
            aload 5 /* methodEntry */
            getfield org.jruby.runtime.callsite.CacheEntry.sourceModule:Lorg/jruby/RubyModule;
            iload 4 /* token */
            invokevirtual org.jruby.RubyModule$CacheEntryFactory.newCacheEntry:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;Lorg/jruby/RubyModule;I)Lorg/jruby/runtime/callsite/CacheEntry;
            areturn
         6: .line 1570
      StackMap locals:
      StackMap stack:
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.isBooting:()Z
            ifne 8
         7: .line 1571
            aload 0 /* this */
            aload 2 /* id */
            aload 5 /* methodEntry */
            invokevirtual org.jruby.RubyModule.addToCache:(Ljava/lang/String;Lorg/jruby/runtime/callsite/CacheEntry;)Lorg/jruby/runtime/callsite/CacheEntry;
            pop
         8: .line 1574
      StackMap locals:
      StackMap stack:
            aload 5 /* methodEntry */
            areturn
        end local 5 // org.jruby.runtime.callsite.CacheEntry methodEntry
        end local 4 // int token
        end local 3 // boolean cacheUndef
        end local 2 // java.lang.String id
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/jruby/RubyModule;
            0    9     1      runtime  Lorg/jruby/Ruby;
            0    9     2           id  Ljava/lang/String;
            0    9     3   cacheUndef  Z
            1    9     4        token  I
            2    9     5  methodEntry  Lorg/jruby/runtime/callsite/CacheEntry;
    MethodParameters:
            Name  Flags
      runtime     
      id          final
      cacheUndef  final

  public final int getCacheToken();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 1579
            aload 0 /* this */
            getfield org.jruby.RubyModule.generation:I
            ireturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public final int getGeneration();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 1583
            aload 0 /* this */
            getfield org.jruby.RubyModule.generation:I
            ireturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;

  public final java.lang.Integer getGenerationObject();
    descriptor: ()Ljava/lang/Integer;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 1587
            aload 0 /* this */
            getfield org.jruby.RubyModule.generationObject:Ljava/lang/Integer;
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;

  private final java.util.Map<java.lang.String, org.jruby.runtime.callsite.CacheEntry> getCachedMethods();
    descriptor: ()Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 1591
            aload 0 /* this */
            getfield org.jruby.RubyModule.cachedMethods:Ljava/util/Map;
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/jruby/runtime/callsite/CacheEntry;>;

  private final java.util.Map<java.lang.String, org.jruby.runtime.callsite.CacheEntry> getCachedMethodsForWrite();
    descriptor: ()Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 1595
            aload 0 /* this */
            getfield org.jruby.RubyModule.cachedMethods:Ljava/util/Map;
            astore 1 /* myCachedMethods */
        start local 1 // java.util.Map myCachedMethods
         1: .line 1596
            aload 1 /* myCachedMethods */
            getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
            if_acmpne 3
         2: .line 1597
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            iconst_0
            ldc 0.75
            iconst_1
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(IFI)V
            dup_x1
            putfield org.jruby.RubyModule.cachedMethods:Ljava/util/Map;
            goto 4
         3: .line 1598
      StackMap locals: java.util.Map
      StackMap stack:
            aload 1 /* myCachedMethods */
         4: .line 1596
      StackMap locals:
      StackMap stack: java.util.Map
            areturn
        end local 1 // java.util.Map myCachedMethods
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lorg/jruby/RubyModule;
            1    5     1  myCachedMethods  Ljava/util/Map<Ljava/lang/String;Lorg/jruby/runtime/callsite/CacheEntry;>;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/jruby/runtime/callsite/CacheEntry;>;

  private org.jruby.runtime.callsite.CacheEntry cacheHit(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/callsite/CacheEntry;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 1602
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.getCachedMethods:()Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.runtime.callsite.CacheEntry
            astore 2 /* cacheEntry */
        start local 2 // org.jruby.runtime.callsite.CacheEntry cacheEntry
         1: .line 1604
            aload 2 /* cacheEntry */
            ifnull 4
         2: .line 1605
            aload 2 /* cacheEntry */
            getfield org.jruby.runtime.callsite.CacheEntry.token:I
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getGeneration:()I
            if_icmpne 4
         3: .line 1606
            aload 2 /* cacheEntry */
            areturn
         4: .line 1610
      StackMap locals: org.jruby.runtime.callsite.CacheEntry
      StackMap stack:
            aconst_null
            areturn
        end local 2 // org.jruby.runtime.callsite.CacheEntry cacheEntry
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/jruby/RubyModule;
            0    5     1        name  Ljava/lang/String;
            1    5     2  cacheEntry  Lorg/jruby/runtime/callsite/CacheEntry;
    MethodParameters:
      Name  Flags
      name  

  private void invalidateConstantCacheForModuleInclusion(org.jruby.RubyModule);
    descriptor: (Lorg/jruby/RubyModule;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.RubyModule module
         0: .line 1614
            aconst_null
            astore 2 /* invalidators */
        start local 2 // java.util.Map invalidators
         1: .line 1615
            aload 0 /* this */
            aload 1 /* module */
            invokevirtual org.jruby.RubyModule.gatherModules:(Lorg/jruby/RubyModule;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: org.jruby.RubyModule org.jruby.RubyModule java.util.Map top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.RubyModule
            astore 3 /* mod */
        start local 3 // org.jruby.RubyModule mod
         3: .line 1616
            aload 3 /* mod */
            invokevirtual org.jruby.RubyModule.getConstantMap:()Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 7
      StackMap locals: org.jruby.RubyModule org.jruby.RubyModule java.util.Map org.jruby.RubyModule java.util.Iterator top java.util.Iterator
      StackMap stack:
         4: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* name */
        start local 5 // java.lang.String name
         5: .line 1617
            aload 2 /* invalidators */
            ifnonnull 6
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* invalidators */
         6: .line 1618
      StackMap locals: org.jruby.RubyModule org.jruby.RubyModule java.util.Map org.jruby.RubyModule java.util.Iterator java.lang.String java.util.Iterator
      StackMap stack:
            aload 2 /* invalidators */
            aload 5 /* name */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 5 /* name */
            invokevirtual org.jruby.Ruby.getConstantInvalidator:(Ljava/lang/String;)Lorg/jruby/runtime/opto/Invalidator;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.lang.String name
         7: .line 1616
      StackMap locals: org.jruby.RubyModule org.jruby.RubyModule java.util.Map org.jruby.RubyModule java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 3 // org.jruby.RubyModule mod
         8: .line 1615
      StackMap locals: org.jruby.RubyModule org.jruby.RubyModule java.util.Map top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         9: .line 1621
            aload 2 /* invalidators */
            ifnull 12
        10: .line 1622
            new java.util.ArrayList
            dup
            aload 2 /* invalidators */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 3 /* values */
        start local 3 // java.util.List values
        11: .line 1623
            aload 3 /* values */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.jruby.runtime.opto.Invalidator
            aload 3 /* values */
            invokeinterface org.jruby.runtime.opto.Invalidator.invalidateAll:(Ljava/util/List;)V
        end local 3 // java.util.List values
        12: .line 1625
      StackMap locals: org.jruby.RubyModule org.jruby.RubyModule java.util.Map
      StackMap stack:
            return
        end local 2 // java.util.Map invalidators
        end local 1 // org.jruby.RubyModule module
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lorg/jruby/RubyModule;
            0   13     1        module  Lorg/jruby/RubyModule;
            1   13     2  invalidators  Ljava/util/Map<Ljava/lang/String;Lorg/jruby/runtime/opto/Invalidator;>;
            3    8     3           mod  Lorg/jruby/RubyModule;
            5    7     5          name  Ljava/lang/String;
           11   12     3        values  Ljava/util/List<Lorg/jruby/runtime/opto/Invalidator;>;
    MethodParameters:
        Name  Flags
      module  

  public void becomeSynchronized();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 1722
            aload 0 /* this */
            new org.jruby.RubyModule$SynchronizedCacheEntryFactory
            dup
            aload 0 /* this */
            getfield org.jruby.RubyModule.cacheEntryFactory:Lorg/jruby/RubyModule$CacheEntryFactory;
            invokespecial org.jruby.RubyModule$SynchronizedCacheEntryFactory.<init>:(Lorg/jruby/RubyModule$CacheEntryFactory;)V
            putfield org.jruby.RubyModule.cacheEntryFactory:Lorg/jruby/RubyModule$CacheEntryFactory;
         1: .line 1723
            return
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyModule;

  public boolean isSynchronized();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 1726
            aload 0 /* this */
            getfield org.jruby.RubyModule.cacheEntryFactory:Lorg/jruby/RubyModule$CacheEntryFactory;
            ldc Lorg/jruby/RubyModule$SynchronizedCacheEntryFactory;
            invokevirtual org.jruby.RubyModule$CacheEntryFactory.hasCacheEntryFactory:(Ljava/lang/Class;)Z
            ireturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;

  protected org.jruby.runtime.callsite.CacheEntry addToCache(java.lang.String, org.jruby.internal.runtime.methods.DynamicMethod, org.jruby.RubyModule, int);
    descriptor: (Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;Lorg/jruby/RubyModule;I)Lorg/jruby/runtime/callsite/CacheEntry;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String id
        start local 2 // org.jruby.internal.runtime.methods.DynamicMethod method
        start local 3 // org.jruby.RubyModule sourceModule
        start local 4 // int token
         0: .line 1730
            aload 0 /* this */
            getfield org.jruby.RubyModule.cacheEntryFactory:Lorg/jruby/RubyModule$CacheEntryFactory;
            aload 1 /* id */
            aload 2 /* method */
            aload 3 /* sourceModule */
            iload 4 /* token */
            invokevirtual org.jruby.RubyModule$CacheEntryFactory.newCacheEntry:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;Lorg/jruby/RubyModule;I)Lorg/jruby/runtime/callsite/CacheEntry;
            astore 5 /* entry */
        start local 5 // org.jruby.runtime.callsite.CacheEntry entry
         1: .line 1732
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.getCachedMethodsForWrite:()Ljava/util/Map;
            aload 1 /* id */
            aload 5 /* entry */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 1734
            aload 5 /* entry */
            areturn
        end local 5 // org.jruby.runtime.callsite.CacheEntry entry
        end local 4 // int token
        end local 3 // org.jruby.RubyModule sourceModule
        end local 2 // org.jruby.internal.runtime.methods.DynamicMethod method
        end local 1 // java.lang.String id
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/jruby/RubyModule;
            0    3     1            id  Ljava/lang/String;
            0    3     2        method  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    3     3  sourceModule  Lorg/jruby/RubyModule;
            0    3     4         token  I
            1    3     5         entry  Lorg/jruby/runtime/callsite/CacheEntry;
    MethodParameters:
              Name  Flags
      id            
      method        
      sourceModule  
      token         

  protected org.jruby.runtime.callsite.CacheEntry addToCache(java.lang.String, org.jruby.runtime.callsite.CacheEntry);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/callsite/CacheEntry;)Lorg/jruby/runtime/callsite/CacheEntry;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String id
        start local 2 // org.jruby.runtime.callsite.CacheEntry entry
         0: .line 1738
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.getCachedMethodsForWrite:()Ljava/util/Map;
            aload 1 /* id */
            aload 2 /* entry */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1740
            aload 2 /* entry */
            areturn
        end local 2 // org.jruby.runtime.callsite.CacheEntry entry
        end local 1 // java.lang.String id
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/RubyModule;
            0    2     1     id  Ljava/lang/String;
            0    2     2  entry  Lorg/jruby/runtime/callsite/CacheEntry;
    MethodParameters:
       Name  Flags
      id     
      entry  

  public org.jruby.internal.runtime.methods.DynamicMethod searchMethodInner(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String id
         0: .line 1747
            aload 0 /* this */
            astore 2 /* module */
        start local 2 // org.jruby.RubyModule module
         1: goto 7
         2: .line 1751
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 2 /* module */
            aload 1 /* id */
            invokevirtual org.jruby.RubyModule.searchMethodCommon:(Ljava/lang/String;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 3 /* method */
        start local 3 // org.jruby.internal.runtime.methods.DynamicMethod method
         3: .line 1752
            aload 3 /* method */
            ifnull 6
            aload 3 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isNull:()Z
            ifeq 4
            aconst_null
            goto 5
      StackMap locals: org.jruby.internal.runtime.methods.DynamicMethod
      StackMap stack:
         4: aload 3 /* method */
      StackMap locals:
      StackMap stack: org.jruby.internal.runtime.methods.DynamicMethod
         5: areturn
        end local 3 // org.jruby.internal.runtime.methods.DynamicMethod method
         6: .line 1747
      StackMap locals:
      StackMap stack:
            aload 2 /* module */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 2 /* module */
      StackMap locals:
      StackMap stack:
         7: aload 2 /* module */
            ifnonnull 2
        end local 2 // org.jruby.RubyModule module
         8: .line 1754
            aconst_null
            areturn
        end local 1 // java.lang.String id
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/jruby/RubyModule;
            0    9     1      id  Ljava/lang/String;
            1    8     2  module  Lorg/jruby/RubyModule;
            3    6     3  method  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    MethodParameters:
      Name  Flags
      id    

  public org.jruby.runtime.callsite.CacheEntry searchMethodEntryInner(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/callsite/CacheEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String id
         0: .line 1758
            aload 0 /* this */
            getfield org.jruby.RubyModule.generation:I
            istore 2 /* token */
        start local 2 // int token
         1: .line 1761
            aload 0 /* this */
            astore 3 /* module */
        start local 3 // org.jruby.RubyModule module
         2: goto 8
         3: .line 1765
      StackMap locals: int org.jruby.RubyModule
      StackMap stack:
            aload 3 /* module */
            aload 1 /* id */
            invokevirtual org.jruby.RubyModule.searchMethodCommon:(Ljava/lang/String;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 4 /* method */
        start local 4 // org.jruby.internal.runtime.methods.DynamicMethod method
         4: .line 1766
            aload 4 /* method */
            ifnull 7
            aload 4 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isNull:()Z
            ifeq 5
            aconst_null
            goto 6
      StackMap locals: org.jruby.internal.runtime.methods.DynamicMethod
      StackMap stack:
         5: aload 0 /* this */
            getfield org.jruby.RubyModule.cacheEntryFactory:Lorg/jruby/RubyModule$CacheEntryFactory;
            aload 1 /* id */
            aload 4 /* method */
            aload 3 /* module */
            iload 2 /* token */
            invokevirtual org.jruby.RubyModule$CacheEntryFactory.newCacheEntry:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;Lorg/jruby/RubyModule;I)Lorg/jruby/runtime/callsite/CacheEntry;
      StackMap locals:
      StackMap stack: org.jruby.runtime.callsite.CacheEntry
         6: areturn
        end local 4 // org.jruby.internal.runtime.methods.DynamicMethod method
         7: .line 1761
      StackMap locals:
      StackMap stack:
            aload 3 /* module */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 3 /* module */
      StackMap locals:
      StackMap stack:
         8: aload 3 /* module */
            ifnonnull 3
        end local 3 // org.jruby.RubyModule module
         9: .line 1768
            aconst_null
            areturn
        end local 2 // int token
        end local 1 // java.lang.String id
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/jruby/RubyModule;
            0   10     1      id  Ljava/lang/String;
            1   10     2   token  I
            2    9     3  module  Lorg/jruby/RubyModule;
            4    7     4  method  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    MethodParameters:
      Name  Flags
      id    

  public org.jruby.runtime.callsite.CacheEntry resolveRefinedMethod(java.util.Map<org.jruby.RubyModule, org.jruby.RubyModule>, org.jruby.runtime.callsite.CacheEntry, java.lang.String, boolean);
    descriptor: (Ljava/util/Map;Lorg/jruby/runtime/callsite/CacheEntry;Ljava/lang/String;Z)Lorg/jruby/runtime/callsite/CacheEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.util.Map refinements
        start local 2 // org.jruby.runtime.callsite.CacheEntry entry
        start local 3 // java.lang.String id
        start local 4 // boolean cacheUndef
         0: .line 1773
            aload 2 /* entry */
            ifnull 8
            aload 2 /* entry */
            getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isRefined:()Z
            ifeq 8
         1: .line 1775
            aload 1 /* refinements */
            aload 2 /* entry */
            getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getDefinedClass:()Lorg/jruby/RubyModule;
            invokestatic org.jruby.RubyModule.findRefinement:(Ljava/util/Map;Lorg/jruby/RubyModule;)Lorg/jruby/RubyModule;
            astore 5 /* refinement */
        start local 5 // org.jruby.RubyModule refinement
         2: .line 1777
            aload 5 /* refinement */
            ifnonnull 4
         3: .line 1778
            aload 0 /* this */
            aload 1 /* refinements */
            aload 3 /* id */
            iload 4 /* cacheUndef */
            aload 2 /* entry */
            invokevirtual org.jruby.RubyModule.refinedMethodOriginalMethodEntry:(Ljava/util/Map;Ljava/lang/String;ZLorg/jruby/runtime/callsite/CacheEntry;)Lorg/jruby/runtime/callsite/CacheEntry;
            areturn
         4: .line 1780
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 5 /* refinement */
            aload 3 /* id */
            invokevirtual org.jruby.RubyModule.searchWithCache:(Ljava/lang/String;)Lorg/jruby/runtime/callsite/CacheEntry;
            astore 6 /* tmpEntry */
        start local 6 // org.jruby.runtime.callsite.CacheEntry tmpEntry
         5: .line 1781
            aload 6 /* tmpEntry */
            getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isRefined:()Z
            ifne 7
         6: .line 1782
            aload 6 /* tmpEntry */
            areturn
         7: .line 1784
      StackMap locals: org.jruby.runtime.callsite.CacheEntry
      StackMap stack:
            aload 0 /* this */
            aload 1 /* refinements */
            aload 3 /* id */
            iload 4 /* cacheUndef */
            aload 2 /* entry */
            invokevirtual org.jruby.RubyModule.refinedMethodOriginalMethodEntry:(Ljava/util/Map;Ljava/lang/String;ZLorg/jruby/runtime/callsite/CacheEntry;)Lorg/jruby/runtime/callsite/CacheEntry;
            areturn
        end local 6 // org.jruby.runtime.callsite.CacheEntry tmpEntry
        end local 5 // org.jruby.RubyModule refinement
         8: .line 1789
      StackMap locals:
      StackMap stack:
            aload 2 /* entry */
            areturn
        end local 4 // boolean cacheUndef
        end local 3 // java.lang.String id
        end local 2 // org.jruby.runtime.callsite.CacheEntry entry
        end local 1 // java.util.Map refinements
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/jruby/RubyModule;
            0    9     1  refinements  Ljava/util/Map<Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;>;
            0    9     2        entry  Lorg/jruby/runtime/callsite/CacheEntry;
            0    9     3           id  Ljava/lang/String;
            0    9     4   cacheUndef  Z
            2    8     5   refinement  Lorg/jruby/RubyModule;
            5    8     6     tmpEntry  Lorg/jruby/runtime/callsite/CacheEntry;
    Signature: (Ljava/util/Map<Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;>;Lorg/jruby/runtime/callsite/CacheEntry;Ljava/lang/String;Z)Lorg/jruby/runtime/callsite/CacheEntry;
    MethodParameters:
             Name  Flags
      refinements  
      entry        
      id           
      cacheUndef   

  private static org.jruby.RubyModule findRefinement(java.util.Map<org.jruby.RubyModule, org.jruby.RubyModule>, org.jruby.RubyModule);
    descriptor: (Ljava/util/Map;Lorg/jruby/RubyModule;)Lorg/jruby/RubyModule;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.Map refinements
        start local 1 // org.jruby.RubyModule target
         0: .line 1794
            aload 0 /* refinements */
            ifnonnull 2
         1: .line 1795
            aconst_null
            areturn
         2: .line 1797
      StackMap locals:
      StackMap stack:
            aload 0 /* refinements */
            aload 1 /* target */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.RubyModule
            areturn
        end local 1 // org.jruby.RubyModule target
        end local 0 // java.util.Map refinements
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  refinements  Ljava/util/Map<Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;>;
            0    3     1       target  Lorg/jruby/RubyModule;
    Signature: (Ljava/util/Map<Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;>;Lorg/jruby/RubyModule;)Lorg/jruby/RubyModule;
    MethodParameters:
             Name  Flags
      refinements  
      target       

  protected org.jruby.internal.runtime.methods.DynamicMethod searchMethodCommon(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String id
         0: .line 1802
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getMethods:()Ljava/util/Map;
            aload 1 /* id */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.internal.runtime.methods.DynamicMethod
            areturn
        end local 1 // java.lang.String id
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1    id  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      id    

  public void invalidateCacheDescendants();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 1806
            getstatic org.jruby.RubyModule.LOG:Lorg/jruby/util/log/Logger;
            ldc "{} invalidating descendants"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.jruby.RubyModule.baseName:Ljava/lang/String;
            aastore
            invokeinterface org.jruby.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
         1: .line 1808
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCaches:()Lorg/jruby/management/Caches;
            invokevirtual org.jruby.management.Caches.incrementMethodInvalidations:()J
            pop2
         2: .line 1810
            aload 0 /* this */
            getfield org.jruby.RubyModule.includingHierarchies:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 5
         3: .line 1812
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodInvalidator:Lorg/jruby/runtime/opto/Invalidator;
            invokeinterface org.jruby.runtime.opto.Invalidator.invalidate:()V
         4: .line 1813
            return
         5: .line 1816
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* invalidators */
        start local 1 // java.util.List invalidators
         6: .line 1817
            aload 1 /* invalidators */
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodInvalidator:Lorg/jruby/runtime/opto/Invalidator;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 1819
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getHierarchyLock:()Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         8: .line 1820
            aload 0 /* this */
            getfield org.jruby.RubyModule.includingHierarchies:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 11
      StackMap locals: org.jruby.RubyModule java.util.List java.lang.Object top java.util.Iterator
      StackMap stack:
         9: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.RubyClass
            astore 3 /* includingHierarchy */
        start local 3 // org.jruby.RubyClass includingHierarchy
        10: .line 1821
            aload 3 /* includingHierarchy */
            aload 1 /* invalidators */
            invokevirtual org.jruby.RubyClass.addInvalidatorsAndFlush:(Ljava/util/List;)V
        end local 3 // org.jruby.RubyClass includingHierarchy
        11: .line 1820
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        12: .line 1819
            aload 2
            monitorexit
        13: goto 16
      StackMap locals: org.jruby.RubyModule java.util.List java.lang.Object
      StackMap stack: java.lang.Throwable
        14: aload 2
            monitorexit
        15: athrow
        16: .line 1825
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodInvalidator:Lorg/jruby/runtime/opto/Invalidator;
            aload 1 /* invalidators */
            invokeinterface org.jruby.runtime.opto.Invalidator.invalidateAll:(Ljava/util/List;)V
        17: .line 1826
            return
        end local 1 // java.util.List invalidators
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   18     0                this  Lorg/jruby/RubyModule;
            6   18     1        invalidators  Ljava/util/List<Lorg/jruby/runtime/opto/Invalidator;>;
           10   11     3  includingHierarchy  Lorg/jruby/RubyClass;
      Exception table:
        from    to  target  type
           8    13      14  any
          14    15      14  any

  protected void invalidateCoreClasses();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 1830
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.isBootingCore:()Z
            ifne 6
         1: .line 1831
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getFixnum:()Lorg/jruby/RubyClass;
            if_acmpne 4
         2: .line 1832
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.reopenFixnum:()V
         3: .line 1833
            goto 6
      StackMap locals:
      StackMap stack:
         4: aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getFloat:()Lorg/jruby/RubyClass;
            if_acmpne 6
         5: .line 1834
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.reopenFloat:()V
         6: .line 1837
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/jruby/RubyModule;

  public org.jruby.runtime.opto.Invalidator getInvalidator();
    descriptor: ()Lorg/jruby/runtime/opto/Invalidator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 1840
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodInvalidator:Lorg/jruby/runtime/opto/Invalidator;
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;

  public void updateGeneration();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 1844
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyModule.updateGeneration:(Lorg/jruby/Ruby;)V
         1: .line 1845
            return
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyModule;

  private void updateGeneration(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.Ruby runtime
         0: .line 1848
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNextModuleGeneration:()I
            dup_x1
            putfield org.jruby.RubyModule.generation:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            putfield org.jruby.RubyModule.generationObject:Ljava/lang/Integer;
         1: .line 1849
            return
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyModule;
            0    2     1  runtime  Lorg/jruby/Ruby;
    MethodParameters:
         Name  Flags
      runtime  final

  protected void invalidateCacheDescendantsInner();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 1853
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodInvalidator:Lorg/jruby/runtime/opto/Invalidator;
            invokeinterface org.jruby.runtime.opto.Invalidator.invalidate:()V
         1: .line 1854
            return
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyModule;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  protected void invalidateConstantCache(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String constantName
         0: .line 1857
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* constantName */
            invokevirtual org.jruby.Ruby.getConstantInvalidator:(Ljava/lang/String;)Lorg/jruby/runtime/opto/Invalidator;
            invokeinterface org.jruby.runtime.opto.Invalidator.invalidate:()V
         1: .line 1858
            return
        end local 1 // java.lang.String constantName
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/jruby/RubyModule;
            0    2     1  constantName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      constantName  

  protected void invalidateConstantCaches(java.util.Set<java.lang.String>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.util.Set constantNames
         0: .line 1861
            aload 1 /* constantNames */
            invokeinterface java.util.Set.size:()I
            ifle 8
         1: .line 1862
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         2: .line 1864
            new java.util.ArrayList
            dup
            aload 1 /* constantNames */
            invokeinterface java.util.Set.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* constantInvalidators */
        start local 3 // java.util.List constantInvalidators
         3: .line 1865
            aload 1 /* constantNames */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 6
      StackMap locals: org.jruby.RubyModule java.util.Set org.jruby.Ruby java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* name */
        start local 4 // java.lang.String name
         5: .line 1866
            aload 3 /* constantInvalidators */
            aload 2 /* runtime */
            aload 4 /* name */
            invokevirtual org.jruby.Ruby.getConstantInvalidator:(Ljava/lang/String;)Lorg/jruby/runtime/opto/Invalidator;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String name
         6: .line 1865
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 1869
            aload 3 /* constantInvalidators */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.jruby.runtime.opto.Invalidator
            aload 3 /* constantInvalidators */
            invokeinterface org.jruby.runtime.opto.Invalidator.invalidateAll:(Ljava/util/List;)V
        end local 3 // java.util.List constantInvalidators
        end local 2 // org.jruby.Ruby runtime
         8: .line 1871
      StackMap locals: org.jruby.RubyModule java.util.Set
      StackMap stack:
            return
        end local 1 // java.util.Set constantNames
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    9     0                  this  Lorg/jruby/RubyModule;
            0    9     1         constantNames  Ljava/util/Set<Ljava/lang/String;>;
            2    8     2               runtime  Lorg/jruby/Ruby;
            3    8     3  constantInvalidators  Ljava/util/List<Lorg/jruby/runtime/opto/Invalidator;>;
            5    6     4                  name  Ljava/lang/String;
    Signature: (Ljava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
               Name  Flags
      constantNames  

  public org.jruby.internal.runtime.methods.DynamicMethod retrieveMethod(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 1880
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getMethods:()Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.internal.runtime.methods.DynamicMethod
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public org.jruby.RubyModule findImplementer(org.jruby.RubyModule);
    descriptor: (Lorg/jruby/RubyModule;)Lorg/jruby/RubyModule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.RubyModule clazz
         0: .line 1890
            aload 0 /* this */
            astore 2 /* module */
        start local 2 // org.jruby.RubyModule module
         1: goto 4
         2: .line 1891
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 2 /* module */
            aload 1 /* clazz */
            invokevirtual org.jruby.RubyModule.isSame:(Lorg/jruby/RubyModule;)Z
            ifeq 3
            aload 2 /* module */
            areturn
         3: .line 1890
      StackMap locals:
      StackMap stack:
            aload 2 /* module */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 2 /* module */
      StackMap locals:
      StackMap stack:
         4: aload 2 /* module */
            ifnonnull 2
        end local 2 // org.jruby.RubyModule module
         5: .line 1894
            aconst_null
            areturn
        end local 1 // org.jruby.RubyModule clazz
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/jruby/RubyModule;
            0    6     1   clazz  Lorg/jruby/RubyModule;
            1    5     2  module  Lorg/jruby/RubyModule;
    MethodParameters:
       Name  Flags
      clazz  

  public void addModuleFunction(java.lang.String, org.jruby.internal.runtime.methods.DynamicMethod);
    descriptor: (Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.internal.runtime.methods.DynamicMethod method
         0: .line 1898
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* method */
            invokevirtual org.jruby.RubyModule.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
         1: .line 1899
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getSingletonClass:()Lorg/jruby/RubyClass;
            aload 1 /* name */
            aload 2 /* method */
            invokevirtual org.jruby.RubyClass.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
         2: .line 1900
            return
        end local 2 // org.jruby.internal.runtime.methods.DynamicMethod method
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/jruby/RubyModule;
            0    3     1    name  Ljava/lang/String;
            0    3     2  method  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    MethodParameters:
        Name  Flags
      name    
      method  

  public synchronized void defineAlias(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String oldName
         0: .line 1906
            aload 0 /* this */
            ldc "module"
            invokevirtual org.jruby.RubyModule.testFrozen:(Ljava/lang/String;)V
         1: .line 1908
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 2 /* oldName */
            invokevirtual org.jruby.RubyModule.searchForAliasMethod:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/runtime/callsite/CacheEntry;
            aload 2 /* oldName */
            invokevirtual org.jruby.RubyModule.putAlias:(Ljava/lang/String;Lorg/jruby/runtime/callsite/CacheEntry;Ljava/lang/String;)V
         2: .line 1910
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.invalidateCoreClasses:()V
         3: .line 1911
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.invalidateCacheDescendants:()V
         4: .line 1912
            return
        end local 2 // java.lang.String oldName
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyModule;
            0    5     1     name  Ljava/lang/String;
            0    5     2  oldName  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      name     
      oldName  

  public void putAlias(java.lang.String, org.jruby.internal.runtime.methods.DynamicMethod, java.lang.String);
    descriptor: (Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=4, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String id
        start local 2 // org.jruby.internal.runtime.methods.DynamicMethod method
        start local 3 // java.lang.String oldName
         0: .line 1923
            aload 1 /* id */
            aload 3 /* oldName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 1
            return
         1: .line 1925
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* id */
            new org.jruby.internal.runtime.methods.AliasMethod
            dup
            aload 0 /* this */
            new org.jruby.runtime.callsite.CacheEntry
            dup
            aload 2 /* method */
            aload 2 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getImplementationClass:()Lorg/jruby/RubyModule;
            aload 0 /* this */
            getfield org.jruby.RubyModule.generation:I
            invokespecial org.jruby.runtime.callsite.CacheEntry.<init>:(Lorg/jruby/internal/runtime/methods/DynamicMethod;Lorg/jruby/RubyModule;I)V
            aload 3 /* oldName */
            invokespecial org.jruby.internal.runtime.methods.AliasMethod.<init>:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/callsite/CacheEntry;Ljava/lang/String;)V
            invokevirtual org.jruby.RubyModule.putMethod:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
            pop
         2: .line 1927
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.isRefinement:()Z
            ifeq 4
         3: .line 1928
            aload 0 /* this */
            aload 1 /* id */
            aload 2 /* method */
            invokevirtual org.jruby.RubyModule.addRefinedMethodEntry:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
         4: .line 1930
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String oldName
        end local 2 // org.jruby.internal.runtime.methods.DynamicMethod method
        end local 1 // java.lang.String id
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyModule;
            0    5     1       id  Ljava/lang/String;
            0    5     2   method  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    5     3  oldName  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      id       
      method   
      oldName  

  public void putAlias(java.lang.String, org.jruby.runtime.callsite.CacheEntry, java.lang.String);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/callsite/CacheEntry;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String id
        start local 2 // org.jruby.runtime.callsite.CacheEntry entry
        start local 3 // java.lang.String oldName
         0: .line 1940
            aload 1 /* id */
            aload 3 /* oldName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 1
            return
         1: .line 1942
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* id */
            new org.jruby.internal.runtime.methods.AliasMethod
            dup
            aload 0 /* this */
            aload 2 /* entry */
            aload 3 /* oldName */
            invokespecial org.jruby.internal.runtime.methods.AliasMethod.<init>:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/callsite/CacheEntry;Ljava/lang/String;)V
            invokevirtual org.jruby.RubyModule.putMethod:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
            pop
         2: .line 1944
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.isRefinement:()Z
            ifeq 4
         3: .line 1945
            aload 0 /* this */
            aload 1 /* id */
            aload 2 /* entry */
            getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            invokevirtual org.jruby.RubyModule.addRefinedMethodEntry:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
         4: .line 1947
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String oldName
        end local 2 // org.jruby.runtime.callsite.CacheEntry entry
        end local 1 // java.lang.String id
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyModule;
            0    5     1       id  Ljava/lang/String;
            0    5     2    entry  Lorg/jruby/runtime/callsite/CacheEntry;
            0    5     3  oldName  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      id       
      entry    
      oldName  

  public synchronized void defineAliases(java.util.List<java.lang.String>, java.lang.String);
    descriptor: (Ljava/util/List;Ljava/lang/String;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.util.List aliases
        start local 2 // java.lang.String oldId
         0: .line 1950
            aload 0 /* this */
            ldc "module"
            invokevirtual org.jruby.RubyModule.testFrozen:(Ljava/lang/String;)V
         1: .line 1952
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         2: .line 1953
            aload 0 /* this */
            aload 3 /* runtime */
            aload 2 /* oldId */
            invokevirtual org.jruby.RubyModule.searchForAliasMethod:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/runtime/callsite/CacheEntry;
            astore 4 /* entry */
        start local 4 // org.jruby.runtime.callsite.CacheEntry entry
         3: .line 1955
            aload 1 /* aliases */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 6
      StackMap locals: org.jruby.RubyModule java.util.List java.lang.String org.jruby.Ruby org.jruby.runtime.callsite.CacheEntry top java.util.Iterator
      StackMap stack:
         4: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* name */
        start local 5 // java.lang.String name
         5: .line 1956
            aload 0 /* this */
            aload 5 /* name */
            aload 4 /* entry */
            aload 2 /* oldId */
            invokevirtual org.jruby.RubyModule.putAlias:(Ljava/lang/String;Lorg/jruby/runtime/callsite/CacheEntry;Ljava/lang/String;)V
        end local 5 // java.lang.String name
         6: .line 1955
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 1959
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.invalidateCoreClasses:()V
         8: .line 1960
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.invalidateCacheDescendants:()V
         9: .line 1961
            return
        end local 4 // org.jruby.runtime.callsite.CacheEntry entry
        end local 3 // org.jruby.Ruby runtime
        end local 2 // java.lang.String oldId
        end local 1 // java.util.List aliases
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/jruby/RubyModule;
            0   10     1  aliases  Ljava/util/List<Ljava/lang/String;>;
            0   10     2    oldId  Ljava/lang/String;
            2   10     3  runtime  Lorg/jruby/Ruby;
            3   10     4    entry  Lorg/jruby/runtime/callsite/CacheEntry;
            5    6     5     name  Ljava/lang/String;
    Signature: (Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;)V
    MethodParameters:
         Name  Flags
      aliases  
      oldId    

  private org.jruby.runtime.callsite.CacheEntry searchForAliasMethod(org.jruby.Ruby, java.lang.String);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/runtime/callsite/CacheEntry;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=12, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // java.lang.String id
         0: .line 1964
            aload 0 /* this */
            aload 2 /* id */
            aload 1 /* runtime */
            invokevirtual org.jruby.RubyModule.deepMethodSearch:(Ljava/lang/String;Lorg/jruby/Ruby;)Lorg/jruby/runtime/callsite/CacheEntry;
            astore 3 /* entry */
        start local 3 // org.jruby.runtime.callsite.CacheEntry entry
         1: .line 1965
            aload 3 /* entry */
            getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 4 /* method */
        start local 4 // org.jruby.internal.runtime.methods.DynamicMethod method
         2: .line 1967
            aload 4 /* method */
            instanceof org.jruby.internal.runtime.methods.NativeCallMethod
            ifeq 21
         3: .line 1973
            aload 4 /* method */
            checkcast org.jruby.internal.runtime.methods.NativeCallMethod
            invokeinterface org.jruby.internal.runtime.methods.NativeCallMethod.getNativeCall:()Lorg/jruby/internal/runtime/methods/DynamicMethod$NativeCall;
            astore 5 /* nativeCall */
        start local 5 // org.jruby.internal.runtime.methods.DynamicMethod$NativeCall nativeCall
         4: .line 1976
            aload 5 /* nativeCall */
            ifnonnull 5
            aload 3 /* entry */
            areturn
         5: .line 1978
      StackMap locals: org.jruby.runtime.callsite.CacheEntry org.jruby.internal.runtime.methods.DynamicMethod org.jruby.internal.runtime.methods.DynamicMethod$NativeCall
      StackMap stack:
            aload 5 /* nativeCall */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod$NativeCall.getMethod:()Ljava/lang/reflect/Method;
            astore 6 /* javaMethod */
        start local 6 // java.lang.reflect.Method javaMethod
         6: .line 1979
            aload 6 /* javaMethod */
            ldc Lorg/jruby/anno/JRubyMethod;
            invokevirtual java.lang.reflect.Method.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.jruby.anno.JRubyMethod
            astore 7 /* anno */
        start local 7 // org.jruby.anno.JRubyMethod anno
         7: .line 1981
            aload 7 /* anno */
            ifnonnull 8
            aload 3 /* entry */
            areturn
         8: .line 1983
      StackMap locals: java.lang.reflect.Method org.jruby.anno.JRubyMethod
      StackMap stack:
            aload 7 /* anno */
            invokeinterface org.jruby.anno.JRubyMethod.reads:()[Lorg/jruby/anno/FrameField;
            arraylength
            ifgt 9
            aload 7 /* anno */
            invokeinterface org.jruby.anno.JRubyMethod.writes:()[Lorg/jruby/anno/FrameField;
            arraylength
            ifle 21
         9: .line 1985
      StackMap locals:
      StackMap stack:
            aload 2 /* id */
            aload 7 /* anno */
            invokeinterface org.jruby.anno.JRubyMethod.reads:()[Lorg/jruby/anno/FrameField;
            invokestatic org.jruby.runtime.MethodIndex.addMethodReadFields:(Ljava/lang/String;[Lorg/jruby/anno/FrameField;)V
        10: .line 1986
            aload 2 /* id */
            aload 7 /* anno */
            invokeinterface org.jruby.anno.JRubyMethod.writes:()[Lorg/jruby/anno/FrameField;
            invokestatic org.jruby.runtime.MethodIndex.addMethodWriteFields:(Ljava/lang/String;[Lorg/jruby/anno/FrameField;)V
        11: .line 1988
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.isVerbose:()Z
            ifeq 21
        12: .line 1989
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getBaseName:()Ljava/lang/String;
            astore 8 /* baseName */
        start local 8 // java.lang.String baseName
        13: .line 1990
            bipush 35
            istore 9 /* refChar */
        start local 9 // char refChar
        14: .line 1991
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getSimpleName:()Ljava/lang/String;
            astore 10 /* simpleName */
        start local 10 // java.lang.String simpleName
        15: .line 1993
            aload 8 /* baseName */
            ifnonnull 20
            aload 0 /* this */
            instanceof org.jruby.MetaClass
            ifeq 20
        16: .line 1994
            aload 0 /* this */
            checkcast org.jruby.MetaClass
            invokevirtual org.jruby.MetaClass.getAttached:()Lorg/jruby/RubyBasicObject;
            astore 11 /* attached */
        start local 11 // org.jruby.runtime.builtin.IRubyObject attached
        17: .line 1995
            aload 11 /* attached */
            instanceof org.jruby.RubyModule
            ifeq 20
        18: .line 1996
            aload 11 /* attached */
            checkcast org.jruby.RubyModule
            invokevirtual org.jruby.RubyModule.getSimpleName:()Ljava/lang/String;
            astore 10 /* simpleName */
        19: .line 1997
            bipush 46
            istore 9 /* refChar */
        end local 11 // org.jruby.runtime.builtin.IRubyObject attached
        20: .line 2001
      StackMap locals: java.lang.String int java.lang.String
      StackMap stack:
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            new java.lang.StringBuilder
            dup
            aload 10 /* simpleName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 9 /* refChar */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 2 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " accesses caller method's state and should not be aliased"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.common.RubyWarnings.warning:(Ljava/lang/String;)V
        end local 10 // java.lang.String simpleName
        end local 9 // char refChar
        end local 8 // java.lang.String baseName
        end local 7 // org.jruby.anno.JRubyMethod anno
        end local 6 // java.lang.reflect.Method javaMethod
        end local 5 // org.jruby.internal.runtime.methods.DynamicMethod$NativeCall nativeCall
        21: .line 2006
      StackMap locals: org.jruby.RubyModule org.jruby.Ruby java.lang.String org.jruby.runtime.callsite.CacheEntry org.jruby.internal.runtime.methods.DynamicMethod
      StackMap stack:
            aload 3 /* entry */
            areturn
        end local 4 // org.jruby.internal.runtime.methods.DynamicMethod method
        end local 3 // org.jruby.runtime.callsite.CacheEntry entry
        end local 2 // java.lang.String id
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0        this  Lorg/jruby/RubyModule;
            0   22     1     runtime  Lorg/jruby/Ruby;
            0   22     2          id  Ljava/lang/String;
            1   22     3       entry  Lorg/jruby/runtime/callsite/CacheEntry;
            2   22     4      method  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            4   21     5  nativeCall  Lorg/jruby/internal/runtime/methods/DynamicMethod$NativeCall;
            6   21     6  javaMethod  Ljava/lang/reflect/Method;
            7   21     7        anno  Lorg/jruby/anno/JRubyMethod;
           13   21     8    baseName  Ljava/lang/String;
           14   21     9     refChar  C
           15   21    10  simpleName  Ljava/lang/String;
           17   20    11    attached  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  
      id       

  public org.jruby.RubyClass defineOrGetClassUnder(java.lang.String, org.jruby.RubyClass);
    descriptor: (Ljava/lang/String;Lorg/jruby/RubyClass;)Lorg/jruby/RubyClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.RubyClass superClazz
         0: .line 2013
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* superClazz */
            aconst_null
            invokevirtual org.jruby.RubyModule.defineOrGetClassUnder:(Ljava/lang/String;Lorg/jruby/RubyClass;Lorg/jruby/runtime/ObjectAllocator;)Lorg/jruby/RubyClass;
            areturn
        end local 2 // org.jruby.RubyClass superClazz
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/jruby/RubyModule;
            0    1     1        name  Ljava/lang/String;
            0    1     2  superClazz  Lorg/jruby/RubyClass;
    MethodParameters:
            Name  Flags
      name        
      superClazz  

  public org.jruby.RubyClass defineOrGetClassUnder(java.lang.String, org.jruby.RubyClass, org.jruby.runtime.ObjectAllocator);
    descriptor: (Ljava/lang/String;Lorg/jruby/RubyClass;Lorg/jruby/runtime/ObjectAllocator;)Lorg/jruby/RubyClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.RubyClass superClazz
        start local 3 // org.jruby.runtime.ObjectAllocator allocator
         0: .line 2021
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 2022
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.getConstantAtSpecial:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* classObj */
        start local 5 // org.jruby.runtime.builtin.IRubyObject classObj
         2: .line 2025
            aload 5 /* classObj */
            ifnull 12
         3: .line 2026
            aload 5 /* classObj */
            instanceof org.jruby.RubyClass
            ifne 4
            aload 4 /* runtime */
            new java.lang.StringBuilder
            dup
            aload 1 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " is not a class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 2027
      StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 5 /* classObj */
            checkcast org.jruby.RubyClass
            astore 6 /* clazz */
        start local 6 // org.jruby.RubyClass clazz
         5: .line 2029
            aload 2 /* superClazz */
            ifnull 27
         6: .line 2030
            aload 6 /* clazz */
            invokevirtual org.jruby.RubyClass.getSuperClass:()Lorg/jruby/RubyClass;
            astore 7 /* tmp */
        start local 7 // org.jruby.RubyClass tmp
         7: .line 2031
            goto 9
      StackMap locals: org.jruby.RubyClass org.jruby.RubyClass
      StackMap stack:
         8: aload 7 /* tmp */
            invokevirtual org.jruby.RubyClass.getSuperClass:()Lorg/jruby/RubyClass;
            astore 7 /* tmp */
      StackMap locals:
      StackMap stack:
         9: aload 7 /* tmp */
            ifnull 10
            aload 7 /* tmp */
            invokevirtual org.jruby.RubyClass.isIncluded:()Z
            ifne 8
        10: .line 2032
      StackMap locals:
      StackMap stack:
            aload 7 /* tmp */
            ifnull 11
            aload 7 /* tmp */
            invokevirtual org.jruby.RubyClass.getRealClass:()Lorg/jruby/RubyClass;
            astore 7 /* tmp */
        11: .line 2033
      StackMap locals:
      StackMap stack:
            aload 7 /* tmp */
            aload 2 /* superClazz */
            if_acmpeq 27
            aload 4 /* runtime */
            aload 4 /* runtime */
            ldc "superclass mismatch for class "
            aload 4 /* runtime */
            aload 1 /* name */
            invokestatic org.jruby.util.RubyStringBuilder.ids:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.RubyStringBuilder.str:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 7 // org.jruby.RubyClass tmp
        end local 6 // org.jruby.RubyClass clazz
        12: .line 2036
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* superClazz */
            invokevirtual org.jruby.RubyModule.searchProvidersForClass:(Ljava/lang/String;Lorg/jruby/RubyClass;)Lorg/jruby/RubyClass;
            dup
            astore 6 /* clazz */
        start local 6 // org.jruby.RubyClass clazz
        13: ifnonnull 27
        14: .line 2039
            aload 2 /* superClazz */
            ifnonnull 15
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            astore 2 /* superClazz */
        15: .line 2041
      StackMap locals: org.jruby.RubyClass
      StackMap stack:
            aload 3 /* allocator */
            ifnonnull 26
        16: .line 2042
            aload 0 /* this */
            aload 4 /* runtime */
            aload 2 /* superClazz */
            invokevirtual org.jruby.RubyModule.isReifiable:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)Z
            ifeq 25
        17: .line 2043
            getstatic org.jruby.util.cli.Options.REIFY_CLASSES:Lcom/headius/options/Option;
            invokevirtual com.headius.options.Option.load:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 20
        18: .line 2044
            getstatic org.jruby.RubyModule.REIFYING_OBJECT_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
            astore 3 /* allocator */
        19: .line 2045
            goto 26
      StackMap locals:
      StackMap stack:
        20: getstatic org.jruby.util.cli.Options.REIFY_VARIABLES:Lcom/headius/options/Option;
            invokevirtual com.headius.options.Option.load:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 23
        21: .line 2046
            getstatic org.jruby.RubyModule.IVAR_INSPECTING_OBJECT_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
            astore 3 /* allocator */
        22: .line 2047
            goto 26
        23: .line 2048
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyModule.OBJECT_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
            astore 3 /* allocator */
        24: .line 2050
            goto 26
        25: .line 2051
      StackMap locals:
      StackMap stack:
            aload 2 /* superClazz */
            invokevirtual org.jruby.RubyClass.getAllocator:()Lorg/jruby/runtime/ObjectAllocator;
            astore 3 /* allocator */
        26: .line 2055
      StackMap locals:
      StackMap stack:
            aload 4 /* runtime */
            aload 2 /* superClazz */
            aload 1 /* name */
            aload 3 /* allocator */
            aload 0 /* this */
            iconst_1
            invokestatic org.jruby.RubyClass.newClass:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Ljava/lang/String;Lorg/jruby/runtime/ObjectAllocator;Lorg/jruby/RubyModule;Z)Lorg/jruby/RubyClass;
            astore 6 /* clazz */
        27: .line 2058
      StackMap locals:
      StackMap stack:
            aload 6 /* clazz */
            areturn
        end local 6 // org.jruby.RubyClass clazz
        end local 5 // org.jruby.runtime.builtin.IRubyObject classObj
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.ObjectAllocator allocator
        end local 2 // org.jruby.RubyClass superClazz
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   28     0        this  Lorg/jruby/RubyModule;
            0   28     1        name  Ljava/lang/String;
            0   28     2  superClazz  Lorg/jruby/RubyClass;
            0   28     3   allocator  Lorg/jruby/runtime/ObjectAllocator;
            1   28     4     runtime  Lorg/jruby/Ruby;
            2   28     5    classObj  Lorg/jruby/runtime/builtin/IRubyObject;
            5   12     6       clazz  Lorg/jruby/RubyClass;
           13   28     6       clazz  Lorg/jruby/RubyClass;
            7   12     7         tmp  Lorg/jruby/RubyClass;
    MethodParameters:
            Name  Flags
      name        
      superClazz  
      allocator   

  private boolean isReifiable(org.jruby.Ruby, org.jruby.RubyClass);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass superClass
         0: .line 2065
            aload 2 /* superClass */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            if_acmpne 1
            iconst_1
            ireturn
         1: .line 2067
      StackMap locals:
      StackMap stack:
            aload 2 /* superClass */
            invokevirtual org.jruby.RubyClass.getAllocator:()Lorg/jruby/runtime/ObjectAllocator;
            getstatic org.jruby.RubyModule.IVAR_INSPECTING_OBJECT_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
            if_acmpne 2
            iconst_1
            ireturn
         2: .line 2069
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // org.jruby.RubyClass superClass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/jruby/RubyModule;
            0    3     1     runtime  Lorg/jruby/Ruby;
            0    3     2  superClass  Lorg/jruby/RubyClass;
    MethodParameters:
            Name  Flags
      runtime     
      superClass  

  public org.jruby.RubyModule defineOrGetModuleUnder(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/RubyModule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 2077
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 2078
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.getConstantAtSpecial:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* moduleObj */
        start local 3 // org.jruby.runtime.builtin.IRubyObject moduleObj
         2: .line 2080
            aload 3 /* moduleObj */
            ifnull 6
         3: .line 2081
            aload 3 /* moduleObj */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isModule:()Z
            ifne 4
            aload 2 /* runtime */
            aload 2 /* runtime */
            aload 2 /* runtime */
            aload 1 /* name */
            invokestatic org.jruby.util.RubyStringBuilder.ids:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
            ldc " is not a module"
            invokestatic org.jruby.util.RubyStringBuilder.str:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 2082
      StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 3 /* moduleObj */
            checkcast org.jruby.RubyModule
            astore 4 /* module */
        start local 4 // org.jruby.RubyModule module
         5: .line 2083
            goto 9
        end local 4 // org.jruby.RubyModule module
      StackMap locals:
      StackMap stack:
         6: aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.searchProvidersForModule:(Ljava/lang/String;)Lorg/jruby/RubyModule;
            dup
            astore 4 /* module */
        start local 4 // org.jruby.RubyModule module
         7: ifnonnull 9
         8: .line 2086
            aload 2 /* runtime */
            aload 1 /* name */
            aload 0 /* this */
            iconst_1
            invokestatic org.jruby.RubyModule.newModule:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/RubyModule;Z)Lorg/jruby/RubyModule;
            astore 4 /* module */
         9: .line 2088
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 4 /* module */
            areturn
        end local 4 // org.jruby.RubyModule module
        end local 3 // org.jruby.runtime.builtin.IRubyObject moduleObj
        end local 2 // org.jruby.Ruby runtime
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lorg/jruby/RubyModule;
            0   10     1       name  Ljava/lang/String;
            1   10     2    runtime  Lorg/jruby/Ruby;
            2   10     3  moduleObj  Lorg/jruby/runtime/builtin/IRubyObject;
            5    6     4     module  Lorg/jruby/RubyModule;
            7   10     4     module  Lorg/jruby/RubyModule;
    MethodParameters:
      Name  Flags
      name  

  public org.jruby.RubyClass defineClassUnder(java.lang.String, org.jruby.RubyClass, org.jruby.runtime.ObjectAllocator);
    descriptor: (Ljava/lang/String;Lorg/jruby/RubyClass;Lorg/jruby/runtime/ObjectAllocator;)Lorg/jruby/RubyClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.RubyClass superClass
        start local 3 // org.jruby.runtime.ObjectAllocator allocator
         0: .line 2095
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* name */
            aload 2 /* superClass */
            aload 3 /* allocator */
            aload 0 /* this */
            invokevirtual org.jruby.Ruby.defineClassUnder:(Ljava/lang/String;Lorg/jruby/RubyClass;Lorg/jruby/runtime/ObjectAllocator;Lorg/jruby/RubyModule;)Lorg/jruby/RubyClass;
            areturn
        end local 3 // org.jruby.runtime.ObjectAllocator allocator
        end local 2 // org.jruby.RubyClass superClass
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/jruby/RubyModule;
            0    1     1        name  Ljava/lang/String;
            0    1     2  superClass  Lorg/jruby/RubyClass;
            0    1     3   allocator  Lorg/jruby/runtime/ObjectAllocator;
    MethodParameters:
            Name  Flags
      name        
      superClass  
      allocator   

  public org.jruby.RubyModule defineModuleUnder(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/RubyModule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 2102
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* name */
            aload 0 /* this */
            invokevirtual org.jruby.Ruby.defineModuleUnder:(Ljava/lang/String;Lorg/jruby/RubyModule;)Lorg/jruby/RubyModule;
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  private void addAccessor(org.jruby.runtime.ThreadContext, org.jruby.RubySymbol, org.jruby.runtime.Visibility, boolean, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubySymbol;Lorg/jruby/runtime/Visibility;ZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=6
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubySymbol identifier
        start local 3 // org.jruby.runtime.Visibility visibility
        start local 4 // boolean readable
        start local 5 // boolean writeable
         0: .line 2106
            aload 2 /* identifier */
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            astore 6 /* internedIdentifier */
        start local 6 // java.lang.String internedIdentifier
         1: .line 2108
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 7 /* runtime */
        start local 7 // org.jruby.Ruby runtime
         2: .line 2110
            aload 3 /* visibility */
            getstatic org.jruby.runtime.Visibility.MODULE_FUNCTION:Lorg/jruby/runtime/Visibility;
            if_acmpne 5
         3: .line 2111
            aload 7 /* runtime */
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            getstatic org.jruby.common.IRubyWarnings$ID.ACCESSOR_MODULE_FUNCTION:Lorg/jruby/common/IRubyWarnings$ID;
            ldc "attribute accessor as module_function"
            invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
         4: .line 2112
            getstatic org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;
            astore 3 /* visibility */
         5: .line 2115
      StackMap locals: java.lang.String org.jruby.Ruby
      StackMap stack:
            aload 6 /* internedIdentifier */
            invokestatic org.jruby.util.IdUtil.isLocal:(Ljava/lang/String;)Z
            ifne 7
            aload 6 /* internedIdentifier */
            invokestatic org.jruby.util.IdUtil.isConstant:(Ljava/lang/String;)Z
            ifne 7
         6: .line 2116
            aload 7 /* runtime */
            ldc "invalid attribute name"
            aload 6 /* internedIdentifier */
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         7: .line 2119
      StackMap locals:
      StackMap stack:
            aload 2 /* identifier */
            invokevirtual org.jruby.RubySymbol.asInstanceVariable:()Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            astore 8 /* variableName */
        start local 8 // java.lang.String variableName
         8: .line 2120
            iload 4 /* readable */
            ifeq 11
         9: .line 2121
            aload 0 /* this */
            aload 6 /* internedIdentifier */
            new org.jruby.internal.runtime.methods.AttrReaderMethod
            dup
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            aload 3 /* visibility */
            aload 8 /* variableName */
            invokespecial org.jruby.internal.runtime.methods.AttrReaderMethod.<init>:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;Ljava/lang/String;)V
            invokevirtual org.jruby.RubyModule.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
        10: .line 2122
            aload 0 /* this */
            aload 1 /* context */
            ldc "method_added"
            aload 2 /* identifier */
            invokevirtual org.jruby.RubyModule.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        11: .line 2124
      StackMap locals: java.lang.String
      StackMap stack:
            iload 5 /* writeable */
            ifeq 15
        12: .line 2125
            aload 2 /* identifier */
            invokevirtual org.jruby.RubySymbol.asWriter:()Lorg/jruby/RubySymbol;
            astore 2 /* identifier */
        13: .line 2126
            aload 0 /* this */
            aload 2 /* identifier */
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            new org.jruby.internal.runtime.methods.AttrWriterMethod
            dup
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            aload 3 /* visibility */
            aload 8 /* variableName */
            invokespecial org.jruby.internal.runtime.methods.AttrWriterMethod.<init>:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;Ljava/lang/String;)V
            invokevirtual org.jruby.RubyModule.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
        14: .line 2127
            aload 0 /* this */
            aload 1 /* context */
            ldc "method_added"
            aload 2 /* identifier */
            invokevirtual org.jruby.RubyModule.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        15: .line 2129
      StackMap locals:
      StackMap stack:
            return
        end local 8 // java.lang.String variableName
        end local 7 // org.jruby.Ruby runtime
        end local 6 // java.lang.String internedIdentifier
        end local 5 // boolean writeable
        end local 4 // boolean readable
        end local 3 // org.jruby.runtime.Visibility visibility
        end local 2 // org.jruby.RubySymbol identifier
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   16     0                this  Lorg/jruby/RubyModule;
            0   16     1             context  Lorg/jruby/runtime/ThreadContext;
            0   16     2          identifier  Lorg/jruby/RubySymbol;
            0   16     3          visibility  Lorg/jruby/runtime/Visibility;
            0   16     4            readable  Z
            0   16     5           writeable  Z
            1   16     6  internedIdentifier  Ljava/lang/String;
            2   16     7             runtime  Lorg/jruby/Ruby;
            8   16     8        variableName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      context     
      identifier  
      visibility  
      readable    
      writeable   

  public void setMethodVisibility(org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Visibility);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Visibility;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] methods
        start local 2 // org.jruby.runtime.Visibility visibility
         0: .line 2135
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 4
         2: .line 2136
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* methods */
            iload 3 /* i */
            aaload
            invokestatic org.jruby.util.TypeConverter.checkID:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            aload 2 /* visibility */
            invokevirtual org.jruby.RubyModule.exportMethod:(Ljava/lang/String;Lorg/jruby/runtime/Visibility;)V
         3: .line 2135
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 3 /* i */
            aload 1 /* methods */
            arraylength
            if_icmplt 2
        end local 3 // int i
         5: .line 2138
            return
        end local 2 // org.jruby.runtime.Visibility visibility
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] methods
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/jruby/RubyModule;
            0    6     1     methods  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     2  visibility  Lorg/jruby/runtime/Visibility;
            1    5     3           i  I
    MethodParameters:
            Name  Flags
      methods     
      visibility  

  public void exportMethod(java.lang.String, org.jruby.runtime.Visibility);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/Visibility;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.runtime.Visibility visibility
         0: .line 2144
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 2146
            aload 0 /* this */
            aload 1 /* name */
            aload 3 /* runtime */
            invokevirtual org.jruby.RubyModule.deepMethodSearch:(Ljava/lang/String;Lorg/jruby/Ruby;)Lorg/jruby/runtime/callsite/CacheEntry;
            astore 4 /* entry */
        start local 4 // org.jruby.runtime.callsite.CacheEntry entry
         2: .line 2147
            aload 4 /* entry */
            getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 5 /* method */
        start local 5 // org.jruby.internal.runtime.methods.DynamicMethod method
         3: .line 2149
            aload 5 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getVisibility:()Lorg/jruby/runtime/Visibility;
            aload 2 /* visibility */
            if_acmpeq 11
         4: .line 2150
            aload 0 /* this */
            aload 5 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getImplementationClass:()Lorg/jruby/RubyModule;
            if_acmpne 7
         5: .line 2151
            aload 5 /* method */
            aload 2 /* visibility */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.setVisibility:(Lorg/jruby/runtime/Visibility;)V
         6: .line 2152
            goto 9
         7: .line 2153
      StackMap locals: org.jruby.Ruby org.jruby.runtime.callsite.CacheEntry org.jruby.internal.runtime.methods.DynamicMethod
      StackMap stack:
            new org.jruby.internal.runtime.methods.PartialDelegatingMethod
            dup
            aload 0 /* this */
            aload 5 /* method */
            aload 2 /* visibility */
            invokespecial org.jruby.internal.runtime.methods.PartialDelegatingMethod.<init>:(Lorg/jruby/RubyModule;Lorg/jruby/internal/runtime/methods/DynamicMethod;Lorg/jruby/runtime/Visibility;)V
            astore 6 /* newMethod */
        start local 6 // org.jruby.internal.runtime.methods.DynamicMethod newMethod
         8: .line 2155
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            aload 1 /* name */
            aload 6 /* newMethod */
            invokevirtual org.jruby.RubyModule.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
        end local 6 // org.jruby.internal.runtime.methods.DynamicMethod newMethod
         9: .line 2158
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.invalidateCoreClasses:()V
        10: .line 2159
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.invalidateCacheDescendants:()V
        11: .line 2161
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.jruby.internal.runtime.methods.DynamicMethod method
        end local 4 // org.jruby.runtime.callsite.CacheEntry entry
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.Visibility visibility
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lorg/jruby/RubyModule;
            0   12     1        name  Ljava/lang/String;
            0   12     2  visibility  Lorg/jruby/runtime/Visibility;
            1   12     3     runtime  Lorg/jruby/Ruby;
            2   12     4       entry  Lorg/jruby/runtime/callsite/CacheEntry;
            3   12     5      method  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            8    9     6   newMethod  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    MethodParameters:
            Name  Flags
      name        
      visibility  

  private org.jruby.runtime.callsite.CacheEntry deepMethodSearch(java.lang.String, org.jruby.Ruby);
    descriptor: (Ljava/lang/String;Lorg/jruby/Ruby;)Lorg/jruby/runtime/callsite/CacheEntry;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String id
        start local 2 // org.jruby.Ruby runtime
         0: .line 2164
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual org.jruby.RubyModule.searchWithCache:(Ljava/lang/String;)Lorg/jruby/runtime/callsite/CacheEntry;
            astore 3 /* orig */
        start local 3 // org.jruby.runtime.callsite.CacheEntry orig
         1: .line 2165
            aload 3 /* orig */
            getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isRefined:()Z
            ifeq 3
         2: .line 2166
            aload 0 /* this */
            aconst_null
            aload 3 /* orig */
            aload 1 /* id */
            iconst_1
            invokevirtual org.jruby.RubyModule.resolveRefinedMethod:(Ljava/util/Map;Lorg/jruby/runtime/callsite/CacheEntry;Ljava/lang/String;Z)Lorg/jruby/runtime/callsite/CacheEntry;
            astore 3 /* orig */
         3: .line 2169
      StackMap locals: org.jruby.runtime.callsite.CacheEntry
      StackMap stack:
            aload 3 /* orig */
            getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isUndefined:()Z
            ifne 4
            aload 3 /* orig */
            getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isRefined:()Z
            ifeq 8
         4: .line 2170
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.isModule:()Z
            ifeq 6
         5: .line 2171
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            aload 1 /* id */
            invokevirtual org.jruby.RubyClass.searchWithCache:(Ljava/lang/String;)Lorg/jruby/runtime/callsite/CacheEntry;
            dup
            astore 3 /* orig */
            getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isUndefined:()Z
            ifeq 8
         6: .line 2172
      StackMap locals:
      StackMap stack:
            aload 2 /* runtime */
            aload 1 /* id */
            invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
            astore 4 /* name */
        start local 4 // org.jruby.RubySymbol name
         7: .line 2173
            aload 2 /* runtime */
            aload 2 /* runtime */
            aload 4 /* name */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.rubyName:()Lorg/jruby/RubyString;
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.isModule:()Z
            invokestatic org.jruby.RubyModule.undefinedMethodMessage:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)Ljava/lang/String;
            aload 1 /* id */
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 4 // org.jruby.RubySymbol name
         8: .line 2177
      StackMap locals:
      StackMap stack:
            aload 3 /* orig */
            areturn
        end local 3 // org.jruby.runtime.callsite.CacheEntry orig
        end local 2 // org.jruby.Ruby runtime
        end local 1 // java.lang.String id
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/jruby/RubyModule;
            0    9     1       id  Ljava/lang/String;
            0    9     2  runtime  Lorg/jruby/Ruby;
            1    9     3     orig  Lorg/jruby/runtime/callsite/CacheEntry;
            7    8     4     name  Lorg/jruby/RubySymbol;
    MethodParameters:
         Name  Flags
      id       
      runtime  

  public static java.lang.String undefinedMethodMessage(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, boolean);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject name
        start local 2 // org.jruby.runtime.builtin.IRubyObject modName
        start local 3 // boolean isModule
         0: .line 2181
            aload 0 /* runtime */
            ldc "undefined method `"
            aload 1 /* name */
            new java.lang.StringBuilder
            dup
            ldc "' for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* isModule */
            ifeq 1
            ldc "module"
            goto 2
      StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject int
      StackMap stack: org.jruby.Ruby java.lang.String org.jruby.runtime.builtin.IRubyObject java.lang.StringBuilder
         1: ldc "class"
      StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject int
      StackMap stack: org.jruby.Ruby java.lang.String org.jruby.runtime.builtin.IRubyObject java.lang.StringBuilder java.lang.String
         2: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " `"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* modName */
            ldc "'"
            invokestatic org.jruby.util.RubyStringBuilder.str:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 3 // boolean isModule
        end local 2 // org.jruby.runtime.builtin.IRubyObject modName
        end local 1 // org.jruby.runtime.builtin.IRubyObject name
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0   runtime  Lorg/jruby/Ruby;
            0    3     1      name  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2   modName  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3  isModule  Z
    MethodParameters:
          Name  Flags
      runtime   
      name      
      modName   
      isModule  

  public boolean isMethodBound(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // boolean checkVisibility
         0: .line 2189
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.searchMethod:(Ljava/lang/String;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 3 /* method */
        start local 3 // org.jruby.internal.runtime.methods.DynamicMethod method
         1: .line 2191
            aload 3 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isUndefined:()Z
            ifne 3
            iload 2 /* checkVisibility */
            ifeq 2
            aload 3 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getVisibility:()Lorg/jruby/runtime/Visibility;
            getstatic org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;
            if_acmpeq 3
      StackMap locals: org.jruby.internal.runtime.methods.DynamicMethod
      StackMap stack:
         2: iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 3 // org.jruby.internal.runtime.methods.DynamicMethod method
        end local 2 // boolean checkVisibility
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lorg/jruby/RubyModule;
            0    4     1             name  Ljava/lang/String;
            0    4     2  checkVisibility  Z
            1    4     3           method  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    MethodParameters:
                 Name  Flags
      name             
      checkVisibility  

  public boolean respondsToMethod(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // boolean checkVisibility
         0: .line 2195
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.searchMethod:(Ljava/lang/String;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
            iload 2 /* checkVisibility */
            invokestatic org.jruby.runtime.Helpers.respondsToMethod:(Lorg/jruby/internal/runtime/methods/DynamicMethod;Z)Z
            ireturn
        end local 2 // boolean checkVisibility
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/jruby/RubyModule;
            0    1     1             name  Ljava/lang/String;
            0    1     2  checkVisibility  Z
    MethodParameters:
                 Name  Flags
      name             
      checkVisibility  

  public boolean isMethodBound(java.lang.String, boolean, boolean);
    descriptor: (Ljava/lang/String;ZZ)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // boolean checkVisibility
        start local 3 // boolean checkRespondTo
         0: .line 2200
            iload 3 /* checkRespondTo */
            ifeq 1
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* checkVisibility */
            invokevirtual org.jruby.RubyModule.respondsToMethod:(Ljava/lang/String;Z)Z
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            aload 1 /* name */
            iload 2 /* checkVisibility */
            invokevirtual org.jruby.RubyModule.isMethodBound:(Ljava/lang/String;Z)Z
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 3 // boolean checkRespondTo
        end local 2 // boolean checkVisibility
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/jruby/RubyModule;
            0    3     1             name  Ljava/lang/String;
            0    3     2  checkVisibility  Z
            0    3     3   checkRespondTo  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                 Name  Flags
      name             
      checkVisibility  
      checkRespondTo   

  public final org.jruby.runtime.builtin.IRubyObject newMethod(org.jruby.runtime.builtin.IRubyObject, java.lang.String, boolean, org.jruby.runtime.Visibility);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;ZLorg/jruby/runtime/Visibility;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject receiver
        start local 2 // java.lang.String methodName
        start local 3 // boolean bound
        start local 4 // org.jruby.runtime.Visibility visibility
         0: .line 2204
            aload 0 /* this */
            aload 1 /* receiver */
            aload 2 /* methodName */
            iload 3 /* bound */
            aload 4 /* visibility */
            iconst_0
            iconst_1
            invokevirtual org.jruby.RubyModule.newMethod:(Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;ZLorg/jruby/runtime/Visibility;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.runtime.Visibility visibility
        end local 3 // boolean bound
        end local 2 // java.lang.String methodName
        end local 1 // org.jruby.runtime.builtin.IRubyObject receiver
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/jruby/RubyModule;
            0    1     1    receiver  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2  methodName  Ljava/lang/String;
            0    1     3       bound  Z
            0    1     4  visibility  Lorg/jruby/runtime/Visibility;
    MethodParameters:
            Name  Flags
      receiver    
      methodName  
      bound       
      visibility  

  public final org.jruby.runtime.builtin.IRubyObject newMethod(org.jruby.runtime.builtin.IRubyObject, java.lang.String, boolean, org.jruby.runtime.Visibility, boolean);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;ZLorg/jruby/runtime/Visibility;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject receiver
        start local 2 // java.lang.String methodName
        start local 3 // boolean bound
        start local 4 // org.jruby.runtime.Visibility visibility
        start local 5 // boolean respondToMissing
         0: .line 2208
            aload 0 /* this */
            aload 1 /* receiver */
            aload 2 /* methodName */
            iload 3 /* bound */
            aload 4 /* visibility */
            iload 5 /* respondToMissing */
            iconst_1
            invokevirtual org.jruby.RubyModule.newMethod:(Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;ZLorg/jruby/runtime/Visibility;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // boolean respondToMissing
        end local 4 // org.jruby.runtime.Visibility visibility
        end local 3 // boolean bound
        end local 2 // java.lang.String methodName
        end local 1 // org.jruby.runtime.builtin.IRubyObject receiver
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lorg/jruby/RubyModule;
            0    1     1          receiver  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2        methodName  Ljava/lang/String;
            0    1     3             bound  Z
            0    1     4        visibility  Lorg/jruby/runtime/Visibility;
            0    1     5  respondToMissing  Z
    MethodParameters:
                  Name  Flags
      receiver          
      methodName        final
      bound             
      visibility        
      respondToMissing  

  public org.jruby.runtime.builtin.IRubyObject newMethod(org.jruby.runtime.builtin.IRubyObject, java.lang.String, boolean, org.jruby.runtime.Visibility, boolean, boolean);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;ZLorg/jruby/runtime/Visibility;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=11, args_size=7
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject receiver
        start local 2 // java.lang.String methodName
        start local 3 // boolean bound
        start local 4 // org.jruby.runtime.Visibility visibility
        start local 5 // boolean respondToMissing
        start local 6 // boolean priv
         0: .line 2241
            aload 0 /* this */
            aload 2 /* methodName */
            invokevirtual org.jruby.RubyModule.searchWithCache:(Ljava/lang/String;)Lorg/jruby/runtime/callsite/CacheEntry;
            astore 7 /* entry */
        start local 7 // org.jruby.runtime.callsite.CacheEntry entry
         1: .line 2243
            aload 7 /* entry */
            getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isUndefined:()Z
            ifne 2
            aload 4 /* visibility */
            ifnull 12
            aload 7 /* entry */
            getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getVisibility:()Lorg/jruby/runtime/Visibility;
            aload 4 /* visibility */
            if_acmpeq 12
         2: .line 2244
      StackMap locals: org.jruby.runtime.callsite.CacheEntry
      StackMap stack:
            iload 5 /* respondToMissing */
            ifeq 11
         3: .line 2245
            aload 1 /* receiver */
            aload 2 /* methodName */
            iload 6 /* priv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.respondsToMissing:(Ljava/lang/String;Z)Z
            ifeq 10
         4: .line 2246
            new org.jruby.runtime.callsite.CacheEntry
            dup
         5: .line 2247
            new org.jruby.RubyModule$RespondToMissingMethod
            dup
            aload 0 /* this */
            getstatic org.jruby.runtime.Visibility.PUBLIC:Lorg/jruby/runtime/Visibility;
            aload 2 /* methodName */
            invokespecial org.jruby.RubyModule$RespondToMissingMethod.<init>:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;Ljava/lang/String;)V
         6: .line 2248
            aload 7 /* entry */
            getfield org.jruby.runtime.callsite.CacheEntry.sourceModule:Lorg/jruby/RubyModule;
         7: .line 2249
            aload 7 /* entry */
            getfield org.jruby.runtime.callsite.CacheEntry.token:I
         8: .line 2246
            invokespecial org.jruby.runtime.callsite.CacheEntry.<init>:(Lorg/jruby/internal/runtime/methods/DynamicMethod;Lorg/jruby/RubyModule;I)V
            astore 7 /* entry */
         9: .line 2250
            goto 12
        10: .line 2251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "undefined method `"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* methodName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' for class `"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* methodName */
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        11: .line 2254
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "undefined method `"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* methodName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' for class `"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* methodName */
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        12: .line 2258
      StackMap locals:
      StackMap stack:
            aload 7 /* entry */
            getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getDefinedClass:()Lorg/jruby/RubyModule;
            astore 8 /* implementationModule */
        start local 8 // org.jruby.RubyModule implementationModule
        13: .line 2259
            aload 0 /* this */
            astore 9 /* originModule */
        start local 9 // org.jruby.RubyModule originModule
        14: .line 2260
            goto 16
        15: .line 2261
      StackMap locals: org.jruby.RubyModule org.jruby.RubyModule
      StackMap stack:
            aload 9 /* originModule */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 9 /* originModule */
        16: .line 2260
      StackMap locals:
      StackMap stack:
            aload 9 /* originModule */
            aload 8 /* implementationModule */
            if_acmpeq 17
            aload 9 /* originModule */
            invokevirtual org.jruby.RubyModule.isSingleton:()Z
            ifne 15
            aload 9 /* originModule */
            invokevirtual org.jruby.RubyModule.isIncluded:()Z
            ifne 15
        17: .line 2265
      StackMap locals:
      StackMap stack:
            iload 3 /* bound */
            ifeq 20
        18: .line 2266
            aload 8 /* implementationModule */
            aload 2 /* methodName */
            aload 9 /* originModule */
            aload 2 /* methodName */
            aload 7 /* entry */
            aload 1 /* receiver */
            invokestatic org.jruby.RubyMethod.newMethod:(Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/callsite/CacheEntry;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyMethod;
            astore 10 /* newMethod */
        start local 10 // org.jruby.AbstractRubyMethod newMethod
        19: .line 2267
            goto 21
        end local 10 // org.jruby.AbstractRubyMethod newMethod
        20: .line 2268
      StackMap locals:
      StackMap stack:
            aload 8 /* implementationModule */
            aload 2 /* methodName */
            aload 9 /* originModule */
            aload 2 /* methodName */
            aload 7 /* entry */
            invokestatic org.jruby.RubyUnboundMethod.newUnboundMethod:(Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/callsite/CacheEntry;)Lorg/jruby/RubyUnboundMethod;
            astore 10 /* newMethod */
        start local 10 // org.jruby.AbstractRubyMethod newMethod
        21: .line 2270
      StackMap locals: org.jruby.AbstractRubyMethod
      StackMap stack:
            aload 10 /* newMethod */
            aload 0 /* this */
            invokevirtual org.jruby.AbstractRubyMethod.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            pop
        22: .line 2272
            aload 10 /* newMethod */
            areturn
        end local 10 // org.jruby.AbstractRubyMethod newMethod
        end local 9 // org.jruby.RubyModule originModule
        end local 8 // org.jruby.RubyModule implementationModule
        end local 7 // org.jruby.runtime.callsite.CacheEntry entry
        end local 6 // boolean priv
        end local 5 // boolean respondToMissing
        end local 4 // org.jruby.runtime.Visibility visibility
        end local 3 // boolean bound
        end local 2 // java.lang.String methodName
        end local 1 // org.jruby.runtime.builtin.IRubyObject receiver
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   23     0                  this  Lorg/jruby/RubyModule;
            0   23     1              receiver  Lorg/jruby/runtime/builtin/IRubyObject;
            0   23     2            methodName  Ljava/lang/String;
            0   23     3                 bound  Z
            0   23     4            visibility  Lorg/jruby/runtime/Visibility;
            0   23     5      respondToMissing  Z
            0   23     6                  priv  Z
            1   23     7                 entry  Lorg/jruby/runtime/callsite/CacheEntry;
           13   23     8  implementationModule  Lorg/jruby/RubyModule;
           14   23     9          originModule  Lorg/jruby/RubyModule;
           19   20    10             newMethod  Lorg/jruby/AbstractRubyMethod;
           21   23    10             newMethod  Lorg/jruby/AbstractRubyMethod;
    MethodParameters:
                  Name  Flags
      receiver          
      methodName        final
      bound             
      visibility        
      respondToMissing  
      priv              

  public org.jruby.runtime.builtin.IRubyObject define_method(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.Block block
         0: .line 2277
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyModule.getCurrentVisibilityForDefineMethod:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/Visibility;
            astore 4 /* visibility */
        start local 4 // org.jruby.runtime.Visibility visibility
         1: .line 2279
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* block */
            aload 4 /* visibility */
            invokevirtual org.jruby.RubyModule.defineMethodFromBlock:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/Visibility;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.runtime.Visibility visibility
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/jruby/RubyModule;
            0    2     1     context  Lorg/jruby/runtime/ThreadContext;
            0    2     2        arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     3       block  Lorg/jruby/runtime/Block;
            1    2     4  visibility  Lorg/jruby/runtime/Visibility;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"define_method"}, reads = {org.jruby.anno.FrameField.VISIBILITY:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      block    

  private org.jruby.runtime.Visibility getCurrentVisibilityForDefineMethod(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/Visibility;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 2284
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentFrame:()Lorg/jruby/runtime/Frame;
            invokevirtual org.jruby.runtime.Frame.getSelf:()Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            if_acmpne 1
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentVisibility:()Lorg/jruby/runtime/Visibility;
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic org.jruby.runtime.Visibility.PUBLIC:Lorg/jruby/runtime/Visibility;
      StackMap locals:
      StackMap stack: org.jruby.runtime.Visibility
         2: areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyModule;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject defineMethodFromBlock(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block, org.jruby.runtime.Visibility);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/Visibility;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=11, args_size=5
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.Block block
        start local 4 // org.jruby.runtime.Visibility visibility
         0: .line 2288
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         1: .line 2289
            aload 2 /* arg0 */
            invokestatic org.jruby.util.TypeConverter.checkID:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubySymbol;
            astore 6 /* name */
        start local 6 // org.jruby.RubySymbol name
         2: .line 2292
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 4
         3: .line 2293
            aload 5 /* runtime */
            ldc "tried to create Proc object without a block"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 2298
      StackMap locals: org.jruby.Ruby org.jruby.RubySymbol
      StackMap stack:
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.getBody:()Lorg/jruby/runtime/BlockBody;
            instanceof org.jruby.runtime.IRBlockBody
            ifeq 13
         5: .line 2299
            aload 5 /* runtime */
            invokevirtual org.jruby.Ruby.getInstanceConfig:()Lorg/jruby/RubyInstanceConfig;
            invokevirtual org.jruby.RubyInstanceConfig.getCompileMode:()Lorg/jruby/RubyInstanceConfig$CompileMode;
            invokevirtual org.jruby.RubyInstanceConfig$CompileMode.shouldJIT:()Z
            ifeq 13
         6: .line 2300
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.getBody:()Lorg/jruby/runtime/BlockBody;
            checkcast org.jruby.runtime.IRBlockBody
            astore 8 /* body */
        start local 8 // org.jruby.runtime.IRBlockBody body
         7: .line 2301
            aload 8 /* body */
            invokevirtual org.jruby.runtime.IRBlockBody.getScope:()Lorg/jruby/ir/IRClosure;
            astore 9 /* closure */
        start local 9 // org.jruby.ir.IRClosure closure
         8: .line 2304
            aload 9 /* closure */
            aload 6 /* name */
            invokevirtual org.jruby.RubySymbol.getBytes:()Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.ir.IRClosure.convertToMethod:(Lorg/jruby/util/ByteList;)Lorg/jruby/ir/IRMethod;
            astore 10 /* method */
        start local 10 // org.jruby.ir.IRMethod method
         9: .line 2305
            aload 10 /* method */
            ifnull 13
        10: .line 2306
            new org.jruby.internal.runtime.methods.DefineMethodMethod
            dup
            aload 10 /* method */
            aload 4 /* visibility */
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getFrameBlock:()Lorg/jruby/runtime/Block;
            invokespecial org.jruby.internal.runtime.methods.DefineMethodMethod.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/runtime/Visibility;Lorg/jruby/RubyModule;Lorg/jruby/runtime/Block;)V
            astore 7 /* newMethod */
        start local 7 // org.jruby.internal.runtime.methods.DynamicMethod newMethod
        11: .line 2307
            aload 0 /* this */
            aload 6 /* name */
            aload 7 /* newMethod */
            aload 4 /* visibility */
            aload 1 /* context */
            aload 5 /* runtime */
            invokestatic org.jruby.runtime.Helpers.addInstanceMethod:(Lorg/jruby/RubyModule;Lorg/jruby/RubySymbol;Lorg/jruby/internal/runtime/methods/DynamicMethod;Lorg/jruby/runtime/Visibility;Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;)Lorg/jruby/RubySymbol;
            pop
        12: .line 2308
            aload 6 /* name */
            areturn
        end local 10 // org.jruby.ir.IRMethod method
        end local 9 // org.jruby.ir.IRClosure closure
        end local 8 // org.jruby.runtime.IRBlockBody body
        end local 7 // org.jruby.internal.runtime.methods.DynamicMethod newMethod
        13: .line 2312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* runtime */
            aload 6 /* name */
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            aload 4 /* visibility */
            aload 3 /* block */
            invokevirtual org.jruby.RubyModule.createProcMethod:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/Visibility;Lorg/jruby/runtime/Block;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 7 /* newMethod */
        start local 7 // org.jruby.internal.runtime.methods.DynamicMethod newMethod
        14: .line 2314
            aload 0 /* this */
            aload 6 /* name */
            aload 7 /* newMethod */
            aload 4 /* visibility */
            aload 1 /* context */
            aload 5 /* runtime */
            invokestatic org.jruby.runtime.Helpers.addInstanceMethod:(Lorg/jruby/RubyModule;Lorg/jruby/RubySymbol;Lorg/jruby/internal/runtime/methods/DynamicMethod;Lorg/jruby/runtime/Visibility;Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;)Lorg/jruby/RubySymbol;
            pop
        15: .line 2316
            aload 6 /* name */
            areturn
        end local 7 // org.jruby.internal.runtime.methods.DynamicMethod newMethod
        end local 6 // org.jruby.RubySymbol name
        end local 5 // org.jruby.Ruby runtime
        end local 4 // org.jruby.runtime.Visibility visibility
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lorg/jruby/RubyModule;
            0   16     1     context  Lorg/jruby/runtime/ThreadContext;
            0   16     2        arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0   16     3       block  Lorg/jruby/runtime/Block;
            0   16     4  visibility  Lorg/jruby/runtime/Visibility;
            1   16     5     runtime  Lorg/jruby/Ruby;
            2   16     6        name  Lorg/jruby/RubySymbol;
           11   13     7   newMethod  Lorg/jruby/internal/runtime/methods/DynamicMethod;
           14   16     7   newMethod  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            7   13     8        body  Lorg/jruby/runtime/IRBlockBody;
            8   13     9     closure  Lorg/jruby/ir/IRClosure;
            9   13    10      method  Lorg/jruby/ir/IRMethod;
    MethodParameters:
            Name  Flags
      context     
      arg0        
      block       
      visibility  

  public org.jruby.runtime.builtin.IRubyObject define_method(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 4 // org.jruby.runtime.Block block
         0: .line 2321
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyModule.getCurrentVisibilityForDefineMethod:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/Visibility;
            astore 5 /* visibility */
        start local 5 // org.jruby.runtime.Visibility visibility
         1: .line 2323
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            aload 5 /* visibility */
            invokevirtual org.jruby.RubyModule.defineMethodFromCallable:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Visibility;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // org.jruby.runtime.Visibility visibility
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/jruby/RubyModule;
            0    2     1     context  Lorg/jruby/runtime/ThreadContext;
            0    2     2        arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     3        arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     4       block  Lorg/jruby/runtime/Block;
            1    2     5  visibility  Lorg/jruby/runtime/Visibility;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"define_method"}, reads = {org.jruby.anno.FrameField.VISIBILITY:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     
      block    

  public org.jruby.runtime.builtin.IRubyObject defineMethodFromCallable(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Visibility);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Visibility;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 4 // org.jruby.runtime.Visibility visibility
         0: .line 2327
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         1: .line 2328
            aload 2 /* arg0 */
            invokestatic org.jruby.util.TypeConverter.checkID:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubySymbol;
            astore 6 /* name */
        start local 6 // org.jruby.RubySymbol name
         2: .line 2331
            aload 5 /* runtime */
            invokevirtual org.jruby.Ruby.getProc:()Lorg/jruby/RubyClass;
            aload 3 /* arg1 */
            invokevirtual org.jruby.RubyClass.isInstance:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 6
         3: .line 2333
            aload 3 /* arg1 */
            checkcast org.jruby.RubyProc
            astore 8 /* proc */
        start local 8 // org.jruby.RubyProc proc
         4: .line 2335
            aload 0 /* this */
            aload 5 /* runtime */
            aload 6 /* name */
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            aload 4 /* visibility */
            aload 8 /* proc */
            invokevirtual org.jruby.RubyProc.getBlock:()Lorg/jruby/runtime/Block;
            invokevirtual org.jruby.RubyModule.createProcMethod:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/Visibility;Lorg/jruby/runtime/Block;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 7 /* newMethod */
        end local 8 // org.jruby.RubyProc proc
        start local 7 // org.jruby.internal.runtime.methods.DynamicMethod newMethod
         5: .line 2336
            goto 14
        end local 7 // org.jruby.internal.runtime.methods.DynamicMethod newMethod
      StackMap locals: org.jruby.Ruby org.jruby.RubySymbol
      StackMap stack:
         6: aload 3 /* arg1 */
            instanceof org.jruby.AbstractRubyMethod
            ifeq 13
         7: .line 2337
            aload 3 /* arg1 */
            checkcast org.jruby.AbstractRubyMethod
            astore 8 /* method */
        start local 8 // org.jruby.AbstractRubyMethod method
         8: .line 2339
            aload 0 /* this */
            aload 1 /* context */
            aload 8 /* method */
            aload 1 /* context */
            invokevirtual org.jruby.AbstractRubyMethod.owner:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyModule
            invokevirtual org.jruby.RubyModule.checkValidBindTargetFrom:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;)V
         9: .line 2341
            aload 8 /* method */
            invokevirtual org.jruby.AbstractRubyMethod.getMethod:()Lorg/jruby/internal/runtime/methods/DynamicMethod;
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.dup:()Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 7 /* newMethod */
        start local 7 // org.jruby.internal.runtime.methods.DynamicMethod newMethod
        10: .line 2342
            aload 7 /* newMethod */
            aload 0 /* this */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.setImplementationClass:(Lorg/jruby/RubyModule;)V
        11: .line 2343
            aload 7 /* newMethod */
            aload 4 /* visibility */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.setVisibility:(Lorg/jruby/runtime/Visibility;)V
        end local 8 // org.jruby.AbstractRubyMethod method
        12: .line 2344
            goto 14
        end local 7 // org.jruby.internal.runtime.methods.DynamicMethod newMethod
        13: .line 2345
      StackMap locals:
      StackMap stack:
            aload 5 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "wrong argument type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* arg1 */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getType:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " (expected Proc/Method)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        start local 7 // org.jruby.internal.runtime.methods.DynamicMethod newMethod
        14: .line 2348
      StackMap locals: org.jruby.internal.runtime.methods.DynamicMethod
      StackMap stack:
            aload 0 /* this */
            aload 6 /* name */
            aload 7 /* newMethod */
            aload 4 /* visibility */
            aload 1 /* context */
            aload 5 /* runtime */
            invokestatic org.jruby.runtime.Helpers.addInstanceMethod:(Lorg/jruby/RubyModule;Lorg/jruby/RubySymbol;Lorg/jruby/internal/runtime/methods/DynamicMethod;Lorg/jruby/runtime/Visibility;Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;)Lorg/jruby/RubySymbol;
            pop
        15: .line 2350
            aload 6 /* name */
            areturn
        end local 7 // org.jruby.internal.runtime.methods.DynamicMethod newMethod
        end local 6 // org.jruby.RubySymbol name
        end local 5 // org.jruby.Ruby runtime
        end local 4 // org.jruby.runtime.Visibility visibility
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lorg/jruby/RubyModule;
            0   16     1     context  Lorg/jruby/runtime/ThreadContext;
            0   16     2        arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0   16     3        arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0   16     4  visibility  Lorg/jruby/runtime/Visibility;
            1   16     5     runtime  Lorg/jruby/Ruby;
            2   16     6        name  Lorg/jruby/RubySymbol;
            5    6     7   newMethod  Lorg/jruby/internal/runtime/methods/DynamicMethod;
           10   13     7   newMethod  Lorg/jruby/internal/runtime/methods/DynamicMethod;
           14   16     7   newMethod  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            4    5     8        proc  Lorg/jruby/RubyProc;
            8   12     8      method  Lorg/jruby/AbstractRubyMethod;
    MethodParameters:
            Name  Flags
      context     
      arg0        
      arg1        
      visibility  

  public org.jruby.runtime.builtin.IRubyObject define_method(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 3 // org.jruby.runtime.Block block
         0: .line 2355
            aload 2 /* args */
            arraylength
            tableswitch { // 1 - 2
                    1: 1
                    2: 2
              default: 3
          }
         1: .line 2357
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            iconst_0
            aaload
            aload 3 /* block */
            invokevirtual org.jruby.RubyModule.define_method:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 2359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            iconst_0
            aaload
            aload 2 /* args */
            iconst_1
            aaload
            aload 3 /* block */
            invokevirtual org.jruby.RubyModule.define_method:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 2361
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "wrong number of arguments ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* args */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " for 2)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyModule;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      args     
      block    

  private org.jruby.internal.runtime.methods.DynamicMethod createProcMethod(org.jruby.Ruby, java.lang.String, org.jruby.runtime.Visibility, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/Visibility;Lorg/jruby/runtime/Block;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // java.lang.String name
        start local 3 // org.jruby.runtime.Visibility visibility
        start local 4 // org.jruby.runtime.Block block
         0: .line 2366
            aload 4 /* block */
            invokevirtual org.jruby.runtime.Block.cloneBlockAndFrame:()Lorg/jruby/runtime/Block;
            astore 4 /* block */
         1: .line 2368
            aload 4 /* block */
            invokevirtual org.jruby.runtime.Block.getBinding:()Lorg/jruby/runtime/Binding;
            invokevirtual org.jruby.runtime.Binding.getFrame:()Lorg/jruby/runtime/Frame;
            aload 0 /* this */
            invokevirtual org.jruby.runtime.Frame.setKlazz:(Lorg/jruby/RubyModule;)V
         2: .line 2369
            aload 4 /* block */
            invokevirtual org.jruby.runtime.Block.getBinding:()Lorg/jruby/runtime/Binding;
            invokevirtual org.jruby.runtime.Binding.getFrame:()Lorg/jruby/runtime/Frame;
            aload 2 /* name */
            invokevirtual org.jruby.runtime.Frame.setName:(Ljava/lang/String;)V
         3: .line 2370
            aload 4 /* block */
            invokevirtual org.jruby.runtime.Block.getBinding:()Lorg/jruby/runtime/Binding;
            aload 2 /* name */
            invokevirtual org.jruby.runtime.Binding.setMethod:(Ljava/lang/String;)V
         4: .line 2373
            aload 1 /* runtime */
            getstatic org.jruby.runtime.Block$Type.LAMBDA:Lorg/jruby/runtime/Block$Type;
            aload 4 /* block */
            invokevirtual org.jruby.Ruby.newProc:(Lorg/jruby/runtime/Block$Type;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyProc;
            astore 5 /* proc */
        start local 5 // org.jruby.RubyProc proc
         5: .line 2377
            aload 4 /* block */
            invokevirtual org.jruby.runtime.Block.getBody:()Lorg/jruby/runtime/BlockBody;
            invokevirtual org.jruby.runtime.BlockBody.getStaticScope:()Lorg/jruby/parser/StaticScope;
            invokevirtual org.jruby.parser.StaticScope.makeArgumentScope:()V
         6: .line 2379
            new org.jruby.internal.runtime.methods.ProcMethod
            dup
            aload 0 /* this */
            aload 5 /* proc */
            aload 3 /* visibility */
            aload 2 /* name */
            invokespecial org.jruby.internal.runtime.methods.ProcMethod.<init>:(Lorg/jruby/RubyModule;Lorg/jruby/RubyProc;Lorg/jruby/runtime/Visibility;Ljava/lang/String;)V
            areturn
        end local 5 // org.jruby.RubyProc proc
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.runtime.Visibility visibility
        end local 2 // java.lang.String name
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/jruby/RubyModule;
            0    7     1     runtime  Lorg/jruby/Ruby;
            0    7     2        name  Ljava/lang/String;
            0    7     3  visibility  Lorg/jruby/runtime/Visibility;
            0    7     4       block  Lorg/jruby/runtime/Block;
            5    7     5        proc  Lorg/jruby/RubyProc;
    MethodParameters:
            Name  Flags
      runtime     
      name        
      visibility  
      block       

  public org.jruby.runtime.builtin.IRubyObject name();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 2383
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.name19:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;

  public org.jruby.runtime.builtin.IRubyObject name19();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 2388
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getBaseName:()Ljava/lang/String;
            ifnonnull 1
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            invokevirtual org.jruby.RubyModule.rubyName:()Lorg/jruby/RubyString;
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyModule;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"name"})

  protected final org.jruby.runtime.builtin.IRubyObject cloneMethods(org.jruby.RubyModule);
    descriptor: (Lorg/jruby/RubyModule;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.RubyModule clone
         0: .line 2392
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 2393
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getNonIncludedClass:()Lorg/jruby/RubyModule;
            astore 3 /* realType */
        start local 3 // org.jruby.RubyModule realType
         2: .line 2394
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getMethods:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: org.jruby.RubyModule org.jruby.RubyModule org.jruby.Ruby org.jruby.RubyModule top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* entry */
        start local 4 // java.util.Map$Entry entry
         4: .line 2395
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.jruby.internal.runtime.methods.DynamicMethod
            astore 6 /* method */
        start local 6 // org.jruby.internal.runtime.methods.DynamicMethod method
         5: .line 2398
            aload 6 /* method */
            aload 3 /* realType */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isImplementedBy:(Lorg/jruby/RubyModule;)Z
            ifne 6
            aload 6 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isUndefined:()Z
            ifeq 9
         6: .line 2402
      StackMap locals: org.jruby.RubyModule org.jruby.RubyModule org.jruby.Ruby org.jruby.RubyModule java.util.Map$Entry java.util.Iterator org.jruby.internal.runtime.methods.DynamicMethod
      StackMap stack:
            aload 6 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.dup:()Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 7 /* clonedMethod */
        start local 7 // org.jruby.internal.runtime.methods.DynamicMethod clonedMethod
         7: .line 2403
            aload 7 /* clonedMethod */
            aload 1 /* clone */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.setImplementationClass:(Lorg/jruby/RubyModule;)V
         8: .line 2404
            aload 1 /* clone */
            aload 2 /* runtime */
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 7 /* clonedMethod */
            invokevirtual org.jruby.RubyModule.putMethod:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
            pop
        end local 7 // org.jruby.internal.runtime.methods.DynamicMethod clonedMethod
        end local 6 // org.jruby.internal.runtime.methods.DynamicMethod method
        end local 4 // java.util.Map$Entry entry
         9: .line 2394
      StackMap locals: org.jruby.RubyModule org.jruby.RubyModule org.jruby.Ruby org.jruby.RubyModule top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        10: .line 2408
            aload 1 /* clone */
            areturn
        end local 3 // org.jruby.RubyModule realType
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.RubyModule clone
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lorg/jruby/RubyModule;
            0   11     1         clone  Lorg/jruby/RubyModule;
            1   11     2       runtime  Lorg/jruby/Ruby;
            2   11     3      realType  Lorg/jruby/RubyModule;
            4    9     4         entry  Ljava/util/Map$Entry<Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;>;
            5    9     6        method  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            7    9     7  clonedMethod  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    MethodParameters:
       Name  Flags
      clone  

  public org.jruby.runtime.builtin.IRubyObject initialize_copy(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject original
         0: .line 2417
            aload 0 /* this */
            instanceof org.jruby.RubyClass
            ifeq 2
         1: .line 2418
            aload 0 /* this */
            aload 1 /* original */
            checkcast org.jruby.RubyClass
            invokevirtual org.jruby.RubyModule.checkSafeTypeToCopy:(Lorg/jruby/RubyClass;)V
         2: .line 2420
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* original */
            invokespecial org.jruby.RubyObject.initialize_copy:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         3: .line 2422
            aload 1 /* original */
            checkcast org.jruby.RubyModule
            astore 2 /* originalModule */
        start local 2 // org.jruby.RubyModule originalModule
         4: .line 2424
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getMetaClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.isSingleton:()Z
            ifne 6
         5: .line 2425
            aload 0 /* this */
            aload 2 /* originalModule */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getSingletonClassCloneAndAttach:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyModule.setMetaClass:(Lorg/jruby/RubyClass;)V
         6: .line 2427
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 0 /* this */
            aload 2 /* originalModule */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyModule.setSuperClass:(Lorg/jruby/RubyClass;)V
         7: .line 2428
            aload 2 /* originalModule */
            invokevirtual org.jruby.RubyModule.hasVariables:()Z
            ifeq 8
            aload 0 /* this */
            aload 2 /* originalModule */
            invokevirtual org.jruby.RubyModule.syncVariables:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         8: .line 2429
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* originalModule */
            invokevirtual org.jruby.RubyModule.syncConstants:(Lorg/jruby/RubyModule;)V
         9: .line 2431
            aload 2 /* originalModule */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.cloneMethods:(Lorg/jruby/RubyModule;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        10: .line 2433
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.RubyModule originalModule
        end local 1 // org.jruby.runtime.builtin.IRubyObject original
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lorg/jruby/RubyModule;
            0   11     1        original  Lorg/jruby/runtime/builtin/IRubyObject;
            4   11     2  originalModule  Lorg/jruby/RubyModule;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"initialize_copy"}, required = 1, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
          Name  Flags
      original  

  private void checkSafeTypeToCopy(org.jruby.RubyClass);
    descriptor: (Lorg/jruby/RubyClass;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.RubyClass original
         0: .line 2438
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 2440
            aload 1 /* original */
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getBasicObject:()Lorg/jruby/RubyClass;
            if_acmpne 2
            aload 2 /* runtime */
            ldc "can't copy the root class"
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 2441
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getBasicObject:()Lorg/jruby/RubyClass;
            if_acmpne 3
            aload 2 /* runtime */
            ldc "already initialized class"
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 2442
      StackMap locals:
      StackMap stack:
            aload 1 /* original */
            invokevirtual org.jruby.RubyClass.isSingleton:()Z
            ifeq 4
            aload 2 /* runtime */
            ldc "can't copy singleton class"
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 2443
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.RubyClass original
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/jruby/RubyModule;
            0    5     1  original  Lorg/jruby/RubyClass;
            1    5     2   runtime  Lorg/jruby/Ruby;
    MethodParameters:
          Name  Flags
      original  

  public void syncConstants(org.jruby.RubyModule);
    descriptor: (Lorg/jruby/RubyModule;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.RubyModule other
         0: .line 2446
            aload 1 /* other */
            invokevirtual org.jruby.RubyModule.getConstantMap:()Ljava/util/Map;
            getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
            if_acmpeq 2
         1: .line 2447
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getConstantMapForWrite:()Ljava/util/Map;
            aload 1 /* other */
            invokevirtual org.jruby.RubyModule.getConstantMap:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
         2: .line 2449
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.jruby.RubyModule other
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/jruby/RubyModule;
            0    3     1  other  Lorg/jruby/RubyModule;
    MethodParameters:
       Name  Flags
      other  

  public void syncClassVariables(org.jruby.RubyModule);
    descriptor: (Lorg/jruby/RubyModule;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.RubyModule other
         0: .line 2452
            aload 1 /* other */
            invokevirtual org.jruby.RubyModule.getClassVariablesForRead:()Ljava/util/Map;
            getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
            if_acmpeq 2
         1: .line 2453
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getClassVariables:()Ljava/util/Map;
            aload 1 /* other */
            invokevirtual org.jruby.RubyModule.getClassVariablesForRead:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
         2: .line 2455
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.jruby.RubyModule other
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/jruby/RubyModule;
            0    3     1  other  Lorg/jruby/RubyModule;
    MethodParameters:
       Name  Flags
      other  

  public org.jruby.RubyArray included_modules(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 2462
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.newArray:()Lorg/jruby/RubyArray;
            astore 2 /* ary */
        start local 2 // org.jruby.RubyArray ary
         1: .line 2464
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 3 /* p */
        start local 3 // org.jruby.RubyModule p
         2: goto 6
         3: .line 2465
      StackMap locals: org.jruby.RubyArray org.jruby.RubyModule
      StackMap stack:
            aload 3 /* p */
            invokevirtual org.jruby.RubyModule.isIncluded:()Z
            ifeq 5
         4: .line 2466
            aload 2 /* ary */
            aload 3 /* p */
            invokevirtual org.jruby.RubyModule.getNonIncludedClass:()Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
         5: .line 2464
      StackMap locals:
      StackMap stack:
            aload 3 /* p */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 3 /* p */
      StackMap locals:
      StackMap stack:
         6: aload 3 /* p */
            ifnonnull 3
        end local 3 // org.jruby.RubyModule p
         7: .line 2470
            aload 2 /* ary */
            areturn
        end local 2 // org.jruby.RubyArray ary
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyModule;
            0    8     1  context  Lorg/jruby/runtime/ThreadContext;
            1    8     2      ary  Lorg/jruby/RubyArray;
            2    7     3        p  Lorg/jruby/RubyModule;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"included_modules"})
    MethodParameters:
         Name  Flags
      context  

  public boolean hasPrepends();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 2474
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            aload 0 /* this */
            if_acmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyModule;

  public org.jruby.RubyArray ancestors(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 2482
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getAncestorList:()Ljava/util/List;
            invokevirtual org.jruby.Ruby.newArray:(Ljava/util/List;)Lorg/jruby/RubyArray;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyModule;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"ancestors"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyArray ancestors();
    descriptor: ()Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 2487
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getAncestorList:()Ljava/util/List;
            invokevirtual org.jruby.Ruby.newArray:(Ljava/util/List;)Lorg/jruby/RubyArray;
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public java.util.List<org.jruby.runtime.builtin.IRubyObject> getAncestorList();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 2491
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* list */
        start local 1 // java.util.ArrayList list
         1: .line 2493
            aload 0 /* this */
            astore 2 /* module */
        start local 2 // org.jruby.RubyModule module
         2: goto 5
         3: .line 2496
      StackMap locals: java.util.ArrayList org.jruby.RubyModule
      StackMap stack:
            aload 2 /* module */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            aload 2 /* module */
            if_acmpne 4
            aload 1 /* list */
            aload 2 /* module */
            invokevirtual org.jruby.RubyModule.getDelegate:()Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.getNonIncludedClass:()Lorg/jruby/RubyModule;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         4: .line 2493
      StackMap locals:
      StackMap stack:
            aload 2 /* module */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 2 /* module */
      StackMap locals:
      StackMap stack:
         5: aload 2 /* module */
            ifnonnull 3
        end local 2 // org.jruby.RubyModule module
         6: .line 2499
            aload 1 /* list */
            areturn
        end local 1 // java.util.ArrayList list
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/jruby/RubyModule;
            1    7     1    list  Ljava/util/ArrayList<Lorg/jruby/runtime/builtin/IRubyObject;>;
            2    6     2  module  Lorg/jruby/RubyModule;
    Signature: ()Ljava/util/List<Lorg/jruby/runtime/builtin/IRubyObject;>;

  public boolean hasModuleInPrepends(org.jruby.RubyModule);
    descriptor: (Lorg/jruby/RubyModule;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.RubyModule type
         0: .line 2503
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getPrependCeiling:()Lorg/jruby/RubyModule;
            astore 2 /* stopClass */
        start local 2 // org.jruby.RubyModule stopClass
         1: .line 2504
            aload 0 /* this */
            astore 3 /* module */
        start local 3 // org.jruby.RubyModule module
         2: goto 5
         3: .line 2505
      StackMap locals: org.jruby.RubyModule org.jruby.RubyModule
      StackMap stack:
            aload 1 /* type */
            aload 3 /* module */
            invokevirtual org.jruby.RubyModule.getNonIncludedClass:()Lorg/jruby/RubyModule;
            if_acmpne 4
            iconst_1
            ireturn
         4: .line 2504
      StackMap locals:
      StackMap stack:
            aload 3 /* module */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 3 /* module */
      StackMap locals:
      StackMap stack:
         5: aload 3 /* module */
            aload 2 /* stopClass */
            if_acmpne 3
        end local 3 // org.jruby.RubyModule module
         6: .line 2507
            iconst_0
            ireturn
        end local 2 // org.jruby.RubyModule stopClass
        end local 1 // org.jruby.RubyModule type
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/jruby/RubyModule;
            0    7     1       type  Lorg/jruby/RubyModule;
            1    7     2  stopClass  Lorg/jruby/RubyModule;
            2    6     3     module  Lorg/jruby/RubyModule;
    MethodParameters:
      Name  Flags
      type  

  private org.jruby.RubyModule getPrependCeiling();
    descriptor: ()Lorg/jruby/RubyModule;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 2511
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 1 /* mlSuper */
        start local 1 // org.jruby.RubyClass mlSuper
         1: .line 2512
            aload 1 /* mlSuper */
            ifnonnull 2
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            goto 3
      StackMap locals: org.jruby.RubyClass
      StackMap stack:
         2: aload 1 /* mlSuper */
            invokevirtual org.jruby.RubyClass.getRealClass:()Lorg/jruby/RubyClass;
      StackMap locals:
      StackMap stack: org.jruby.RubyModule
         3: areturn
        end local 1 // org.jruby.RubyClass mlSuper
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyModule;
            1    4     1  mlSuper  Lorg/jruby/RubyClass;

  public boolean hasModuleInHierarchy(org.jruby.RubyModule);
    descriptor: (Lorg/jruby/RubyModule;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.RubyModule type
         0: .line 2520
            aload 0 /* this */
            astore 2 /* module */
        start local 2 // org.jruby.RubyModule module
         1: goto 4
         2: .line 2521
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 2 /* module */
            invokevirtual org.jruby.RubyModule.getNonIncludedClass:()Lorg/jruby/RubyModule;
            aload 1 /* type */
            if_acmpne 3
            iconst_1
            ireturn
         3: .line 2520
      StackMap locals:
      StackMap stack:
            aload 2 /* module */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 2 /* module */
      StackMap locals:
      StackMap stack:
         4: aload 2 /* module */
            ifnonnull 2
        end local 2 // org.jruby.RubyModule module
         5: .line 2524
            iconst_0
            ireturn
        end local 1 // org.jruby.RubyModule type
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/jruby/RubyModule;
            0    6     1    type  Lorg/jruby/RubyModule;
            1    5     2  module  Lorg/jruby/RubyModule;
    MethodParameters:
      Name  Flags
      type  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 2529
            aload 0 /* this */
            getfield org.jruby.RubyModule.id:I
            ireturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;

  public org.jruby.RubyFixnum hash();
    descriptor: ()Lorg/jruby/RubyFixnum;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 2535
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyModule.id:I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"hash"})

  public org.jruby.RubyString to_s();
    descriptor: ()Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 2544
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            astore 1 /* runtime */
        start local 1 // org.jruby.Ruby runtime
         1: .line 2545
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.isSingleton:()Z
            ifeq 11
         2: .line 2546
            aload 0 /* this */
            checkcast org.jruby.MetaClass
            invokevirtual org.jruby.MetaClass.getAttached:()Lorg/jruby/RubyBasicObject;
            astore 2 /* attached */
        start local 2 // org.jruby.runtime.builtin.IRubyObject attached
         3: .line 2547
            aload 1 /* runtime */
            ldc "#<Class:"
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            astore 3 /* buffer */
        start local 3 // org.jruby.RubyString buffer
         4: .line 2549
            aload 2 /* attached */
            instanceof org.jruby.RubyModule
            ifeq 7
         5: .line 2550
            aload 3 /* buffer */
            aload 2 /* attached */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.inspect:()Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
         6: .line 2551
            goto 9
      StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString
      StackMap stack:
         7: aload 2 /* attached */
            ifnull 9
         8: .line 2552
            aload 3 /* buffer */
            aload 2 /* attached */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.anyToString:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
         9: .line 2554
      StackMap locals:
      StackMap stack:
            aload 3 /* buffer */
            bipush 62
            aload 3 /* buffer */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual org.jruby.RubyString.cat:(ILorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            pop
        10: .line 2556
            aload 3 /* buffer */
            areturn
        end local 3 // org.jruby.RubyString buffer
        end local 2 // org.jruby.runtime.builtin.IRubyObject attached
        11: .line 2559
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyModule.refinedClass:Lorg/jruby/RubyModule;
            astore 2 /* refinedClass */
        start local 2 // org.jruby.RubyModule refinedClass
        12: .line 2561
            aload 2 /* refinedClass */
            ifnull 19
        13: .line 2562
            aload 1 /* runtime */
            ldc "#<refinement:"
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            astore 3 /* buffer */
        start local 3 // org.jruby.RubyString buffer
        14: .line 2564
            aload 3 /* buffer */
            aload 2 /* refinedClass */
            invokevirtual org.jruby.RubyModule.inspect:()Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
        15: .line 2565
            aload 3 /* buffer */
            bipush 64
            aload 3 /* buffer */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual org.jruby.RubyString.cat:(ILorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            pop
        16: .line 2566
            aload 3 /* buffer */
            aload 0 /* this */
            getfield org.jruby.RubyModule.definedAt:Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.inspect:()Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
        17: .line 2567
            aload 3 /* buffer */
            bipush 62
            aload 3 /* buffer */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual org.jruby.RubyString.cat:(ILorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            pop
        18: .line 2569
            aload 3 /* buffer */
            areturn
        end local 3 // org.jruby.RubyString buffer
        19: .line 2572
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.rubyName:()Lorg/jruby/RubyString;
            aload 1 /* runtime */
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            areturn
        end local 2 // org.jruby.RubyModule refinedClass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0          this  Lorg/jruby/RubyModule;
            1   20     1       runtime  Lorg/jruby/Ruby;
            3   11     2      attached  Lorg/jruby/runtime/builtin/IRubyObject;
            4   11     3        buffer  Lorg/jruby/RubyString;
           12   20     2  refinedClass  Lorg/jruby/RubyModule;
           14   19     3        buffer  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"to_s"}, alias = {"inspect"})

  public org.jruby.RubyBoolean op_eqq(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 2581
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            aload 2 /* obj */
            invokevirtual org.jruby.RubyModule.isInstance:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
            invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject obj
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyModule;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      obj  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"==="}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      obj      

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.Object other
         0: .line 2592
            aload 0 /* this */
            aload 1 /* other */
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.Object other
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/RubyModule;
            0    2     1  other  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      other  

  public org.jruby.runtime.builtin.IRubyObject op_equal(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 2598
            aload 2 /* other */
            instanceof org.jruby.RubyModule
            ifne 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
         1: .line 2600
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            checkcast org.jruby.RubyModule
            astore 3 /* otherModule */
        start local 3 // org.jruby.RubyModule otherModule
         2: .line 2601
            aload 3 /* otherModule */
            invokevirtual org.jruby.RubyModule.isIncluded:()Z
            ifeq 4
         3: .line 2602
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* otherModule */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.isSame:(Lorg/jruby/RubyModule;)Z
            invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
         4: .line 2604
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            aload 3 /* otherModule */
            invokevirtual org.jruby.RubyModule.isSame:(Lorg/jruby/RubyModule;)Z
            invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 3 // org.jruby.RubyModule otherModule
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/jruby/RubyModule;
            0    5     1      context  Lorg/jruby/runtime/ThreadContext;
            0    5     2        other  Lorg/jruby/runtime/builtin/IRubyObject;
            2    5     3  otherModule  Lorg/jruby/RubyModule;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"=="}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      other    

  public final org.jruby.runtime.builtin.IRubyObject freeze(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 2614
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.to_s:()Lorg/jruby/RubyString;
            pop
         1: .line 2615
            aload 0 /* this */
            aload 1 /* context */
            invokespecial org.jruby.RubyObject.freeze:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyModule;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"freeze"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject op_le(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 2623
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 2625
            aload 1 /* arg */
            instanceof org.jruby.RubyModule
            ifne 3
         2: .line 2626
            aload 2 /* runtime */
            ldc "compared with non class/module"
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 2629
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 1 /* arg */
            checkcast org.jruby.RubyModule
            astore 3 /* argMod */
        start local 3 // org.jruby.RubyModule argMod
         4: .line 2631
            aload 0 /* this */
            aload 3 /* argMod */
            invokevirtual org.jruby.RubyModule.getMethodLocation:()Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.searchAncestor:(Lorg/jruby/RubyModule;)Lorg/jruby/RubyModule;
            ifnull 6
         5: .line 2632
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
            areturn
         6: .line 2636
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 3 /* argMod */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.searchAncestor:(Lorg/jruby/RubyModule;)Lorg/jruby/RubyModule;
            ifnull 8
         7: .line 2637
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
            areturn
         8: .line 2640
      StackMap locals:
      StackMap stack:
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.RubyModule argMod
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/jruby/RubyModule;
            0    9     1      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            1    9     2  runtime  Lorg/jruby/Ruby;
            4    9     3   argMod  Lorg/jruby/RubyModule;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"<="}, required = 1)
    MethodParameters:
      Name  Flags
      arg   

  protected org.jruby.RubyModule searchAncestor(org.jruby.RubyModule);
    descriptor: (Lorg/jruby/RubyModule;)Lorg/jruby/RubyModule;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.RubyModule c
         0: .line 2645
            aload 0 /* this */
            astore 2 /* cl */
        start local 2 // org.jruby.RubyModule cl
         1: .line 2646
            goto 5
         2: .line 2647
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 2 /* cl */
            aload 1 /* c */
            if_acmpeq 3
            aload 2 /* cl */
            aload 1 /* c */
            invokevirtual org.jruby.RubyModule.isSame:(Lorg/jruby/RubyModule;)Z
            ifne 3
            aload 2 /* cl */
            invokevirtual org.jruby.RubyModule.getDelegate:()Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.getNonIncludedClass:()Lorg/jruby/RubyModule;
            aload 1 /* c */
            if_acmpne 4
         3: .line 2648
      StackMap locals:
      StackMap stack:
            aload 2 /* cl */
            areturn
         4: .line 2650
      StackMap locals:
      StackMap stack:
            aload 2 /* cl */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 2 /* cl */
         5: .line 2646
      StackMap locals:
      StackMap stack:
            aload 2 /* cl */
            ifnonnull 2
         6: .line 2652
            aconst_null
            areturn
        end local 2 // org.jruby.RubyModule cl
        end local 1 // org.jruby.RubyModule c
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/jruby/RubyModule;
            0    7     1     c  Lorg/jruby/RubyModule;
            1    7     2    cl  Lorg/jruby/RubyModule;
    MethodParameters:
      Name  Flags
      c     

  public org.jruby.runtime.builtin.IRubyObject op_lt(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 2660
            aload 1 /* obj */
            aload 0 /* this */
            if_acmpne 1
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            aload 1 /* obj */
            invokevirtual org.jruby.RubyModule.op_le:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject obj
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyModule;
            0    3     1   obj  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"<"}, required = 1)
    MethodParameters:
      Name  Flags
      obj   

  public org.jruby.runtime.builtin.IRubyObject op_ge(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 2668
            aload 1 /* obj */
            instanceof org.jruby.RubyModule
            ifne 2
         1: .line 2669
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            ldc "compared with non class/module"
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 2672
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            checkcast org.jruby.RubyModule
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.op_le:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject obj
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyModule;
            0    3     1   obj  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {">="}, required = 1)
    MethodParameters:
      Name  Flags
      obj   

  public org.jruby.runtime.builtin.IRubyObject op_gt(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 2680
            aload 0 /* this */
            aload 1 /* obj */
            if_acmpne 1
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            aload 1 /* obj */
            invokevirtual org.jruby.RubyModule.op_ge:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject obj
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyModule;
            0    3     1   obj  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {">"}, required = 1)
    MethodParameters:
      Name  Flags
      obj   

  public org.jruby.runtime.builtin.IRubyObject op_cmp(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 2688
            aload 0 /* this */
            aload 1 /* obj */
            if_acmpne 1
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            iconst_0
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
         1: .line 2689
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof org.jruby.RubyModule
            ifne 2
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 2691
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            checkcast org.jruby.RubyModule
            astore 2 /* module */
        start local 2 // org.jruby.RubyModule module
         3: .line 2693
            aload 2 /* module */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.isKindOfModule:(Lorg/jruby/RubyModule;)Z
            ifeq 4
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            iconst_1
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
         4: .line 2694
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 0 /* this */
            aload 2 /* module */
            invokevirtual org.jruby.RubyModule.isKindOfModule:(Lorg/jruby/RubyModule;)Z
            ifeq 5
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            iconst_m1
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
         5: .line 2696
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.RubyModule module
        end local 1 // org.jruby.runtime.builtin.IRubyObject obj
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/jruby/RubyModule;
            0    6     1     obj  Lorg/jruby/runtime/builtin/IRubyObject;
            3    6     2  module  Lorg/jruby/RubyModule;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"<=>"}, required = 1)
    MethodParameters:
      Name  Flags
      obj   

  public boolean isKindOfModule(org.jruby.RubyModule);
    descriptor: (Lorg/jruby/RubyModule;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.RubyModule type
         0: .line 2700
            aload 0 /* this */
            astore 2 /* module */
        start local 2 // org.jruby.RubyModule module
         1: goto 4
         2: .line 2701
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 2 /* module */
            aload 1 /* type */
            invokevirtual org.jruby.RubyModule.isSame:(Lorg/jruby/RubyModule;)Z
            ifeq 3
            iconst_1
            ireturn
         3: .line 2700
      StackMap locals:
      StackMap stack:
            aload 2 /* module */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 2 /* module */
      StackMap locals:
      StackMap stack:
         4: aload 2 /* module */
            ifnonnull 2
        end local 2 // org.jruby.RubyModule module
         5: .line 2704
            iconst_0
            ireturn
        end local 1 // org.jruby.RubyModule type
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/jruby/RubyModule;
            0    6     1    type  Lorg/jruby/RubyModule;
            1    5     2  module  Lorg/jruby/RubyModule;
    MethodParameters:
      Name  Flags
      type  

  protected boolean isSame(org.jruby.RubyModule);
    descriptor: (Lorg/jruby/RubyModule;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.RubyModule module
         0: .line 2708
            aload 0 /* this */
            aload 1 /* module */
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // org.jruby.RubyModule module
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/jruby/RubyModule;
            0    2     1  module  Lorg/jruby/RubyModule;
    MethodParameters:
        Name  Flags
      module  

  public org.jruby.runtime.builtin.IRubyObject initialize(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 2716
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 2
         1: .line 2717
            aload 0 /* this */
            aload 1 /* context */
            iconst_1
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 0 /* this */
            aastore
            aload 2 /* block */
            invokevirtual org.jruby.RubyModule.module_exec:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 2720
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyModule;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"initialize"}, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
         Name  Flags
      context  
      block    

  public void addReadWriteAttribute(org.jruby.runtime.ThreadContext, java.lang.String);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // java.lang.String name
         0: .line 2724
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* name */
            invokestatic org.jruby.util.TypeConverter.checkID:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubySymbol;
            getstatic org.jruby.runtime.Visibility.PUBLIC:Lorg/jruby/runtime/Visibility;
            iconst_1
            iconst_1
            invokevirtual org.jruby.RubyModule.addAccessor:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubySymbol;Lorg/jruby/runtime/Visibility;ZZ)V
         1: .line 2725
            return
        end local 2 // java.lang.String name
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyModule;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2     name  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      context  
      name     

  public void addReadAttribute(org.jruby.runtime.ThreadContext, java.lang.String);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // java.lang.String name
         0: .line 2728
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* name */
            invokestatic org.jruby.util.TypeConverter.checkID:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubySymbol;
            getstatic org.jruby.runtime.Visibility.PUBLIC:Lorg/jruby/runtime/Visibility;
            iconst_1
            iconst_0
            invokevirtual org.jruby.RubyModule.addAccessor:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubySymbol;Lorg/jruby/runtime/Visibility;ZZ)V
         1: .line 2729
            return
        end local 2 // java.lang.String name
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyModule;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2     name  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      context  
      name     

  public void addWriteAttribute(org.jruby.runtime.ThreadContext, java.lang.String);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // java.lang.String name
         0: .line 2732
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* name */
            invokestatic org.jruby.util.TypeConverter.checkID:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubySymbol;
            getstatic org.jruby.runtime.Visibility.PUBLIC:Lorg/jruby/runtime/Visibility;
            iconst_0
            iconst_1
            invokevirtual org.jruby.RubyModule.addAccessor:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubySymbol;Lorg/jruby/runtime/Visibility;ZZ)V
         1: .line 2733
            return
        end local 2 // java.lang.String name
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyModule;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2     name  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      context  
      name     

  public org.jruby.runtime.builtin.IRubyObject attr(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 2740
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 2742
            aload 2 /* args */
            arraylength
            iconst_2
            if_icmpne 5
            aload 2 /* args */
            iconst_1
            aaload
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
            if_acmpeq 2
            aload 2 /* args */
            iconst_1
            aaload
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
            if_acmpne 5
         2: .line 2743
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            getstatic org.jruby.common.IRubyWarnings$ID.OBSOLETE_ARGUMENT:Lorg/jruby/common/IRubyWarnings$ID;
            ldc "optional boolean argument is obsoleted"
            invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
         3: .line 2744
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            iconst_0
            aaload
            invokestatic org.jruby.util.TypeConverter.checkID:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubySymbol;
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentVisibility:()Lorg/jruby/runtime/Visibility;
            aload 2 /* args */
            iconst_0
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            aload 2 /* args */
            iconst_1
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            invokevirtual org.jruby.RubyModule.addAccessor:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubySymbol;Lorg/jruby/runtime/Visibility;ZZ)V
         4: .line 2745
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         5: .line 2748
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            invokevirtual org.jruby.RubyModule.attr_reader:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyModule;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            0    6     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1    6     3  runtime  Lorg/jruby/Ruby;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"attr"}, rest = true, reads = {org.jruby.anno.FrameField.VISIBILITY:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject attr19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 2753
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            invokevirtual org.jruby.RubyModule.attr:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyModule;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject attr_reader(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 2758
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 1 /* args */
            invokevirtual org.jruby.RubyModule.attr_reader:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      args  

  public org.jruby.runtime.builtin.IRubyObject attr_reader(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 2767
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentVisibility:()Lorg/jruby/runtime/Visibility;
            astore 3 /* visibility */
        start local 3 // org.jruby.runtime.Visibility visibility
         1: .line 2769
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 2770
      StackMap locals: org.jruby.runtime.Visibility int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            iload 4 /* i */
            aaload
            invokestatic org.jruby.util.TypeConverter.checkID:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubySymbol;
            aload 3 /* visibility */
            iconst_1
            iconst_0
            invokevirtual org.jruby.RubyModule.addAccessor:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubySymbol;Lorg/jruby/runtime/Visibility;ZZ)V
         4: .line 2769
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            aload 2 /* args */
            arraylength
            if_icmplt 3
        end local 4 // int i
         6: .line 2773
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Visibility visibility
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/jruby/RubyModule;
            0    7     1     context  Lorg/jruby/runtime/ThreadContext;
            0    7     2        args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1    7     3  visibility  Lorg/jruby/runtime/Visibility;
            2    6     4           i  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"attr_reader"}, rest = true, reads = {org.jruby.anno.FrameField.VISIBILITY:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject attr_writer(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 2782
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentVisibility:()Lorg/jruby/runtime/Visibility;
            astore 3 /* visibility */
        start local 3 // org.jruby.runtime.Visibility visibility
         1: .line 2784
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 2785
      StackMap locals: org.jruby.runtime.Visibility int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            iload 4 /* i */
            aaload
            invokestatic org.jruby.util.TypeConverter.checkID:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubySymbol;
            aload 3 /* visibility */
            iconst_0
            iconst_1
            invokevirtual org.jruby.RubyModule.addAccessor:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubySymbol;Lorg/jruby/runtime/Visibility;ZZ)V
         4: .line 2784
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            aload 2 /* args */
            arraylength
            if_icmplt 3
        end local 4 // int i
         6: .line 2788
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Visibility visibility
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/jruby/RubyModule;
            0    7     1     context  Lorg/jruby/runtime/ThreadContext;
            0    7     2        args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1    7     3  visibility  Lorg/jruby/runtime/Visibility;
            2    6     4           i  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"attr_writer"}, rest = true, reads = {org.jruby.anno.FrameField.VISIBILITY:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject attr_accessor(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 2794
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 1 /* args */
            invokevirtual org.jruby.RubyModule.attr_accessor:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      args  

  public org.jruby.runtime.builtin.IRubyObject attr_accessor(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 2804
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentVisibility:()Lorg/jruby/runtime/Visibility;
            astore 3 /* visibility */
        start local 3 // org.jruby.runtime.Visibility visibility
         1: .line 2806
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 2810
      StackMap locals: org.jruby.runtime.Visibility int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            iload 4 /* i */
            aaload
            invokestatic org.jruby.util.TypeConverter.checkID:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubySymbol;
            aload 3 /* visibility */
            iconst_1
            iconst_1
            invokevirtual org.jruby.RubyModule.addAccessor:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubySymbol;Lorg/jruby/runtime/Visibility;ZZ)V
         4: .line 2806
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            aload 2 /* args */
            arraylength
            if_icmplt 3
        end local 4 // int i
         6: .line 2813
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Visibility visibility
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/jruby/RubyModule;
            0    7     1     context  Lorg/jruby/runtime/ThreadContext;
            0    7     2        args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1    7     3  visibility  Lorg/jruby/runtime/Visibility;
            2    6     4           i  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"attr_accessor"}, rest = true, reads = {org.jruby.anno.FrameField.VISIBILITY:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      args     

  private org.jruby.RubyArray instance_methods(org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Visibility, boolean);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Visibility;Z)Lorg/jruby/RubyArray;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 2 // org.jruby.runtime.Visibility visibility
        start local 3 // boolean not
         0: .line 2826
            aload 1 /* args */
            arraylength
            ifle 1
            aload 1 /* args */
            iconst_0
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: istore 4 /* includeSuper */
        start local 4 // boolean includeSuper
         3: .line 2827
            aload 0 /* this */
            aload 2 /* visibility */
            iload 4 /* includeSuper */
            iconst_1
            iload 3 /* not */
            invokevirtual org.jruby.RubyModule.instanceMethods:(Lorg/jruby/runtime/Visibility;ZZZ)Lorg/jruby/RubyArray;
            areturn
        end local 4 // boolean includeSuper
        end local 3 // boolean not
        end local 2 // org.jruby.runtime.Visibility visibility
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/jruby/RubyModule;
            0    4     1          args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     2    visibility  Lorg/jruby/runtime/Visibility;
            0    4     3           not  Z
            3    4     4  includeSuper  Z
    MethodParameters:
            Name  Flags
      args        
      visibility  
      not         

  public org.jruby.RubyArray instanceMethods(org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Visibility, boolean, boolean);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Visibility;ZZ)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 2 // org.jruby.runtime.Visibility visibility
        start local 3 // boolean obj
        start local 4 // boolean not
         0: .line 2831
            aload 1 /* args */
            arraylength
            ifle 1
            aload 1 /* args */
            iconst_0
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: istore 5 /* includeSuper */
        start local 5 // boolean includeSuper
         3: .line 2832
            aload 0 /* this */
            aload 2 /* visibility */
            iload 5 /* includeSuper */
            iload 3 /* obj */
            iload 4 /* not */
            invokevirtual org.jruby.RubyModule.instanceMethods:(Lorg/jruby/runtime/Visibility;ZZZ)Lorg/jruby/RubyArray;
            areturn
        end local 5 // boolean includeSuper
        end local 4 // boolean not
        end local 3 // boolean obj
        end local 2 // org.jruby.runtime.Visibility visibility
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/jruby/RubyModule;
            0    4     1          args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     2    visibility  Lorg/jruby/runtime/Visibility;
            0    4     3           obj  Z
            0    4     4           not  Z
            3    4     5  includeSuper  Z
    MethodParameters:
            Name  Flags
      args        
      visibility  
      obj         
      not         

  public org.jruby.RubyArray instanceMethods(org.jruby.runtime.Visibility, boolean, boolean, boolean);
    descriptor: (Lorg/jruby/runtime/Visibility;ZZZ)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.Visibility visibility
        start local 2 // boolean includeSuper
        start local 3 // boolean obj
        start local 4 // boolean not
         0: .line 2836
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.newArray:()Lorg/jruby/RubyArray;
            astore 5 /* ary */
        start local 5 // org.jruby.RubyArray ary
         1: .line 2838
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            aload 5 /* ary */
            aload 1 /* visibility */
            iload 3 /* obj */
            iload 4 /* not */
            iload 2 /* includeSuper */
            invokevirtual org.jruby.RubyModule.populateInstanceMethodNames:(Ljava/util/Set;Lorg/jruby/RubyArray;Lorg/jruby/runtime/Visibility;ZZZ)V
         2: .line 2840
            aload 5 /* ary */
            areturn
        end local 5 // org.jruby.RubyArray ary
        end local 4 // boolean not
        end local 3 // boolean obj
        end local 2 // boolean includeSuper
        end local 1 // org.jruby.runtime.Visibility visibility
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/jruby/RubyModule;
            0    3     1    visibility  Lorg/jruby/runtime/Visibility;
            0    3     2  includeSuper  Z
            0    3     3           obj  Z
            0    3     4           not  Z
            1    3     5           ary  Lorg/jruby/RubyArray;
    MethodParameters:
              Name  Flags
      visibility    
      includeSuper  
      obj           
      not           

  final void populateInstanceMethodNames(java.util.Set<java.lang.String>, org.jruby.RubyArray, org.jruby.runtime.Visibility, boolean, boolean, );
    descriptor: (Ljava/util/Set;Lorg/jruby/RubyArray;Lorg/jruby/runtime/Visibility;ZZZ)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=10, args_size=7
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.util.Set seen
        start local 2 // org.jruby.RubyArray ary
        start local 3 // org.jruby.runtime.Visibility visibility
        start local 4 // boolean obj
        start local 5 // boolean not
        start local 6 // boolean recur
         0: .line 2845
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            astore 7 /* runtime */
        start local 7 // org.jruby.Ruby runtime
         1: .line 2846
            aload 0 /* this */
            astore 8 /* mod */
        start local 8 // org.jruby.RubyModule mod
         2: .line 2847
            iconst_0
            istore 9 /* prepended */
        start local 9 // boolean prepended
         3: .line 2849
            iload 6 /* recur */
            ifne 12
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            aload 0 /* this */
            if_acmpeq 12
         4: .line 2850
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            astore 8 /* mod */
         5: .line 2851
            iconst_1
            istore 9 /* prepended */
         6: .line 2854
            goto 12
         7: .line 2855
      StackMap locals: org.jruby.Ruby org.jruby.RubyModule int
      StackMap stack:
            aload 8 /* mod */
            aload 7 /* runtime */
            aload 1 /* seen */
            aload 2 /* ary */
            iload 5 /* not */
            aload 3 /* visibility */
            invokevirtual org.jruby.RubyModule.addMethodSymbols:(Lorg/jruby/Ruby;Ljava/util/Set;Lorg/jruby/RubyArray;ZLorg/jruby/runtime/Visibility;)V
         8: .line 2857
            iload 9 /* prepended */
            ifne 9
            aload 8 /* mod */
            invokevirtual org.jruby.RubyModule.isIncluded:()Z
            ifeq 9
            goto 11
         9: .line 2858
      StackMap locals:
      StackMap stack:
            iload 4 /* obj */
            ifeq 10
            aload 8 /* mod */
            invokevirtual org.jruby.RubyModule.isSingleton:()Z
            ifeq 10
            goto 11
        10: .line 2859
      StackMap locals:
      StackMap stack:
            iload 6 /* recur */
            ifne 11
            goto 13
        11: .line 2854
      StackMap locals:
      StackMap stack:
            aload 8 /* mod */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 8 /* mod */
      StackMap locals:
      StackMap stack:
        12: aload 8 /* mod */
            ifnonnull 7
        13: .line 2861
      StackMap locals:
      StackMap stack:
            return
        end local 9 // boolean prepended
        end local 8 // org.jruby.RubyModule mod
        end local 7 // org.jruby.Ruby runtime
        end local 6 // boolean recur
        end local 5 // boolean not
        end local 4 // boolean obj
        end local 3 // org.jruby.runtime.Visibility visibility
        end local 2 // org.jruby.RubyArray ary
        end local 1 // java.util.Set seen
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lorg/jruby/RubyModule;
            0   14     1        seen  Ljava/util/Set<Ljava/lang/String;>;
            0   14     2         ary  Lorg/jruby/RubyArray;
            0   14     3  visibility  Lorg/jruby/runtime/Visibility;
            0   14     4         obj  Z
            0   14     5         not  Z
            0   14     6       recur  Z
            1   14     7     runtime  Lorg/jruby/Ruby;
            2   14     8         mod  Lorg/jruby/RubyModule;
            3   14     9   prepended  Z
    Signature: (Ljava/util/Set<Ljava/lang/String;>;Lorg/jruby/RubyArray;Lorg/jruby/runtime/Visibility;ZZZ)V
    MethodParameters:
            Name  Flags
      seen        final
      ary         final
      visibility  
      obj         
      not         
      recur       

  protected void addMethodSymbols(org.jruby.Ruby, java.util.Set<java.lang.String>, org.jruby.RubyArray, boolean, org.jruby.runtime.Visibility);
    descriptor: (Lorg/jruby/Ruby;Ljava/util/Set;Lorg/jruby/RubyArray;ZLorg/jruby/runtime/Visibility;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // java.util.Set seen
        start local 3 // org.jruby.RubyArray ary
        start local 4 // boolean not
        start local 5 // org.jruby.runtime.Visibility visibility
         0: .line 2864
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getMethods:()Ljava/util/Map;
            aload 2 /* seen */
            iload 4 /* not */
            aload 5 /* visibility */
            aload 3 /* ary */
            aload 1 /* runtime */
            invokedynamic accept(Ljava/util/Set;ZLorg/jruby/runtime/Visibility;Lorg/jruby/RubyArray;Lorg/jruby/Ruby;)Ljava/util/function/BiConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)V
                  org/jruby/RubyModule.lambda$1(Ljava/util/Set;ZLorg/jruby/runtime/Visibility;Lorg/jruby/RubyArray;Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V (6)
                  (Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
            invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
         1: .line 2874
            return
        end local 5 // org.jruby.runtime.Visibility visibility
        end local 4 // boolean not
        end local 3 // org.jruby.RubyArray ary
        end local 2 // java.util.Set seen
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/jruby/RubyModule;
            0    2     1     runtime  Lorg/jruby/Ruby;
            0    2     2        seen  Ljava/util/Set<Ljava/lang/String;>;
            0    2     3         ary  Lorg/jruby/RubyArray;
            0    2     4         not  Z
            0    2     5  visibility  Lorg/jruby/runtime/Visibility;
    Signature: (Lorg/jruby/Ruby;Ljava/util/Set<Ljava/lang/String;>;Lorg/jruby/RubyArray;ZLorg/jruby/runtime/Visibility;)V
    MethodParameters:
            Name  Flags
      runtime     
      seen        
      ary         
      not         
      visibility  

  public org.jruby.RubyArray instance_methods(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 2877
            aload 0 /* this */
            aload 1 /* args */
            invokevirtual org.jruby.RubyModule.instance_methods19:([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  args  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      args  

  public org.jruby.RubyArray instance_methods19(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 2882
            aload 0 /* this */
            aload 1 /* args */
            getstatic org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;
            iconst_0
            iconst_1
            invokevirtual org.jruby.RubyModule.instanceMethods:([Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Visibility;ZZ)Lorg/jruby/RubyArray;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"instance_methods"}, optional = 1)
    MethodParameters:
      Name  Flags
      args  

  public org.jruby.RubyArray public_instance_methods(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 2886
            aload 0 /* this */
            aload 1 /* args */
            invokevirtual org.jruby.RubyModule.public_instance_methods19:([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  args  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      args  

  public org.jruby.RubyArray public_instance_methods19(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 2891
            aload 0 /* this */
            aload 1 /* args */
            getstatic org.jruby.runtime.Visibility.PUBLIC:Lorg/jruby/runtime/Visibility;
            iconst_0
            iconst_0
            invokevirtual org.jruby.RubyModule.instanceMethods:([Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Visibility;ZZ)Lorg/jruby/RubyArray;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"public_instance_methods"}, optional = 1)
    MethodParameters:
      Name  Flags
      args  

  public org.jruby.runtime.builtin.IRubyObject instance_method(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject symbol
         0: .line 2896
            aload 0 /* this */
            aconst_null
            aload 1 /* symbol */
            invokestatic org.jruby.util.TypeConverter.checkID:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            iconst_0
            aconst_null
            invokevirtual org.jruby.RubyModule.newMethod:(Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;ZLorg/jruby/runtime/Visibility;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject symbol
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/jruby/RubyModule;
            0    1     1  symbol  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"instance_method"}, required = 1)
    MethodParameters:
        Name  Flags
      symbol  

  public org.jruby.runtime.builtin.IRubyObject public_instance_method(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject symbol
         0: .line 2901
            aload 0 /* this */
            aconst_null
            aload 1 /* symbol */
            invokestatic org.jruby.util.TypeConverter.checkID:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            iconst_0
            getstatic org.jruby.runtime.Visibility.PUBLIC:Lorg/jruby/runtime/Visibility;
            invokevirtual org.jruby.RubyModule.newMethod:(Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;ZLorg/jruby/runtime/Visibility;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject symbol
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/jruby/RubyModule;
            0    1     1  symbol  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"public_instance_method"}, required = 1)
    MethodParameters:
        Name  Flags
      symbol  

  public org.jruby.RubyArray protected_instance_methods(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 2909
            aload 0 /* this */
            aload 1 /* args */
            getstatic org.jruby.runtime.Visibility.PROTECTED:Lorg/jruby/runtime/Visibility;
            iconst_0
            iconst_0
            invokevirtual org.jruby.RubyModule.instanceMethods:([Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Visibility;ZZ)Lorg/jruby/RubyArray;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"protected_instance_methods"}, optional = 1)
    MethodParameters:
      Name  Flags
      args  

  public org.jruby.RubyArray protected_instance_methods19(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 2914
            aload 0 /* this */
            aload 1 /* args */
            invokevirtual org.jruby.RubyModule.protected_instance_methods:([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      args  

  public org.jruby.RubyArray private_instance_methods(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 2922
            aload 0 /* this */
            aload 1 /* args */
            getstatic org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;
            iconst_0
            iconst_0
            invokevirtual org.jruby.RubyModule.instanceMethods:([Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Visibility;ZZ)Lorg/jruby/RubyArray;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"private_instance_methods"}, optional = 1)
    MethodParameters:
      Name  Flags
      args  

  public org.jruby.RubyArray private_instance_methods19(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 2927
            aload 0 /* this */
            aload 1 /* args */
            invokevirtual org.jruby.RubyModule.private_instance_methods:([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      args  

  public org.jruby.RubyModule prepend_features(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyModule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject include
         0: .line 2935
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.isModule:()Z
            ifne 2
         1: .line 2936
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getModule:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 2938
      StackMap locals:
      StackMap stack:
            aload 1 /* include */
            instanceof org.jruby.RubyModule
            ifne 4
         3: .line 2939
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* include */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getModule:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 2942
      StackMap locals:
      StackMap stack:
            aload 1 /* include */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isModule:()Z
            ifne 6
            aload 1 /* include */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isClass:()Z
            ifne 6
         5: .line 2943
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* include */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getModule:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;)Lorg/jruby/exceptions/RaiseException;
            athrow
         6: .line 2946
      StackMap locals:
      StackMap stack:
            aload 1 /* include */
            checkcast org.jruby.RubyModule
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.prependModule:(Lorg/jruby/RubyModule;)V
         7: .line 2947
            aload 0 /* this */
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject include
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyModule;
            0    8     1  include  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"prepend_features"}, required = 1, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
         Name  Flags
      include  

  public org.jruby.RubyModule append_features(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyModule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject include
         0: .line 2955
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.isModule:()Z
            ifne 2
         1: .line 2956
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getModule:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 2958
      StackMap locals:
      StackMap stack:
            aload 1 /* include */
            instanceof org.jruby.RubyModule
            ifne 4
         3: .line 2959
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* include */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getModule:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 2962
      StackMap locals:
      StackMap stack:
            aload 1 /* include */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isModule:()Z
            ifne 6
            aload 1 /* include */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isClass:()Z
            ifne 6
         5: .line 2963
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* include */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getModule:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;)Lorg/jruby/exceptions/RaiseException;
            athrow
         6: .line 2966
      StackMap locals:
      StackMap stack:
            aload 1 /* include */
            checkcast org.jruby.RubyModule
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.includeModule:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         7: .line 2967
            aload 0 /* this */
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject include
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyModule;
            0    8     1  include  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"append_features"}, required = 1, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
         Name  Flags
      include  

  public org.jruby.runtime.builtin.IRubyObject extend_object(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 2975
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.isModule:()Z
            ifne 2
         1: .line 2976
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getModule:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 2978
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getSingletonClass:()Lorg/jruby/RubyClass;
            aload 0 /* this */
            invokevirtual org.jruby.RubyClass.includeModule:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         3: .line 2979
            aload 1 /* obj */
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject obj
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jruby/RubyModule;
            0    4     1   obj  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"extend_object"}, required = 1, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
      Name  Flags
      obj   

  public org.jruby.RubyModule include(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyModule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] modules
         0: .line 2987
            aload 0 /* this */
            getfield org.jruby.RubyModule.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            astore 2 /* context */
        start local 2 // org.jruby.runtime.ThreadContext context
         1: .line 2989
            aload 1 /* modules */
            arraylength
            istore 3 /* i */
        start local 3 // int i
         2: goto 6
         3: .line 2990
      StackMap locals: org.jruby.runtime.ThreadContext int
      StackMap stack:
            aload 1 /* modules */
            iload 3 /* i */
            aaload
            astore 4 /* module */
        start local 4 // org.jruby.runtime.builtin.IRubyObject module
         4: .line 2991
            aload 4 /* module */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isModule:()Z
            ifne 6
         5: .line 2992
            aload 2 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 4 /* module */
            aload 2 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getModule:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 4 // org.jruby.runtime.builtin.IRubyObject module
         6: .line 2989
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ -1
            iload 3 /* i */
            ifge 3
        end local 3 // int i
         7: .line 2995
            aload 1 /* modules */
            arraylength
            iconst_1
            isub
            istore 3 /* i */
        start local 3 // int i
         8: goto 13
         9: .line 2996
      StackMap locals:
      StackMap stack:
            aload 1 /* modules */
            iload 3 /* i */
            aaload
            astore 4 /* module */
        start local 4 // org.jruby.runtime.builtin.IRubyObject module
        10: .line 2997
            aload 4 /* module */
            aload 2 /* context */
            ldc "append_features"
            aload 0 /* this */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        11: .line 2998
            aload 4 /* module */
            aload 2 /* context */
            ldc "included"
            aload 0 /* this */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        end local 4 // org.jruby.runtime.builtin.IRubyObject module
        12: .line 2995
            iinc 3 /* i */ -1
      StackMap locals:
      StackMap stack:
        13: iload 3 /* i */
            ifge 9
        end local 3 // int i
        14: .line 3001
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.ThreadContext context
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] modules
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lorg/jruby/RubyModule;
            0   15     1  modules  [Lorg/jruby/runtime/builtin/IRubyObject;
            1   15     2  context  Lorg/jruby/runtime/ThreadContext;
            2    7     3        i  I
            4    6     4   module  Lorg/jruby/runtime/builtin/IRubyObject;
            8   14     3        i  I
           10   12     4   module  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"include"}, required = 1, rest = true)
    MethodParameters:
         Name  Flags
      modules  

  public org.jruby.RubyModule include(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyModule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject module
         0: .line 3006
            aload 2 /* module */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isModule:()Z
            ifne 2
         1: .line 3007
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* module */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getModule:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 3009
      StackMap locals:
      StackMap stack:
            aload 2 /* module */
            aload 1 /* context */
            ldc "append_features"
            aload 0 /* this */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         3: .line 3010
            aload 2 /* module */
            aload 1 /* context */
            ldc "included"
            aload 0 /* this */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         4: .line 3011
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject module
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyModule;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2   module  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"include"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      module   

  public org.jruby.runtime.builtin.IRubyObject included(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 3016
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyModule;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"included"}, required = 1, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject extended(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
        start local 3 // org.jruby.runtime.Block block
         0: .line 3021
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyModule;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"extended"}, required = 1, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
         Name  Flags
      context  
      other    
      block    

  public org.jruby.runtime.builtin.IRubyObject mix(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject mod
         0: .line 3026
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 3028
            aload 2 /* mod */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isModule:()Z
            ifne 3
         2: .line 3029
            aload 3 /* runtime */
            aload 2 /* mod */
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getModule:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 3032
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 2 /* mod */
            checkcast org.jruby.RubyModule
            getfield org.jruby.RubyModule.methods:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 7
      StackMap locals: org.jruby.RubyModule org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* entry */
        start local 4 // java.util.Map$Entry entry
         5: .line 3033
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.getMethods:()Ljava/util/Map;
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 3034
            aload 3 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "method would conflict - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 4 // java.util.Map$Entry entry
         7: .line 3032
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 3038
            aload 2 /* mod */
            checkcast org.jruby.RubyModule
            getfield org.jruby.RubyModule.methods:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 11
      StackMap locals:
      StackMap stack:
         9: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* entry */
        start local 4 // java.util.Map$Entry entry
        10: .line 3039
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.getMethodsForWrite:()Ljava/util/Map;
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.jruby.internal.runtime.methods.DynamicMethod
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.dup:()Lorg/jruby/internal/runtime/methods/DynamicMethod;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.util.Map$Entry entry
        11: .line 3038
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        12: .line 3042
            aload 2 /* mod */
            areturn
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject mod
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lorg/jruby/RubyModule;
            0   13     1  context  Lorg/jruby/runtime/ThreadContext;
            0   13     2      mod  Lorg/jruby/runtime/builtin/IRubyObject;
            1   13     3  runtime  Lorg/jruby/Ruby;
            5    7     4    entry  Ljava/util/Map$Entry<Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;>;
           10   11     4    entry  Ljava/util/Map$Entry<Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;>;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"mix"}, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
         Name  Flags
      context  
      mod      

  public org.jruby.runtime.builtin.IRubyObject mix(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject mod
        start local 3 // org.jruby.runtime.builtin.IRubyObject hash0
         0: .line 3047
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 3050
            aload 2 /* mod */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isModule:()Z
            ifne 3
         2: .line 3051
            aload 4 /* runtime */
            aload 2 /* mod */
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getModule:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 3054
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 3 /* hash0 */
            instanceof org.jruby.RubyHash
            ifeq 6
         4: .line 3055
            aload 3 /* hash0 */
            checkcast org.jruby.RubyHash
            astore 5 /* methodNames */
        start local 5 // org.jruby.RubyHash methodNames
         5: .line 3056
            goto 7
        end local 5 // org.jruby.RubyHash methodNames
         6: .line 3057
      StackMap locals:
      StackMap stack:
            aload 4 /* runtime */
            aload 3 /* hash0 */
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getHash:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;)Lorg/jruby/exceptions/RaiseException;
            athrow
        start local 5 // org.jruby.RubyHash methodNames
         7: .line 3060
      StackMap locals: org.jruby.RubyHash
      StackMap stack:
            aload 5 /* methodNames */
            invokevirtual org.jruby.RubyHash.directEntrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 12
      StackMap locals: org.jruby.RubyModule org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.RubyHash top java.util.Iterator
      StackMap stack:
         8: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* entry */
        start local 6 // java.util.Map$Entry entry
         9: .line 3061
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 8 /* name */
        start local 8 // java.lang.String name
        10: .line 3062
            aload 0 /* this */
            getfield org.jruby.RubyModule.methods:Ljava/util/Map;
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 3063
            aload 4 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "constant would conflict - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 8 // java.lang.String name
        end local 6 // java.util.Map$Entry entry
        12: .line 3060
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        13: .line 3067
            aload 2 /* mod */
            checkcast org.jruby.RubyModule
            getfield org.jruby.RubyModule.methods:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 17
      StackMap locals:
      StackMap stack:
        14: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* entry */
        start local 6 // java.util.Map$Entry entry
        15: .line 3068
            aload 0 /* this */
            getfield org.jruby.RubyModule.methods:Ljava/util/Map;
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 17
        16: .line 3069
            aload 4 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "method would conflict - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 6 // java.util.Map$Entry entry
        17: .line 3067
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        18: .line 3073
            aload 2 /* mod */
            checkcast org.jruby.RubyModule
            getfield org.jruby.RubyModule.methods:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 27
      StackMap locals:
      StackMap stack:
        19: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* entry */
        start local 6 // java.util.Map$Entry entry
        20: .line 3074
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* id */
        start local 8 // java.lang.String id
        21: .line 3075
            aload 5 /* methodNames */
            aload 4 /* runtime */
            aload 8 /* id */
            invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubyHash.fastARef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 9 /* mapped */
        start local 9 // org.jruby.runtime.builtin.IRubyObject mapped
        22: .line 3076
            aload 9 /* mapped */
            getstatic org.jruby.RubyModule.NEVER:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 26
        23: .line 3078
            aload 9 /* mapped */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 25
        24: .line 3080
            goto 27
        25: .line 3082
      StackMap locals: org.jruby.RubyModule org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.RubyHash java.util.Map$Entry java.util.Iterator java.lang.String org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 9 /* mapped */
            invokestatic org.jruby.util.TypeConverter.checkID:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            astore 8 /* id */
        26: .line 3084
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.getMethodsForWrite:()Ljava/util/Map;
            aload 8 /* id */
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.jruby.internal.runtime.methods.DynamicMethod
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.dup:()Lorg/jruby/internal/runtime/methods/DynamicMethod;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // org.jruby.runtime.builtin.IRubyObject mapped
        end local 8 // java.lang.String id
        end local 6 // java.util.Map$Entry entry
        27: .line 3073
      StackMap locals: org.jruby.RubyModule org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.RubyHash top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        28: .line 3087
            aload 2 /* mod */
            areturn
        end local 5 // org.jruby.RubyHash methodNames
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.builtin.IRubyObject hash0
        end local 2 // org.jruby.runtime.builtin.IRubyObject mod
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   29     0         this  Lorg/jruby/RubyModule;
            0   29     1      context  Lorg/jruby/runtime/ThreadContext;
            0   29     2          mod  Lorg/jruby/runtime/builtin/IRubyObject;
            0   29     3        hash0  Lorg/jruby/runtime/builtin/IRubyObject;
            1   29     4      runtime  Lorg/jruby/Ruby;
            5    6     5  methodNames  Lorg/jruby/RubyHash;
            7   29     5  methodNames  Lorg/jruby/RubyHash;
            9   12     6        entry  Ljava/util/Map$Entry<Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;>;
           10   12     8         name  Ljava/lang/String;
           15   17     6        entry  Ljava/util/Map$Entry<Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;>;
           20   27     6        entry  Ljava/util/Map$Entry<Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;>;
           21   27     8           id  Ljava/lang/String;
           22   27     9       mapped  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"mix"}, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
         Name  Flags
      context  
      mod      
      hash0    

  private void setVisibility(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Visibility);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Visibility;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 3 // org.jruby.runtime.Visibility visibility
         0: .line 3091
            aload 2 /* args */
            arraylength
            ifne 3
         1: .line 3094
            aload 1 /* context */
            aload 3 /* visibility */
            invokevirtual org.jruby.runtime.ThreadContext.setCurrentVisibility:(Lorg/jruby/runtime/Visibility;)V
         2: .line 3095
            goto 4
         3: .line 3096
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* args */
            aload 3 /* visibility */
            invokevirtual org.jruby.RubyModule.setMethodVisibility:([Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Visibility;)V
         4: .line 3098
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.jruby.runtime.Visibility visibility
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/jruby/RubyModule;
            0    5     1     context  Lorg/jruby/runtime/ThreadContext;
            0    5     2        args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     3  visibility  Lorg/jruby/runtime/Visibility;
    MethodParameters:
            Name  Flags
      context     
      args        
      visibility  

  public org.jruby.RubyModule rbPublic(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyModule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 3105
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.checkFrozen:()V
         1: .line 3106
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            getstatic org.jruby.runtime.Visibility.PUBLIC:Lorg/jruby/runtime/Visibility;
            invokevirtual org.jruby.RubyModule.setVisibility:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Visibility;)V
         2: .line 3107
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyModule;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"public"}, rest = true, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;, writes = {org.jruby.anno.FrameField.VISIBILITY:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.RubyModule rbProtected(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyModule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 3115
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.checkFrozen:()V
         1: .line 3116
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            getstatic org.jruby.runtime.Visibility.PROTECTED:Lorg/jruby/runtime/Visibility;
            invokevirtual org.jruby.RubyModule.setVisibility:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Visibility;)V
         2: .line 3117
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyModule;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"protected"}, rest = true, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;, writes = {org.jruby.anno.FrameField.VISIBILITY:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.RubyModule rbPrivate(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyModule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 3125
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.checkFrozen:()V
         1: .line 3126
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            getstatic org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;
            invokevirtual org.jruby.RubyModule.setVisibility:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Visibility;)V
         2: .line 3127
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyModule;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"private"}, rest = true, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;, writes = {org.jruby.anno.FrameField.VISIBILITY:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.RubyModule module_function(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyModule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 3135
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 3137
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.isModule:()Z
            ifne 3
         2: .line 3138
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "module_function must be called for modules"
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 3141
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 2 /* args */
            arraylength
            ifne 6
         4: .line 3142
            aload 1 /* context */
            getstatic org.jruby.runtime.Visibility.MODULE_FUNCTION:Lorg/jruby/runtime/Visibility;
            invokevirtual org.jruby.runtime.ThreadContext.setCurrentVisibility:(Lorg/jruby/runtime/Visibility;)V
         5: .line 3143
            goto 17
         6: .line 3144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* args */
            getstatic org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;
            invokevirtual org.jruby.RubyModule.setMethodVisibility:([Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Visibility;)V
         7: .line 3146
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 16
         9: .line 3147
      StackMap locals: int
      StackMap stack:
            aload 2 /* args */
            iload 4 /* i */
            aaload
            invokestatic org.jruby.util.TypeConverter.checkID:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubySymbol;
            astore 5 /* name */
        start local 5 // org.jruby.RubySymbol name
        10: .line 3148
            aload 0 /* this */
            aload 5 /* name */
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            aload 3 /* runtime */
            invokevirtual org.jruby.RubyModule.deepMethodSearch:(Ljava/lang/String;Lorg/jruby/Ruby;)Lorg/jruby/runtime/callsite/CacheEntry;
            getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.dup:()Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 6 /* newMethod */
        start local 6 // org.jruby.internal.runtime.methods.DynamicMethod newMethod
        11: .line 3149
            aload 6 /* newMethod */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getSingletonClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.setImplementationClass:(Lorg/jruby/RubyModule;)V
        12: .line 3150
            aload 6 /* newMethod */
            getstatic org.jruby.runtime.Visibility.PUBLIC:Lorg/jruby/runtime/Visibility;
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.setVisibility:(Lorg/jruby/runtime/Visibility;)V
        13: .line 3151
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getSingletonClass:()Lorg/jruby/RubyClass;
            aload 5 /* name */
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            aload 6 /* newMethod */
            invokevirtual org.jruby.RubyClass.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
        14: .line 3152
            aload 0 /* this */
            aload 1 /* context */
            ldc "singleton_method_added"
            aload 5 /* name */
            invokevirtual org.jruby.RubyModule.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        end local 6 // org.jruby.internal.runtime.methods.DynamicMethod newMethod
        end local 5 // org.jruby.RubySymbol name
        15: .line 3146
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 4 /* i */
            aload 2 /* args */
            arraylength
            if_icmplt 9
        end local 4 // int i
        17: .line 3155
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Lorg/jruby/RubyModule;
            0   18     1    context  Lorg/jruby/runtime/ThreadContext;
            0   18     2       args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1   18     3    runtime  Lorg/jruby/Ruby;
            8   17     4          i  I
           10   15     5       name  Lorg/jruby/RubySymbol;
           11   15     6  newMethod  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"module_function"}, rest = true, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;, writes = {org.jruby.anno.FrameField.VISIBILITY:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject method_added(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject nothing
         0: .line 3160
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject nothing
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyModule;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2  nothing  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"method_added"}, required = 1, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
         Name  Flags
      context  
      nothing  

  public org.jruby.runtime.builtin.IRubyObject method_removed(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject nothing
         0: .line 3165
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject nothing
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyModule;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2  nothing  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"method_removed"}, required = 1, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
         Name  Flags
      context  
      nothing  

  public org.jruby.runtime.builtin.IRubyObject method_undefined(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject nothing
         0: .line 3170
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject nothing
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyModule;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2  nothing  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"method_undefined"}, required = 1, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
         Name  Flags
      context  
      nothing  

  public org.jruby.RubyBoolean method_defined_p(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject symbol
         0: .line 3175
            aload 0 /* this */
            aload 2 /* symbol */
            invokestatic org.jruby.util.TypeConverter.checkID:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            iconst_1
            invokevirtual org.jruby.RubyModule.isMethodBound:(Ljava/lang/String;Z)Z
            ifeq 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
      StackMap locals:
      StackMap stack: org.jruby.RubyBoolean
         2: areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject symbol
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyModule;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2   symbol  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"method_defined?"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      symbol   

  public org.jruby.runtime.builtin.IRubyObject public_method_defined(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject symbol
         0: .line 3180
            aload 0 /* this */
            aload 2 /* symbol */
            invokestatic org.jruby.util.TypeConverter.checkID:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            invokevirtual org.jruby.RubyModule.searchMethod:(Ljava/lang/String;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 3 /* method */
        start local 3 // org.jruby.internal.runtime.methods.DynamicMethod method
         1: .line 3182
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isUndefined:()Z
            ifne 2
            aload 3 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getVisibility:()Lorg/jruby/runtime/Visibility;
            getstatic org.jruby.runtime.Visibility.PUBLIC:Lorg/jruby/runtime/Visibility;
            if_acmpne 2
            iconst_1
            goto 3
      StackMap locals: org.jruby.RubyModule org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.internal.runtime.methods.DynamicMethod
      StackMap stack: org.jruby.Ruby
         2: iconst_0
      StackMap locals: org.jruby.RubyModule org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.internal.runtime.methods.DynamicMethod
      StackMap stack: org.jruby.Ruby int
         3: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 3 // org.jruby.internal.runtime.methods.DynamicMethod method
        end local 2 // org.jruby.runtime.builtin.IRubyObject symbol
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyModule;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2   symbol  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     3   method  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"public_method_defined?"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      symbol   

  public org.jruby.runtime.builtin.IRubyObject protected_method_defined(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject symbol
         0: .line 3187
            aload 0 /* this */
            aload 2 /* symbol */
            invokestatic org.jruby.util.TypeConverter.checkID:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            invokevirtual org.jruby.RubyModule.searchMethod:(Ljava/lang/String;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 3 /* method */
        start local 3 // org.jruby.internal.runtime.methods.DynamicMethod method
         1: .line 3189
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isUndefined:()Z
            ifne 2
            aload 3 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getVisibility:()Lorg/jruby/runtime/Visibility;
            getstatic org.jruby.runtime.Visibility.PROTECTED:Lorg/jruby/runtime/Visibility;
            if_acmpne 2
            iconst_1
            goto 3
      StackMap locals: org.jruby.RubyModule org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.internal.runtime.methods.DynamicMethod
      StackMap stack: org.jruby.Ruby
         2: iconst_0
      StackMap locals: org.jruby.RubyModule org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.internal.runtime.methods.DynamicMethod
      StackMap stack: org.jruby.Ruby int
         3: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 3 // org.jruby.internal.runtime.methods.DynamicMethod method
        end local 2 // org.jruby.runtime.builtin.IRubyObject symbol
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyModule;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2   symbol  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     3   method  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"protected_method_defined?"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      symbol   

  public org.jruby.runtime.builtin.IRubyObject private_method_defined(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject symbol
         0: .line 3194
            aload 0 /* this */
            aload 2 /* symbol */
            invokestatic org.jruby.util.TypeConverter.checkID:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            invokevirtual org.jruby.RubyModule.searchMethod:(Ljava/lang/String;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 3 /* method */
        start local 3 // org.jruby.internal.runtime.methods.DynamicMethod method
         1: .line 3196
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isUndefined:()Z
            ifne 2
            aload 3 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getVisibility:()Lorg/jruby/runtime/Visibility;
            getstatic org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;
            if_acmpne 2
            iconst_1
            goto 3
      StackMap locals: org.jruby.RubyModule org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.internal.runtime.methods.DynamicMethod
      StackMap stack: org.jruby.Ruby
         2: iconst_0
      StackMap locals: org.jruby.RubyModule org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.internal.runtime.methods.DynamicMethod
      StackMap stack: org.jruby.Ruby int
         3: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 3 // org.jruby.internal.runtime.methods.DynamicMethod method
        end local 2 // org.jruby.runtime.builtin.IRubyObject symbol
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyModule;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2   symbol  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     3   method  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"private_method_defined?"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      symbol   

  public org.jruby.RubyModule public_class_method(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyModule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 3201
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.checkFrozen:()V
         1: .line 3202
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getSingletonClass:()Lorg/jruby/RubyClass;
            aload 1 /* args */
            getstatic org.jruby.runtime.Visibility.PUBLIC:Lorg/jruby/runtime/Visibility;
            invokevirtual org.jruby.RubyClass.setMethodVisibility:([Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Visibility;)V
         2: .line 3203
            aload 0 /* this */
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyModule;
            0    3     1  args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"public_class_method"}, rest = true)
    MethodParameters:
      Name  Flags
      args  

  public org.jruby.RubyModule private_class_method(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyModule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 3208
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.checkFrozen:()V
         1: .line 3209
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getSingletonClass:()Lorg/jruby/RubyClass;
            aload 1 /* args */
            getstatic org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;
            invokevirtual org.jruby.RubyClass.setMethodVisibility:([Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Visibility;)V
         2: .line 3210
            aload 0 /* this */
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyModule;
            0    3     1  args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"private_class_method"}, rest = true)
    MethodParameters:
      Name  Flags
      args  

  public org.jruby.RubyModule alias_method(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyModule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject newId
        start local 3 // org.jruby.runtime.builtin.IRubyObject oldId
         0: .line 3215
            aload 2 /* newId */
            invokestatic org.jruby.util.TypeConverter.checkID:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubySymbol;
            astore 4 /* newSym */
        start local 4 // org.jruby.RubySymbol newSym
         1: .line 3216
            aload 3 /* oldId */
            invokestatic org.jruby.util.TypeConverter.checkID:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubySymbol;
            astore 5 /* oldSym */
        start local 5 // org.jruby.RubySymbol oldSym
         2: .line 3218
            aload 0 /* this */
            aload 4 /* newSym */
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            aload 5 /* oldSym */
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            invokevirtual org.jruby.RubyModule.defineAlias:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 3220
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.isSingleton:()Z
            ifeq 6
         4: .line 3221
            aload 0 /* this */
            checkcast org.jruby.MetaClass
            invokevirtual org.jruby.MetaClass.getAttached:()Lorg/jruby/RubyBasicObject;
            aload 1 /* context */
            ldc "singleton_method_added"
            aload 4 /* newSym */
            invokevirtual org.jruby.RubyBasicObject.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         5: .line 3222
            goto 7
         6: .line 3223
      StackMap locals: org.jruby.RubySymbol org.jruby.RubySymbol
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            ldc "method_added"
            aload 4 /* newSym */
            invokevirtual org.jruby.RubyModule.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         7: .line 3225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 5 // org.jruby.RubySymbol oldSym
        end local 4 // org.jruby.RubySymbol newSym
        end local 3 // org.jruby.runtime.builtin.IRubyObject oldId
        end local 2 // org.jruby.runtime.builtin.IRubyObject newId
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyModule;
            0    8     1  context  Lorg/jruby/runtime/ThreadContext;
            0    8     2    newId  Lorg/jruby/runtime/builtin/IRubyObject;
            0    8     3    oldId  Lorg/jruby/runtime/builtin/IRubyObject;
            1    8     4   newSym  Lorg/jruby/RubySymbol;
            2    8     5   oldSym  Lorg/jruby/RubySymbol;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"alias_method"}, required = 2)
    MethodParameters:
         Name  Flags
      context  
      newId    
      oldId    

  public org.jruby.RubyModule undef_method(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyModule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 3230
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 5
         2: .line 3231
      StackMap locals: int
      StackMap stack:
            aload 2 /* args */
            iload 3 /* i */
            aaload
            invokestatic org.jruby.util.TypeConverter.checkID:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubySymbol;
            astore 4 /* name */
        start local 4 // org.jruby.RubySymbol name
         3: .line 3233
            aload 0 /* this */
            aload 1 /* context */
            aload 4 /* name */
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            invokevirtual org.jruby.RubyModule.undef:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)V
        end local 4 // org.jruby.RubySymbol name
         4: .line 3230
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            aload 2 /* args */
            arraylength
            if_icmplt 2
        end local 3 // int i
         6: .line 3235
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/RubyModule;
            0    7     1  context  Lorg/jruby/runtime/ThreadContext;
            0    7     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1    6     3        i  I
            3    4     4     name  Lorg/jruby/RubySymbol;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"undef_method"}, rest = true)
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject module_eval(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 3242
            aload 0 /* this */
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* block */
            getstatic org.jruby.EvalType.MODULE_EVAL:Lorg/jruby/EvalType;
            invokevirtual org.jruby.RubyModule.specificEval:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;Lorg/jruby/runtime/Block;Lorg/jruby/EvalType;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyModule;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"module_eval", "class_eval"}, reads = {org.jruby.anno.FrameField.LASTLINE:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.VISIBILITY:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.BLOCK:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.SELF:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.METHODNAME:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.LINE:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.CLASS:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.FILENAME:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.SCOPE:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.LASTLINE:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.VISIBILITY:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.BLOCK:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.SELF:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.METHODNAME:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.LINE:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.CLASS:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.FILENAME:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.SCOPE:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject module_eval(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.Block block
         0: .line 3248
            aload 0 /* this */
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* arg0 */
            aload 3 /* block */
            getstatic org.jruby.EvalType.MODULE_EVAL:Lorg/jruby/EvalType;
            invokevirtual org.jruby.RubyModule.specificEval:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Lorg/jruby/EvalType;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyModule;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"module_eval", "class_eval"}, reads = {org.jruby.anno.FrameField.LASTLINE:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.VISIBILITY:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.BLOCK:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.SELF:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.METHODNAME:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.LINE:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.CLASS:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.FILENAME:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.SCOPE:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.LASTLINE:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.VISIBILITY:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.BLOCK:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.SELF:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.METHODNAME:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.LINE:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.CLASS:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.FILENAME:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.SCOPE:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      block    

  public org.jruby.runtime.builtin.IRubyObject module_eval(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 4 // org.jruby.runtime.Block block
         0: .line 3254
            aload 0 /* this */
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            aload 4 /* block */
            getstatic org.jruby.EvalType.MODULE_EVAL:Lorg/jruby/EvalType;
            invokevirtual org.jruby.RubyModule.specificEval:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Lorg/jruby/EvalType;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyModule;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     4    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"module_eval", "class_eval"}, reads = {org.jruby.anno.FrameField.LASTLINE:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.VISIBILITY:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.BLOCK:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.SELF:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.METHODNAME:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.LINE:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.CLASS:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.FILENAME:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.SCOPE:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.LASTLINE:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.VISIBILITY:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.BLOCK:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.SELF:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.METHODNAME:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.LINE:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.CLASS:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.FILENAME:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.SCOPE:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     
      block    

  public org.jruby.runtime.builtin.IRubyObject module_eval(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=6
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 4 // org.jruby.runtime.builtin.IRubyObject arg2
        start local 5 // org.jruby.runtime.Block block
         0: .line 3260
            aload 0 /* this */
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            aload 4 /* arg2 */
            aload 5 /* block */
            getstatic org.jruby.EvalType.MODULE_EVAL:Lorg/jruby/EvalType;
            invokevirtual org.jruby.RubyModule.specificEval:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Lorg/jruby/EvalType;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // org.jruby.runtime.Block block
        end local 4 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyModule;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     4     arg2  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     5    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"module_eval", "class_eval"}, reads = {org.jruby.anno.FrameField.LASTLINE:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.VISIBILITY:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.BLOCK:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.SELF:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.METHODNAME:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.LINE:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.CLASS:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.FILENAME:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.SCOPE:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.LASTLINE:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.VISIBILITY:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.BLOCK:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.SELF:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.METHODNAME:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.LINE:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.CLASS:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.FILENAME:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.SCOPE:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     
      arg2     
      block    

  public org.jruby.runtime.builtin.IRubyObject module_eval(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 3 // org.jruby.runtime.Block block
         0: .line 3264
            aload 0 /* this */
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* args */
            aload 3 /* block */
            getstatic org.jruby.EvalType.MODULE_EVAL:Lorg/jruby/EvalType;
            invokevirtual org.jruby.RubyModule.specificEval:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Lorg/jruby/EvalType;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyModule;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      args     
      block    

  public org.jruby.runtime.builtin.IRubyObject module_exec(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 3271
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 2
         1: .line 3272
            aload 0 /* this */
            aload 1 /* context */
            aload 0 /* this */
            getstatic org.jruby.runtime.builtin.IRubyObject.NULL_ARRAY:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.cloneBlockAndFrame:()Lorg/jruby/runtime/Block;
            getstatic org.jruby.EvalType.MODULE_EVAL:Lorg/jruby/EvalType;
            invokevirtual org.jruby.RubyModule.yieldUnder:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Lorg/jruby/EvalType;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 3274
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.newLocalJumpErrorNoBlock:()Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyModule;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"module_exec", "class_exec"}, reads = {org.jruby.anno.FrameField.LASTLINE:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.VISIBILITY:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.BLOCK:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.SELF:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.METHODNAME:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.LINE:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.CLASS:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.FILENAME:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.SCOPE:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.LASTLINE:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.VISIBILITY:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.BLOCK:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.SELF:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.METHODNAME:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.LINE:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.CLASS:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.FILENAME:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.SCOPE:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject module_exec(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 3 // org.jruby.runtime.Block block
         0: .line 3282
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 2
         1: .line 3283
            aload 0 /* this */
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* args */
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.cloneBlockAndFrame:()Lorg/jruby/runtime/Block;
            getstatic org.jruby.EvalType.MODULE_EVAL:Lorg/jruby/EvalType;
            invokevirtual org.jruby.RubyModule.yieldUnder:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Lorg/jruby/EvalType;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 3285
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.newLocalJumpErrorNoBlock:()Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyModule;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"module_exec", "class_exec"}, rest = true, reads = {org.jruby.anno.FrameField.LASTLINE:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.VISIBILITY:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.BLOCK:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.SELF:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.METHODNAME:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.LINE:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.CLASS:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.FILENAME:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.SCOPE:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.LASTLINE:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.VISIBILITY:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.BLOCK:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.SELF:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.METHODNAME:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.LINE:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.CLASS:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.FILENAME:Lorg/jruby/anno/FrameField;, org.jruby.anno.FrameField.SCOPE:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      args     
      block    

  public org.jruby.RubyModule remove_method(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyModule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 3291
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 4
         2: .line 3292
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            iload 3 /* i */
            aaload
            invokestatic org.jruby.util.TypeConverter.checkID:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            invokevirtual org.jruby.RubyModule.removeMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)V
         3: .line 3291
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 3 /* i */
            aload 2 /* args */
            arraylength
            if_icmplt 2
        end local 3 // int i
         5: .line 3294
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyModule;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            0    6     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1    5     3        i  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"remove_method"}, rest = true)
    MethodParameters:
         Name  Flags
      context  
      args     

  public static void marshalTo(org.jruby.RubyModule, org.jruby.runtime.marshal.MarshalStream);
    descriptor: (Lorg/jruby/RubyModule;Lorg/jruby/runtime/marshal/MarshalStream;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule module
        start local 1 // org.jruby.runtime.marshal.MarshalStream output
         0: .line 3298
            aload 1 /* output */
            aload 0 /* module */
            invokevirtual org.jruby.runtime.marshal.MarshalStream.registerLinkTarget:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         1: .line 3299
            aload 1 /* output */
            aload 0 /* module */
            invokestatic org.jruby.runtime.marshal.MarshalStream.getPathFromClass:(Lorg/jruby/RubyModule;)Ljava/lang/String;
            invokevirtual org.jruby.runtime.marshal.MarshalStream.writeString:(Ljava/lang/String;)V
         2: .line 3300
            return
        end local 1 // org.jruby.runtime.marshal.MarshalStream output
        end local 0 // org.jruby.RubyModule module
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  module  Lorg/jruby/RubyModule;
            0    3     1  output  Lorg/jruby/runtime/marshal/MarshalStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      module  
      output  

  public static org.jruby.RubyModule unmarshalFrom(org.jruby.runtime.marshal.UnmarshalStream);
    descriptor: (Lorg/jruby/runtime/marshal/UnmarshalStream;)Lorg/jruby/RubyModule;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.jruby.runtime.marshal.UnmarshalStream input
         0: .line 3303
            aload 0 /* input */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalString:()Lorg/jruby/util/ByteList;
            invokestatic org.jruby.RubyString.byteListToString:(Lorg/jruby/util/ByteList;)Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
         1: .line 3304
            aload 0 /* input */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* name */
            invokestatic org.jruby.runtime.marshal.UnmarshalStream.getModuleFromPath:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyModule;
            astore 2 /* result */
        start local 2 // org.jruby.RubyModule result
         2: .line 3305
            aload 0 /* input */
            aload 2 /* result */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.registerLinkTarget:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         3: .line 3306
            aload 2 /* result */
            areturn
        end local 2 // org.jruby.RubyModule result
        end local 1 // java.lang.String name
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream input
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0   input  Lorg/jruby/runtime/marshal/UnmarshalStream;
            1    4     1    name  Ljava/lang/String;
            2    4     2  result  Lorg/jruby/RubyModule;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      input  

  public static org.jruby.RubyArray nesting(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=8, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.Block block
         0: .line 3316
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 3317
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            astore 4 /* object */
        start local 4 // org.jruby.RubyModule object
         2: .line 3318
            aload 0 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentStaticScope:()Lorg/jruby/parser/StaticScope;
            astore 5 /* scope */
        start local 5 // org.jruby.parser.StaticScope scope
         3: .line 3319
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.newArray:()Lorg/jruby/RubyArray;
            astore 6 /* result */
        start local 6 // org.jruby.RubyArray result
         4: .line 3321
            aload 5 /* scope */
            astore 7 /* current */
        start local 7 // org.jruby.parser.StaticScope current
         5: goto 8
         6: .line 3322
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.Ruby org.jruby.RubyModule org.jruby.parser.StaticScope org.jruby.RubyArray org.jruby.parser.StaticScope
      StackMap stack:
            aload 6 /* result */
            aload 7 /* current */
            invokevirtual org.jruby.parser.StaticScope.getModule:()Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
         7: .line 3321
            aload 7 /* current */
            invokevirtual org.jruby.parser.StaticScope.getPreviousCRefScope:()Lorg/jruby/parser/StaticScope;
            astore 7 /* current */
      StackMap locals:
      StackMap stack:
         8: aload 7 /* current */
            invokevirtual org.jruby.parser.StaticScope.getModule:()Lorg/jruby/RubyModule;
            aload 4 /* object */
            if_acmpne 6
        end local 7 // org.jruby.parser.StaticScope current
         9: .line 3325
            aload 6 /* result */
            areturn
        end local 6 // org.jruby.RubyArray result
        end local 5 // org.jruby.parser.StaticScope scope
        end local 4 // org.jruby.RubyModule object
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0  context  Lorg/jruby/runtime/ThreadContext;
            0   10     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0   10     2    block  Lorg/jruby/runtime/Block;
            1   10     3  runtime  Lorg/jruby/Ruby;
            2   10     4   object  Lorg/jruby/RubyModule;
            3   10     5    scope  Lorg/jruby/parser/StaticScope;
            4   10     6   result  Lorg/jruby/RubyArray;
            5    9     7  current  Lorg/jruby/parser/StaticScope;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"nesting"}, reads = {org.jruby.anno.FrameField.SCOPE:Lorg/jruby/anno/FrameField;}, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      block    

  private void doIncludeModule(org.jruby.RubyModule);
    descriptor: (Lorg/jruby/RubyModule;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.RubyModule baseModule
         0: .line 3337
            aload 0 /* this */
            aload 1 /* baseModule */
            invokevirtual org.jruby.RubyModule.gatherModules:(Lorg/jruby/RubyModule;)Ljava/util/List;
            astore 2 /* modulesToInclude */
        start local 2 // java.util.List modulesToInclude
         1: .line 3339
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            astore 3 /* currentInclusionPoint */
        start local 3 // org.jruby.RubyModule currentInclusionPoint
         2: .line 3340
            aload 2 /* modulesToInclude */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 16
      StackMap locals: org.jruby.RubyModule org.jruby.RubyModule java.util.List org.jruby.RubyModule top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.RubyModule
            astore 4 /* nextModule */
        start local 4 // org.jruby.RubyModule nextModule
         4: .line 3341
            aload 0 /* this */
            aload 4 /* nextModule */
            invokevirtual org.jruby.RubyModule.checkForCyclicInclude:(Lorg/jruby/RubyModule;)V
         5: .line 3343
            iconst_0
            istore 6 /* superclassSeen */
        start local 6 // boolean superclassSeen
         6: .line 3347
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 7 /* nextClass */
        start local 7 // org.jruby.RubyClass nextClass
         7: goto 14
         8: .line 3348
      StackMap locals: org.jruby.RubyModule org.jruby.RubyModule java.util.List org.jruby.RubyModule org.jruby.RubyModule java.util.Iterator int org.jruby.RubyClass
      StackMap stack:
            aload 7 /* nextClass */
            invokevirtual org.jruby.RubyClass.isIncluded:()Z
            ifeq 12
         9: .line 3350
            aload 7 /* nextClass */
            invokevirtual org.jruby.RubyClass.getDelegate:()Lorg/jruby/RubyModule;
            aload 4 /* nextModule */
            invokevirtual org.jruby.RubyModule.getDelegate:()Lorg/jruby/RubyModule;
            if_acmpne 13
        10: .line 3355
            iload 6 /* superclassSeen */
            ifne 16
            aload 7 /* nextClass */
            astore 3 /* currentInclusionPoint */
        11: .line 3357
            goto 16
        12: .line 3360
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* superclassSeen */
        13: .line 3347
      StackMap locals:
      StackMap stack:
            aload 7 /* nextClass */
            invokevirtual org.jruby.RubyClass.getSuperClass:()Lorg/jruby/RubyClass;
            astore 7 /* nextClass */
      StackMap locals:
      StackMap stack:
        14: aload 7 /* nextClass */
            ifnonnull 8
        end local 7 // org.jruby.RubyClass nextClass
        15: .line 3364
            aload 0 /* this */
            aload 3 /* currentInclusionPoint */
            aload 4 /* nextModule */
            invokevirtual org.jruby.RubyModule.getDelegate:()Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.proceedWithInclude:(Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;)Lorg/jruby/RubyModule;
            astore 3 /* currentInclusionPoint */
        end local 6 // boolean superclassSeen
        end local 4 // org.jruby.RubyModule nextModule
        16: .line 3340
      StackMap locals: org.jruby.RubyModule org.jruby.RubyModule java.util.List org.jruby.RubyModule top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        17: .line 3366
            return
        end local 3 // org.jruby.RubyModule currentInclusionPoint
        end local 2 // java.util.List modulesToInclude
        end local 1 // org.jruby.RubyModule baseModule
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   18     0                   this  Lorg/jruby/RubyModule;
            0   18     1             baseModule  Lorg/jruby/RubyModule;
            1   18     2       modulesToInclude  Ljava/util/List<Lorg/jruby/RubyModule;>;
            2   18     3  currentInclusionPoint  Lorg/jruby/RubyModule;
            4   16     4             nextModule  Lorg/jruby/RubyModule;
            6   16     6         superclassSeen  Z
            7   15     7              nextClass  Lorg/jruby/RubyClass;
    MethodParameters:
            Name  Flags
      baseModule  

  private void doPrependModule(org.jruby.RubyModule);
    descriptor: (Lorg/jruby/RubyModule;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.RubyModule baseModule
         0: .line 3377
            aload 0 /* this */
            aload 1 /* baseModule */
            invokevirtual org.jruby.RubyModule.gatherModules:(Lorg/jruby/RubyModule;)Ljava/util/List;
            astore 2 /* modulesToInclude */
        start local 2 // java.util.List modulesToInclude
         1: .line 3379
            aload 0 /* this */
            getfield org.jruby.RubyModule.methodLocation:Lorg/jruby/RubyModule;
            aload 0 /* this */
            if_acmpne 9
         2: .line 3383
            new org.jruby.PrependedModule
            dup
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            aload 0 /* this */
            invokespecial org.jruby.PrependedModule.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/RubyModule;)V
            astore 3 /* origin */
        start local 3 // org.jruby.RubyClass origin
         3: .line 3386
            aload 0 /* this */
            instanceof org.jruby.RubyClass
            ifeq 8
         4: .line 3387
            aload 0 /* this */
            checkcast org.jruby.RubyClass
            astore 4 /* insertBelowClass */
        start local 4 // org.jruby.RubyClass insertBelowClass
         5: .line 3391
            aload 4 /* insertBelowClass */
            invokevirtual org.jruby.RubyClass.getSuperClass:()Lorg/jruby/RubyClass;
            ifnull 7
         6: .line 3392
            aload 4 /* insertBelowClass */
            invokevirtual org.jruby.RubyClass.getSuperClass:()Lorg/jruby/RubyClass;
            aload 4 /* insertBelowClass */
            aload 3 /* origin */
            invokevirtual org.jruby.RubyClass.replaceSubclass:(Lorg/jruby/RubyClass;Lorg/jruby/RubyClass;)V
         7: .line 3395
      StackMap locals: java.util.List org.jruby.RubyClass org.jruby.RubyClass
      StackMap stack:
            aload 3 /* origin */
            aload 4 /* insertBelowClass */
            invokevirtual org.jruby.RubyClass.addSubclass:(Lorg/jruby/RubyClass;)V
        end local 4 // org.jruby.RubyClass insertBelowClass
         8: .line 3397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* origin */
            invokevirtual org.jruby.RubyModule.setSuperClass:(Lorg/jruby/RubyClass;)V
        end local 3 // org.jruby.RubyClass origin
         9: .line 3400
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            astore 3 /* currentInclusionPoint */
        start local 3 // org.jruby.RubyModule currentInclusionPoint
        10: .line 3401
            aload 2 /* modulesToInclude */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 25
      StackMap locals: org.jruby.RubyModule org.jruby.RubyModule java.util.List org.jruby.RubyModule top java.util.Iterator
      StackMap stack:
        11: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.RubyModule
            astore 4 /* nextModule */
        start local 4 // org.jruby.RubyModule nextModule
        12: .line 3402
            aload 0 /* this */
            aload 4 /* nextModule */
            invokevirtual org.jruby.RubyModule.checkForCyclicInclude:(Lorg/jruby/RubyModule;)V
        13: .line 3404
            iconst_0
            istore 6 /* superclassSeen */
        start local 6 // boolean superclassSeen
        14: .line 3407
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getPrependCeiling:()Lorg/jruby/RubyModule;
            astore 7 /* stopClass */
        start local 7 // org.jruby.RubyModule stopClass
        15: .line 3408
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 8 /* nextClass */
        start local 8 // org.jruby.RubyClass nextClass
        16: goto 23
        17: .line 3409
      StackMap locals: org.jruby.RubyModule org.jruby.RubyModule java.util.List org.jruby.RubyModule org.jruby.RubyModule java.util.Iterator int org.jruby.RubyModule org.jruby.RubyClass
      StackMap stack:
            aload 8 /* nextClass */
            invokevirtual org.jruby.RubyClass.isIncluded:()Z
            ifeq 21
        18: .line 3411
            aload 8 /* nextClass */
            invokevirtual org.jruby.RubyClass.getDelegate:()Lorg/jruby/RubyModule;
            aload 4 /* nextModule */
            invokevirtual org.jruby.RubyModule.getDelegate:()Lorg/jruby/RubyModule;
            if_acmpne 22
        19: .line 3416
            iload 6 /* superclassSeen */
            ifne 25
            aload 8 /* nextClass */
            astore 3 /* currentInclusionPoint */
        20: .line 3418
            goto 25
        21: .line 3421
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* superclassSeen */
        22: .line 3408
      StackMap locals:
      StackMap stack:
            aload 8 /* nextClass */
            invokevirtual org.jruby.RubyClass.getSuperClass:()Lorg/jruby/RubyClass;
            astore 8 /* nextClass */
      StackMap locals:
      StackMap stack:
        23: aload 8 /* nextClass */
            aload 7 /* stopClass */
            if_acmpne 17
        end local 8 // org.jruby.RubyClass nextClass
        24: .line 3425
            aload 0 /* this */
            aload 3 /* currentInclusionPoint */
            aload 4 /* nextModule */
            invokevirtual org.jruby.RubyModule.getDelegate:()Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.proceedWithPrepend:(Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;)Lorg/jruby/RubyModule;
            astore 3 /* currentInclusionPoint */
        end local 7 // org.jruby.RubyModule stopClass
        end local 6 // boolean superclassSeen
        end local 4 // org.jruby.RubyModule nextModule
        25: .line 3401
      StackMap locals: org.jruby.RubyModule org.jruby.RubyModule java.util.List org.jruby.RubyModule top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        26: .line 3427
            return
        end local 3 // org.jruby.RubyModule currentInclusionPoint
        end local 2 // java.util.List modulesToInclude
        end local 1 // org.jruby.RubyModule baseModule
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   27     0                   this  Lorg/jruby/RubyModule;
            0   27     1             baseModule  Lorg/jruby/RubyModule;
            1   27     2       modulesToInclude  Ljava/util/List<Lorg/jruby/RubyModule;>;
            3    9     3                 origin  Lorg/jruby/RubyClass;
            5    8     4       insertBelowClass  Lorg/jruby/RubyClass;
           10   27     3  currentInclusionPoint  Lorg/jruby/RubyModule;
           12   25     4             nextModule  Lorg/jruby/RubyModule;
           14   25     6         superclassSeen  Z
           15   25     7              stopClass  Lorg/jruby/RubyModule;
           16   24     8              nextClass  Lorg/jruby/RubyClass;
    MethodParameters:
            Name  Flags
      baseModule  

  private java.util.List<org.jruby.RubyModule> gatherModules(org.jruby.RubyModule);
    descriptor: (Lorg/jruby/RubyModule;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.RubyModule baseModule
         0: .line 3439
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* modulesToInclude */
        start local 2 // java.util.List modulesToInclude
         1: .line 3440
            goto 5
         2: .line 3442
      StackMap locals: java.util.List
      StackMap stack:
            aload 1 /* baseModule */
            aload 1 /* baseModule */
            invokevirtual org.jruby.RubyModule.getMethodLocation:()Lorg/jruby/RubyModule;
            if_acmpeq 3
            goto 4
         3: .line 3444
      StackMap locals:
      StackMap stack:
            aload 2 /* modulesToInclude */
            aload 1 /* baseModule */
            invokevirtual org.jruby.RubyModule.getDelegate:()Lorg/jruby/RubyModule;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 3440
      StackMap locals:
      StackMap stack:
            aload 1 /* baseModule */
            getfield org.jruby.RubyModule.superClass:Lorg/jruby/RubyClass;
            astore 1 /* baseModule */
      StackMap locals:
      StackMap stack:
         5: aload 1 /* baseModule */
            ifnonnull 2
         6: .line 3447
            aload 2 /* modulesToInclude */
            areturn
        end local 2 // java.util.List modulesToInclude
        end local 1 // org.jruby.RubyModule baseModule
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lorg/jruby/RubyModule;
            0    7     1        baseModule  Lorg/jruby/RubyModule;
            1    7     2  modulesToInclude  Ljava/util/List<Lorg/jruby/RubyModule;>;
    Signature: (Lorg/jruby/RubyModule;)Ljava/util/List<Lorg/jruby/RubyModule;>;
    MethodParameters:
            Name  Flags
      baseModule  

  private org.jruby.RubyModule proceedWithInclude(org.jruby.RubyModule, org.jruby.RubyModule);
    descriptor: (Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;)Lorg/jruby/RubyModule;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.RubyModule insertAbove
        start local 2 // org.jruby.RubyModule moduleToInclude
         0: .line 3462
            new org.jruby.IncludedModuleWrapper
            dup
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* insertAbove */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            aload 2 /* moduleToInclude */
            invokespecial org.jruby.IncludedModuleWrapper.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/RubyModule;)V
            astore 3 /* wrapper */
        start local 3 // org.jruby.RubyClass wrapper
         1: .line 3465
            aload 1 /* insertAbove */
            instanceof org.jruby.RubyClass
            ifeq 6
         2: .line 3466
            aload 1 /* insertAbove */
            checkcast org.jruby.RubyClass
            astore 4 /* insertAboveClass */
        start local 4 // org.jruby.RubyClass insertAboveClass
         3: .line 3470
            aload 4 /* insertAboveClass */
            invokevirtual org.jruby.RubyClass.getSuperClass:()Lorg/jruby/RubyClass;
            ifnull 5
         4: .line 3471
            aload 4 /* insertAboveClass */
            invokevirtual org.jruby.RubyClass.getSuperClass:()Lorg/jruby/RubyClass;
            aload 4 /* insertAboveClass */
            aload 3 /* wrapper */
            invokevirtual org.jruby.RubyClass.replaceSubclass:(Lorg/jruby/RubyClass;Lorg/jruby/RubyClass;)V
         5: .line 3474
      StackMap locals: org.jruby.RubyClass org.jruby.RubyClass
      StackMap stack:
            aload 3 /* wrapper */
            aload 4 /* insertAboveClass */
            invokevirtual org.jruby.RubyClass.addSubclass:(Lorg/jruby/RubyClass;)V
        end local 4 // org.jruby.RubyClass insertAboveClass
         6: .line 3477
      StackMap locals:
      StackMap stack:
            aload 1 /* insertAbove */
            aload 3 /* wrapper */
            invokevirtual org.jruby.RubyModule.setSuperClass:(Lorg/jruby/RubyClass;)V
         7: .line 3478
            aload 1 /* insertAbove */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 1 /* insertAbove */
         8: .line 3480
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.isRefinement:()Z
            ifeq 11
         9: .line 3481
            aload 2 /* moduleToInclude */
            invokevirtual org.jruby.RubyModule.getMethods:()Ljava/util/Map;
            aload 0 /* this */
            invokedynamic accept(Lorg/jruby/RubyModule;)Ljava/util/function/BiConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)V
                  org/jruby/RubyModule.lambda$2(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V (7)
                  (Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
            invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
        10: .line 3482
            aload 3 /* wrapper */
            getstatic org.jruby.RubyModule.INCLUDED_INTO_REFINEMENT:I
            iconst_1
            invokevirtual org.jruby.RubyClass.setFlag:(IZ)V
        11: .line 3485
      StackMap locals:
      StackMap stack:
            aload 1 /* insertAbove */
            areturn
        end local 3 // org.jruby.RubyClass wrapper
        end local 2 // org.jruby.RubyModule moduleToInclude
        end local 1 // org.jruby.RubyModule insertAbove
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   12     0              this  Lorg/jruby/RubyModule;
            0   12     1       insertAbove  Lorg/jruby/RubyModule;
            0   12     2   moduleToInclude  Lorg/jruby/RubyModule;
            1   12     3           wrapper  Lorg/jruby/RubyClass;
            3    6     4  insertAboveClass  Lorg/jruby/RubyClass;
    MethodParameters:
                 Name  Flags
      insertAbove      
      moduleToInclude  

  private org.jruby.RubyModule proceedWithPrepend(org.jruby.RubyModule, org.jruby.RubyModule);
    descriptor: (Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;)Lorg/jruby/RubyModule;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.RubyModule insertBelow
        start local 2 // org.jruby.RubyModule moduleToPrepend
         0: .line 3497
            aload 2 /* moduleToPrepend */
            invokevirtual org.jruby.RubyModule.isPrepended:()Z
            ifne 1
            aload 2 /* moduleToPrepend */
            invokevirtual org.jruby.RubyModule.getNonIncludedClass:()Lorg/jruby/RubyModule;
            astore 2 /* moduleToPrepend */
         1: .line 3499
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* insertBelow */
            aload 2 /* moduleToPrepend */
            invokevirtual org.jruby.RubyModule.proceedWithInclude:(Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;)Lorg/jruby/RubyModule;
            areturn
        end local 2 // org.jruby.RubyModule moduleToPrepend
        end local 1 // org.jruby.RubyModule insertBelow
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/jruby/RubyModule;
            0    2     1      insertBelow  Lorg/jruby/RubyModule;
            0    2     2  moduleToPrepend  Lorg/jruby/RubyModule;
    MethodParameters:
                 Name  Flags
      insertBelow      
      moduleToPrepend  

  public org.jruby.runtime.builtin.IRubyObject class_variable_defined_p(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject var
         0: .line 3509
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* var */
            invokevirtual org.jruby.RubyModule.validateClassVariable:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
            astore 3 /* id */
        start local 3 // java.lang.String id
         1: .line 3511
            aload 0 /* this */
            astore 4 /* module */
        start local 4 // org.jruby.RubyModule module
         2: goto 5
         3: .line 3512
      StackMap locals: java.lang.String org.jruby.RubyModule
      StackMap stack:
            aload 4 /* module */
            aload 3 /* id */
            invokevirtual org.jruby.RubyModule.hasClassVariable:(Ljava/lang/String;)Z
            ifeq 4
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            areturn
         4: .line 3511
      StackMap locals:
      StackMap stack:
            aload 4 /* module */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 4 /* module */
      StackMap locals:
      StackMap stack:
         5: aload 4 /* module */
            ifnonnull 3
        end local 4 // org.jruby.RubyModule module
         6: .line 3515
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
        end local 3 // java.lang.String id
        end local 2 // org.jruby.runtime.builtin.IRubyObject var
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/RubyModule;
            0    7     1  context  Lorg/jruby/runtime/ThreadContext;
            0    7     2      var  Lorg/jruby/runtime/builtin/IRubyObject;
            1    7     3       id  Ljava/lang/String;
            2    6     4   module  Lorg/jruby/RubyModule;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"class_variable_defined?"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      var      

  public org.jruby.runtime.builtin.IRubyObject class_variable_get(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject name
         0: .line 3522
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.validateClassVariable:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
            invokevirtual org.jruby.RubyModule.getClassVar:(Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  name  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      name  

  public org.jruby.runtime.builtin.IRubyObject class_variable_get19(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject name
         0: .line 3527
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.class_variable_get:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  name  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"class_variable_get"})
    MethodParameters:
      Name  Flags
      name  

  public org.jruby.runtime.builtin.IRubyObject class_variable_set(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject name
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 3534
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.validateClassVariable:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
            aload 2 /* value */
            invokevirtual org.jruby.RubyModule.setClassVar:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // org.jruby.runtime.builtin.IRubyObject name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyModule;
            0    1     1   name  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2  value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
       Name  Flags
      name   
      value  

  public org.jruby.runtime.builtin.IRubyObject class_variable_set19(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject name
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 3539
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual org.jruby.RubyModule.class_variable_set:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // org.jruby.runtime.builtin.IRubyObject name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyModule;
            0    1     1   name  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2  value  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"class_variable_set"})
    MethodParameters:
       Name  Flags
      name   
      value  

  public org.jruby.runtime.builtin.IRubyObject remove_class_variable(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject name
         0: .line 3546
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* name */
            invokevirtual org.jruby.RubyModule.validateClassVariable:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
            invokevirtual org.jruby.RubyModule.removeClassVariable:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject name
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyModule;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     name  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      name     

  public org.jruby.runtime.builtin.IRubyObject remove_class_variable19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject name
         0: .line 3551
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* name */
            invokevirtual org.jruby.RubyModule.remove_class_variable:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject name
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyModule;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     name  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"remove_class_variable"})
    MethodParameters:
         Name  Flags
      context  
      name     

  public org.jruby.RubyArray class_variables19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 3556
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyModule.class_variables:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyArray;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyModule;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyArray class_variables(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 3561
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 3562
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.newArray:()Lorg/jruby/RubyArray;
            astore 3 /* ary */
        start local 3 // org.jruby.RubyArray ary
         2: .line 3564
            aload 0 /* this */
            iconst_1
            invokevirtual org.jruby.RubyModule.classVariablesCommon:(Z)Ljava/util/Collection;
            astore 4 /* names */
        start local 4 // java.util.Collection names
         3: .line 3565
            aload 4 /* names */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 6
      StackMap locals: org.jruby.RubyModule org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.RubyArray java.util.Collection top java.util.Iterator
      StackMap stack:
         4: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* name */
        start local 5 // java.lang.String name
         5: .line 3566
            aload 3 /* ary */
            aload 2 /* runtime */
            aload 5 /* name */
            invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubyArray.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.lang.String name
         6: .line 3565
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 3568
            aload 3 /* ary */
            areturn
        end local 4 // java.util.Collection names
        end local 3 // org.jruby.RubyArray ary
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyModule;
            0    8     1  context  Lorg/jruby/runtime/ThreadContext;
            1    8     2  runtime  Lorg/jruby/Ruby;
            2    8     3      ary  Lorg/jruby/RubyArray;
            3    8     4    names  Ljava/util/Collection<Ljava/lang/String;>;
            5    6     5     name  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"class_variables"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyArray class_variables(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject inherit
         0: .line 3573
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 3574
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.newArray:()Lorg/jruby/RubyArray;
            astore 4 /* ary */
        start local 4 // org.jruby.RubyArray ary
         2: .line 3576
            aload 0 /* this */
            aload 2 /* inherit */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            invokevirtual org.jruby.RubyModule.classVariablesCommon:(Z)Ljava/util/Collection;
            astore 5 /* names */
        start local 5 // java.util.Collection names
         3: .line 3577
            aload 5 /* names */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 6
      StackMap locals: org.jruby.RubyModule org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.RubyArray java.util.Collection top java.util.Iterator
      StackMap stack:
         4: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* name */
        start local 6 // java.lang.String name
         5: .line 3578
            aload 4 /* ary */
            aload 3 /* runtime */
            aload 6 /* name */
            invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubyArray.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.lang.String name
         6: .line 3577
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 3580
            aload 4 /* ary */
            areturn
        end local 5 // java.util.Collection names
        end local 4 // org.jruby.RubyArray ary
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject inherit
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyModule;
            0    8     1  context  Lorg/jruby/runtime/ThreadContext;
            0    8     2  inherit  Lorg/jruby/runtime/builtin/IRubyObject;
            1    8     3  runtime  Lorg/jruby/Ruby;
            2    8     4      ary  Lorg/jruby/RubyArray;
            3    8     5    names  Ljava/util/Collection<Ljava/lang/String;>;
            5    6     6     name  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"class_variables"})
    MethodParameters:
         Name  Flags
      context  
      inherit  

  private java.util.Collection<java.lang.String> classVariablesCommon(boolean);
    descriptor: (Z)Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // boolean inherit
         0: .line 3585
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* names */
        start local 2 // java.util.Set names
         1: .line 3586
            aload 0 /* this */
            astore 3 /* p */
        start local 3 // org.jruby.RubyModule p
         2: goto 6
         3: .line 3587
      StackMap locals: java.util.Set org.jruby.RubyModule
      StackMap stack:
            aload 2 /* names */
            aload 3 /* p */
            invokevirtual org.jruby.RubyModule.getClassVariableNameList:()Ljava/util/List;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
         4: .line 3588
            iload 1 /* inherit */
            ifne 5
            goto 7
         5: .line 3586
      StackMap locals:
      StackMap stack:
            aload 3 /* p */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 3 /* p */
      StackMap locals:
      StackMap stack:
         6: aload 3 /* p */
            ifnonnull 3
        end local 3 // org.jruby.RubyModule p
         7: .line 3590
      StackMap locals:
      StackMap stack:
            aload 2 /* names */
            areturn
        end local 2 // java.util.Set names
        end local 1 // boolean inherit
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyModule;
            0    8     1  inherit  Z
            1    8     2    names  Ljava/util/Set<Ljava/lang/String;>;
            2    7     3        p  Lorg/jruby/RubyModule;
    Signature: (Z)Ljava/util/Collection<Ljava/lang/String;>;
    MethodParameters:
         Name  Flags
      inherit  

  public org.jruby.RubyBoolean const_defined_p(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject symbol
         0: .line 3602
            aload 0 /* this */
            aload 1 /* context */
            iconst_1
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 2 /* symbol */
            aastore
            invokevirtual org.jruby.RubyModule.const_defined_p19:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject symbol
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyModule;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2   symbol  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      symbol   

  private org.jruby.RubyBoolean constantDefined(org.jruby.Ruby, org.jruby.RubySymbol, boolean);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubySymbol;Z)Lorg/jruby/RubyBoolean;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubySymbol symbol
        start local 3 // boolean inherit
         0: .line 3606
            aload 2 /* symbol */
            invokevirtual org.jruby.RubySymbol.validConstantName:()Z
            ifeq 4
         1: .line 3607
            aload 1 /* runtime */
            aload 0 /* this */
            aload 2 /* symbol */
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            iload 3 /* inherit */
            iload 3 /* inherit */
            invokevirtual org.jruby.RubyModule.getConstantSkipAutoload:(Ljava/lang/String;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
            ifnull 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack: org.jruby.Ruby
         2: iconst_0
      StackMap locals: org.jruby.RubyModule org.jruby.Ruby org.jruby.RubySymbol int
      StackMap stack: org.jruby.Ruby int
         3: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
         4: .line 3610
      StackMap locals:
      StackMap stack:
            aload 1 /* runtime */
            aload 1 /* runtime */
            ldc "wrong constant name"
            aload 1 /* runtime */
            aload 2 /* symbol */
            invokestatic org.jruby.util.RubyStringBuilder.ids:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.RubyStringBuilder.str:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
            aload 2 /* symbol */
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 3 // boolean inherit
        end local 2 // org.jruby.RubySymbol symbol
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyModule;
            0    5     1  runtime  Lorg/jruby/Ruby;
            0    5     2   symbol  Lorg/jruby/RubySymbol;
            0    5     3  inherit  Z
    MethodParameters:
         Name  Flags
      runtime  
      symbol   
      inherit  

  public org.jruby.RubyBoolean const_defined_p19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 3615
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 3616
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpeq 3
            aload 2 /* args */
            iconst_1
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 2
            aload 2 /* args */
            iconst_1
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifne 3
      StackMap locals: org.jruby.Ruby
      StackMap stack:
         2: iconst_0
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_1
      StackMap locals:
      StackMap stack: int
         4: istore 4 /* inherit */
        start local 4 // boolean inherit
         5: .line 3618
            aload 2 /* args */
            iconst_0
            aaload
            instanceof org.jruby.RubySymbol
            ifeq 6
            aload 0 /* this */
            aload 3 /* runtime */
            aload 2 /* args */
            iconst_0
            aaload
            checkcast org.jruby.RubySymbol
            iload 4 /* inherit */
            invokevirtual org.jruby.RubyModule.constantDefined:(Lorg/jruby/Ruby;Lorg/jruby/RubySymbol;Z)Lorg/jruby/RubyBoolean;
            areturn
         6: .line 3620
      StackMap locals: int
      StackMap stack:
            aload 2 /* args */
            iconst_0
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 5 /* fullName */
        start local 5 // org.jruby.RubyString fullName
         7: .line 3622
            aload 5 /* fullName */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            getstatic org.jruby.util.CommonByteLists.COLON_COLON:Lorg/jruby/util/ByteList;
            aload 0 /* this */
            aload 3 /* runtime */
            aload 5 /* fullName */
            iload 4 /* inherit */
            invokedynamic call(Lorg/jruby/RubyModule;Lorg/jruby/Ruby;Lorg/jruby/RubyString;Z)Lorg/jruby/util/ByteListHelper$Visit;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (ILjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  org/jruby/RubyModule.lambda$3(Lorg/jruby/Ruby;Lorg/jruby/RubyString;ZILorg/jruby/util/ByteList;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject; (7)
                  (ILorg/jruby/util/ByteList;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
         8: .line 3635
            aload 0 /* this */
            aload 3 /* runtime */
            aload 5 /* fullName */
            iload 4 /* inherit */
            invokedynamic call(Lorg/jruby/RubyModule;Lorg/jruby/Ruby;Lorg/jruby/RubyString;Z)Lorg/jruby/util/ByteListHelper$Visit;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (ILjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  org/jruby/RubyModule.lambda$4(Lorg/jruby/Ruby;Lorg/jruby/RubyString;ZILorg/jruby/util/ByteList;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject; (7)
                  (ILorg/jruby/util/ByteList;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
         9: .line 3622
            invokestatic org.jruby.util.ByteListHelper.split:(Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteListHelper$Visit;Lorg/jruby/util/ByteListHelper$Visit;)Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject
            astore 6 /* value */
        start local 6 // org.jruby.runtime.builtin.IRubyObject value
        10: .line 3642
            aload 3 /* runtime */
            aload 6 /* value */
            ifnull 11
            iconst_1
            goto 12
      StackMap locals: org.jruby.RubyModule org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby int org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject
      StackMap stack: org.jruby.Ruby
        11: iconst_0
      StackMap locals: org.jruby.RubyModule org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby int org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject
      StackMap stack: org.jruby.Ruby int
        12: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 6 // org.jruby.runtime.builtin.IRubyObject value
        end local 5 // org.jruby.RubyString fullName
        end local 4 // boolean inherit
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lorg/jruby/RubyModule;
            0   13     1   context  Lorg/jruby/runtime/ThreadContext;
            0   13     2      args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1   13     3   runtime  Lorg/jruby/Ruby;
            5   13     4   inherit  Z
            7   13     5  fullName  Lorg/jruby/RubyString;
           10   13     6     value  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"const_defined?"}, required = 1, optional = 1)
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject const_get(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject symbol
         0: .line 3649
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            iconst_1
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 1 /* symbol */
            aastore
            invokevirtual org.jruby.RubyModule.const_get_2_0:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject symbol
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/jruby/RubyModule;
            0    1     1  symbol  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
        Name  Flags
      symbol  

  public org.jruby.runtime.builtin.IRubyObject const_get_1_9(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 3653
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            invokevirtual org.jruby.RubyModule.const_get_2_0:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyModule;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject const_get_2_0(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=12, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 3658
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 3659
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpeq 3
            aload 2 /* args */
            iconst_1
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 2
            aload 2 /* args */
            iconst_1
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifne 3
      StackMap locals: org.jruby.Ruby
      StackMap stack:
         2: iconst_0
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_1
      StackMap locals:
      StackMap stack: int
         4: istore 4 /* inherit */
        start local 4 // boolean inherit
         5: .line 3661
            aload 2 /* args */
            iconst_0
            aaload
            astore 5 /* symbol */
        start local 5 // org.jruby.runtime.builtin.IRubyObject symbol
         6: .line 3662
            aload 5 /* symbol */
            invokestatic org.jruby.util.TypeConverter.checkID:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubySymbol;
            astore 6 /* fullName */
        start local 6 // org.jruby.RubySymbol fullName
         7: .line 3663
            aload 6 /* fullName */
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            astore 7 /* name */
        start local 7 // java.lang.String name
         8: .line 3665
            aload 7 /* name */
            ldc "::"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 8 /* sep */
        start local 8 // int sep
         9: .line 3667
            aload 5 /* symbol */
            instanceof org.jruby.RubySymbol
            ifeq 11
            iload 8 /* sep */
            iconst_m1
            if_icmpeq 11
        10: .line 3668
            aload 3 /* runtime */
            ldc "wrong constant name"
            aload 7 /* name */
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        11: .line 3671
      StackMap locals: org.jruby.RubyModule org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby int org.jruby.runtime.builtin.IRubyObject org.jruby.RubySymbol java.lang.String int
      StackMap stack:
            aload 0 /* this */
            astore 9 /* mod */
        start local 9 // org.jruby.RubyModule mod
        12: .line 3673
            iload 8 /* sep */
            ifne 15
        13: .line 3674
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            astore 9 /* mod */
        14: .line 3675
            aload 7 /* name */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 7 /* name */
        15: .line 3679
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 7 /* name */
            invokevirtual java.lang.String.length:()I
            ifne 24
        16: .line 3680
            aload 3 /* runtime */
            ldc "wrong constant name "
            aload 6 /* fullName */
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        17: .line 3684
      StackMap locals:
      StackMap stack:
            aload 7 /* name */
            iconst_0
            iload 8 /* sep */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 10 /* segment */
        start local 10 // java.lang.String segment
        18: .line 3685
            aload 9 /* mod */
            aload 0 /* this */
            aload 10 /* segment */
            aload 5 /* symbol */
            invokevirtual org.jruby.RubyModule.validateConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
            iload 4 /* inherit */
            iload 4 /* inherit */
            invokevirtual org.jruby.RubyModule.getConstant:(Ljava/lang/String;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 11 /* obj */
        start local 11 // org.jruby.runtime.builtin.IRubyObject obj
        19: .line 3686
            aload 11 /* obj */
            instanceof org.jruby.RubyModule
            ifeq 22
        20: .line 3687
            aload 11 /* obj */
            checkcast org.jruby.RubyModule
            astore 9 /* mod */
        21: .line 3688
            goto 23
        22: .line 3689
      StackMap locals: java.lang.String org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 3 /* runtime */
            new java.lang.StringBuilder
            dup
            aload 10 /* segment */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " does not refer to class/module"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        23: .line 3691
      StackMap locals:
      StackMap stack:
            aload 7 /* name */
            iload 8 /* sep */
            iconst_2
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 7 /* name */
        end local 11 // org.jruby.runtime.builtin.IRubyObject obj
        end local 10 // java.lang.String segment
        24: .line 3683
      StackMap locals:
      StackMap stack:
            aload 7 /* name */
            ldc "::"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            dup
            istore 8 /* sep */
            iconst_m1
            if_icmpne 17
        25: .line 3694
            aload 9 /* mod */
            aload 0 /* this */
            aload 7 /* name */
            aload 5 /* symbol */
            invokevirtual org.jruby.RubyModule.validateConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
            iload 4 /* inherit */
            iload 4 /* inherit */
            invokevirtual org.jruby.RubyModule.getConstant:(Ljava/lang/String;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 9 // org.jruby.RubyModule mod
        end local 8 // int sep
        end local 7 // java.lang.String name
        end local 6 // org.jruby.RubySymbol fullName
        end local 5 // org.jruby.runtime.builtin.IRubyObject symbol
        end local 4 // boolean inherit
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   26     0      this  Lorg/jruby/RubyModule;
            0   26     1   context  Lorg/jruby/runtime/ThreadContext;
            0   26     2      args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1   26     3   runtime  Lorg/jruby/Ruby;
            5   26     4   inherit  Z
            6   26     5    symbol  Lorg/jruby/runtime/builtin/IRubyObject;
            7   26     6  fullName  Lorg/jruby/RubySymbol;
            8   26     7      name  Ljava/lang/String;
            9   26     8       sep  I
           12   26     9       mod  Lorg/jruby/RubyModule;
           18   24    10   segment  Ljava/lang/String;
           19   24    11       obj  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"const_get"}, required = 1, optional = 1)
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject const_set(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject name
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 3702
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.validateConstant:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
            aload 2 /* value */
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // org.jruby.runtime.builtin.IRubyObject name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyModule;
            0    1     1   name  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2  value  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"const_set"}, required = 2)
    MethodParameters:
       Name  Flags
      name   
      value  

  public org.jruby.runtime.builtin.IRubyObject remove_const(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject rubyName
         0: .line 3707
            aload 0 /* this */
            aload 2 /* rubyName */
            invokevirtual org.jruby.RubyModule.validateConstant:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
            astore 3 /* id */
        start local 3 // java.lang.String id
         1: .line 3708
            aload 0 /* this */
            aload 3 /* id */
            invokevirtual org.jruby.RubyModule.deleteConstant:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* value */
        start local 4 // org.jruby.runtime.builtin.IRubyObject value
         2: .line 3710
            aload 4 /* value */
            ifnull 7
         3: .line 3711
            aload 0 /* this */
            aload 3 /* id */
            invokevirtual org.jruby.RubyModule.invalidateConstantCache:(Ljava/lang/String;)V
         4: .line 3713
            aload 4 /* value */
            getstatic org.jruby.RubyModule.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 5
            aload 4 /* value */
            areturn
         5: .line 3716
      StackMap locals: java.lang.String org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* this */
            aload 3 /* id */
            invokevirtual org.jruby.RubyModule.removeAutoload:(Ljava/lang/String;)V
         6: .line 3719
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         7: .line 3722
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* id */
            invokevirtual org.jruby.RubyModule.hasConstantInHierarchy:(Ljava/lang/String;)Z
            ifeq 8
            aload 0 /* this */
            aload 3 /* id */
            invokevirtual org.jruby.RubyModule.cannotRemoveError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         8: .line 3724
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "constant "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " not defined for "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* id */
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 4 // org.jruby.runtime.builtin.IRubyObject value
        end local 3 // java.lang.String id
        end local 2 // org.jruby.runtime.builtin.IRubyObject rubyName
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/jruby/RubyModule;
            0    9     1   context  Lorg/jruby/runtime/ThreadContext;
            0    9     2  rubyName  Lorg/jruby/runtime/builtin/IRubyObject;
            1    9     3        id  Ljava/lang/String;
            2    9     4     value  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"remove_const"}, required = 1, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
          Name  Flags
      context   
      rubyName  

  private boolean hasConstantInHierarchy(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 3728
            aload 0 /* this */
            astore 2 /* p */
        start local 2 // org.jruby.RubyModule p
         1: goto 5
         2: .line 3729
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 2 /* p */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.hasConstant:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 3730
            iconst_1
            ireturn
         4: .line 3728
      StackMap locals:
      StackMap stack:
            aload 2 /* p */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 2 /* p */
      StackMap locals:
      StackMap stack:
         5: aload 2 /* p */
            ifnonnull 2
        end local 2 // org.jruby.RubyModule p
         6: .line 3733
            iconst_0
            ireturn
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/jruby/RubyModule;
            0    7     1  name  Ljava/lang/String;
            1    6     2     p  Lorg/jruby/RubyModule;
    MethodParameters:
      Name  Flags
      name  final

  public org.jruby.runtime.builtin.IRubyObject const_missing(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject rubyName
        start local 3 // org.jruby.runtime.Block block
         0: .line 3744
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 3746
            aload 0 /* this */
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            if_acmpeq 3
         2: .line 3747
            aload 4 /* runtime */
            ldc "uninitialized constant %2$s::%1$s"
            aload 0 /* this */
            aload 2 /* rubyName */
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 3749
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 4 /* runtime */
            ldc "uninitialized constant %1$s"
            aload 0 /* this */
            aload 2 /* rubyName */
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject rubyName
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/jruby/RubyModule;
            0    4     1   context  Lorg/jruby/runtime/ThreadContext;
            0    4     2  rubyName  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     3     block  Lorg/jruby/runtime/Block;
            1    4     4   runtime  Lorg/jruby/Ruby;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"const_missing"}, required = 1)
    MethodParameters:
          Name  Flags
      context   
      rubyName  
      block     

  public org.jruby.RubyArray constants(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 3756
            aload 0 /* this */
            aload 1 /* context */
            iconst_1
            iconst_1
            invokevirtual org.jruby.RubyModule.constantsCommon:(Lorg/jruby/runtime/ThreadContext;ZZ)Lorg/jruby/RubyArray;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyModule;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"constants"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyArray constants(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject allConstants
         0: .line 3761
            aload 0 /* this */
            aload 1 /* context */
            iconst_0
            aload 2 /* allConstants */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            invokevirtual org.jruby.RubyModule.constantsCommon:(Lorg/jruby/runtime/ThreadContext;ZZ)Lorg/jruby/RubyArray;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject allConstants
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/jruby/RubyModule;
            0    1     1       context  Lorg/jruby/runtime/ThreadContext;
            0    1     2  allConstants  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"constants"})
    MethodParameters:
              Name  Flags
      context       
      allConstants  

  public org.jruby.RubyArray constants19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 3766
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyModule.constants:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyArray;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyModule;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyArray constants19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject allConstants
         0: .line 3771
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* allConstants */
            invokevirtual org.jruby.RubyModule.constants:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject allConstants
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/jruby/RubyModule;
            0    1     1       context  Lorg/jruby/runtime/ThreadContext;
            0    1     2  allConstants  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      context       
      allConstants  

  public org.jruby.RubyArray constantsCommon19(org.jruby.runtime.ThreadContext, boolean, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;ZZ)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // boolean replaceModule
        start local 3 // boolean allConstants
         0: .line 3776
            aload 0 /* this */
            aload 1 /* context */
            iload 2 /* replaceModule */
            iload 3 /* allConstants */
            invokevirtual org.jruby.RubyModule.constantsCommon:(Lorg/jruby/runtime/ThreadContext;ZZ)Lorg/jruby/RubyArray;
            areturn
        end local 3 // boolean allConstants
        end local 2 // boolean replaceModule
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/jruby/RubyModule;
            0    1     1        context  Lorg/jruby/runtime/ThreadContext;
            0    1     2  replaceModule  Z
            0    1     3   allConstants  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
               Name  Flags
      context        
      replaceModule  
      allConstants   

  private org.jruby.RubyArray constantsCommon(org.jruby.runtime.ThreadContext, boolean, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;ZZ)Lorg/jruby/RubyArray;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // boolean replaceModule
        start local 3 // boolean allConstants
         0: .line 3780
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 3782
            aload 0 /* this */
            aload 4 /* runtime */
            iload 2 /* replaceModule */
            iload 3 /* allConstants */
            iconst_0
            invokevirtual org.jruby.RubyModule.constantsCommon:(Lorg/jruby/Ruby;ZZZ)Ljava/util/Collection;
            astore 5 /* constantNames */
        start local 5 // java.util.Collection constantNames
         2: .line 3783
            aload 4 /* runtime */
            aload 5 /* constantNames */
            invokeinterface java.util.Collection.size:()I
            invokevirtual org.jruby.Ruby.newArray:(I)Lorg/jruby/RubyArray;
            astore 6 /* array */
        start local 6 // org.jruby.RubyArray array
         3: .line 3785
            aload 5 /* constantNames */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8
            goto 6
      StackMap locals: org.jruby.RubyModule org.jruby.runtime.ThreadContext int int org.jruby.Ruby java.util.Collection org.jruby.RubyArray top java.util.Iterator
      StackMap stack:
         4: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* name */
        start local 7 // java.lang.String name
         5: .line 3786
            aload 6 /* array */
            aload 4 /* runtime */
            aload 7 /* name */
            invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
        end local 7 // java.lang.String name
         6: .line 3785
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 3788
            aload 6 /* array */
            areturn
        end local 6 // org.jruby.RubyArray array
        end local 5 // java.util.Collection constantNames
        end local 4 // org.jruby.Ruby runtime
        end local 3 // boolean allConstants
        end local 2 // boolean replaceModule
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lorg/jruby/RubyModule;
            0    8     1        context  Lorg/jruby/runtime/ThreadContext;
            0    8     2  replaceModule  Z
            0    8     3   allConstants  Z
            1    8     4        runtime  Lorg/jruby/Ruby;
            2    8     5  constantNames  Ljava/util/Collection<Ljava/lang/String;>;
            3    8     6          array  Lorg/jruby/RubyArray;
            5    6     7           name  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      context        
      replaceModule  
      allConstants   

  public java.util.Collection<java.lang.String> constantsCommon(org.jruby.Ruby, boolean, boolean);
    descriptor: (Lorg/jruby/Ruby;ZZ)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // boolean replaceModule
        start local 3 // boolean allConstants
         0: .line 3795
            aload 0 /* this */
            aload 1 /* runtime */
            iload 2 /* replaceModule */
            iload 3 /* allConstants */
            iconst_1
            invokevirtual org.jruby.RubyModule.constantsCommon:(Lorg/jruby/Ruby;ZZZ)Ljava/util/Collection;
            areturn
        end local 3 // boolean allConstants
        end local 2 // boolean replaceModule
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/jruby/RubyModule;
            0    1     1        runtime  Lorg/jruby/Ruby;
            0    1     2  replaceModule  Z
            0    1     3   allConstants  Z
    Signature: (Lorg/jruby/Ruby;ZZ)Ljava/util/Collection<Ljava/lang/String;>;
    MethodParameters:
               Name  Flags
      runtime        
      replaceModule  
      allConstants   

  public java.util.Collection<java.lang.String> constantsCommon(org.jruby.Ruby, boolean, boolean, boolean);
    descriptor: (Lorg/jruby/Ruby;ZZZ)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=5
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // boolean replaceModule
        start local 3 // boolean allConstants
        start local 4 // boolean includePrivate
         0: .line 3799
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            astore 5 /* objectClass */
        start local 5 // org.jruby.RubyModule objectClass
         1: .line 3802
            iload 3 /* allConstants */
            ifeq 14
         2: .line 3803
            iload 2 /* replaceModule */
            ifeq 3
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getModule:()Lorg/jruby/RubyClass;
            aload 0 /* this */
            if_acmpeq 4
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
         3: aload 5 /* objectClass */
            aload 0 /* this */
            if_acmpne 6
         4: .line 3804
      StackMap locals:
      StackMap stack:
            aload 5 /* objectClass */
            iload 4 /* includePrivate */
            invokevirtual org.jruby.RubyModule.getConstantNames:(Z)Ljava/util/Collection;
            astore 6 /* constantNames */
        start local 6 // java.util.Collection constantNames
         5: .line 3805
            goto 19
        end local 6 // java.util.Collection constantNames
         6: .line 3806
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 7 /* names */
        start local 7 // java.util.Set names
         7: .line 3807
            aload 0 /* this */
            astore 8 /* module */
        start local 8 // org.jruby.RubyModule module
         8: goto 11
         9: .line 3808
      StackMap locals: org.jruby.RubyModule org.jruby.Ruby int int int org.jruby.RubyModule top java.util.Set org.jruby.RubyModule
      StackMap stack:
            aload 7 /* names */
            aload 8 /* module */
            iload 4 /* includePrivate */
            invokevirtual org.jruby.RubyModule.getConstantNames:(Z)Ljava/util/Collection;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        10: .line 3807
            aload 8 /* module */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 8 /* module */
      StackMap locals:
      StackMap stack:
        11: aload 8 /* module */
            ifnull 12
            aload 8 /* module */
            aload 5 /* objectClass */
            if_acmpne 9
        end local 8 // org.jruby.RubyModule module
        12: .line 3810
      StackMap locals:
      StackMap stack:
            aload 7 /* names */
            astore 6 /* constantNames */
        end local 7 // java.util.Set names
        start local 6 // java.util.Collection constantNames
        13: .line 3812
            goto 19
        end local 6 // java.util.Collection constantNames
        14: .line 3813
      StackMap locals: org.jruby.RubyModule org.jruby.Ruby int int int org.jruby.RubyModule
      StackMap stack:
            iload 2 /* replaceModule */
            ifeq 15
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getModule:()Lorg/jruby/RubyClass;
            aload 0 /* this */
            if_acmpeq 16
      StackMap locals:
      StackMap stack:
        15: aload 5 /* objectClass */
            aload 0 /* this */
            if_acmpne 18
        16: .line 3814
      StackMap locals:
      StackMap stack:
            aload 5 /* objectClass */
            iload 4 /* includePrivate */
            invokevirtual org.jruby.RubyModule.getConstantNames:(Z)Ljava/util/Collection;
            astore 6 /* constantNames */
        start local 6 // java.util.Collection constantNames
        17: .line 3815
            goto 19
        end local 6 // java.util.Collection constantNames
        18: .line 3816
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* includePrivate */
            invokevirtual org.jruby.RubyModule.getConstantNames:(Z)Ljava/util/Collection;
            astore 6 /* constantNames */
        start local 6 // java.util.Collection constantNames
        19: .line 3820
      StackMap locals: java.util.Collection
      StackMap stack:
            aload 6 /* constantNames */
            areturn
        end local 6 // java.util.Collection constantNames
        end local 5 // org.jruby.RubyModule objectClass
        end local 4 // boolean includePrivate
        end local 3 // boolean allConstants
        end local 2 // boolean replaceModule
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   20     0            this  Lorg/jruby/RubyModule;
            0   20     1         runtime  Lorg/jruby/Ruby;
            0   20     2   replaceModule  Z
            0   20     3    allConstants  Z
            0   20     4  includePrivate  Z
            1   20     5     objectClass  Lorg/jruby/RubyModule;
            5    6     6   constantNames  Ljava/util/Collection<Ljava/lang/String;>;
           13   14     6   constantNames  Ljava/util/Collection<Ljava/lang/String;>;
           17   18     6   constantNames  Ljava/util/Collection<Ljava/lang/String;>;
           19   20     6   constantNames  Ljava/util/Collection<Ljava/lang/String;>;
            7   13     7           names  Ljava/util/Set<Ljava/lang/String;>;
            8   12     8          module  Lorg/jruby/RubyModule;
    Signature: (Lorg/jruby/Ruby;ZZZ)Ljava/util/Collection<Ljava/lang/String;>;
    MethodParameters:
                Name  Flags
      runtime         
      replaceModule   
      allConstants    
      includePrivate  

  public void deprecateConstant(org.jruby.Ruby, java.lang.String);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // java.lang.String name
         0: .line 3824
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getConstantMap:()Ljava/util/Map;
            aload 2 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.RubyModule$ConstantEntry
            astore 3 /* entry */
        start local 3 // org.jruby.RubyModule$ConstantEntry entry
         1: .line 3825
            aload 3 /* entry */
            ifnonnull 3
         2: .line 3826
            aload 1 /* runtime */
            aload 1 /* runtime */
            ldc "constant "
            aload 1 /* runtime */
            aload 0 /* this */
            invokestatic org.jruby.util.RubyStringBuilder.types:(Lorg/jruby/Ruby;Lorg/jruby/RubyModule;)Lorg/jruby/RubyString;
            ldc "::"
            aload 1 /* runtime */
            aload 2 /* name */
            invokestatic org.jruby.util.RubyStringBuilder.ids:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
            ldc " not defined"
            invokestatic org.jruby.util.RubyStringBuilder.str:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Ljava/lang/String;
            aload 2 /* name */
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 3829
      StackMap locals: org.jruby.RubyModule$ConstantEntry
      StackMap stack:
            aload 0 /* this */
            aload 2 /* name */
            aload 3 /* entry */
            getfield org.jruby.RubyModule$ConstantEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
            aload 3 /* entry */
            getfield org.jruby.RubyModule$ConstantEntry.hidden:Z
            iconst_1
            invokevirtual org.jruby.RubyModule.storeConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         4: .line 3830
            aload 0 /* this */
            aload 2 /* name */
            invokevirtual org.jruby.RubyModule.invalidateConstantCache:(Ljava/lang/String;)V
         5: .line 3831
            return
        end local 3 // org.jruby.RubyModule$ConstantEntry entry
        end local 2 // java.lang.String name
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyModule;
            0    6     1  runtime  Lorg/jruby/Ruby;
            0    6     2     name  Ljava/lang/String;
            1    6     3    entry  Lorg/jruby/RubyModule$ConstantEntry;
    MethodParameters:
         Name  Flags
      runtime  
      name     

  public org.jruby.runtime.builtin.IRubyObject deprecate_constant(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject name
         0: .line 3835
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.checkFrozen:()V
         1: .line 3837
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            aload 2 /* name */
            invokevirtual org.jruby.RubyModule.validateConstant:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
            invokevirtual org.jruby.RubyModule.deprecateConstant:(Lorg/jruby/Ruby;Ljava/lang/String;)V
         2: .line 3838
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject name
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyModule;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2     name  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      name     

  public org.jruby.runtime.builtin.IRubyObject deprecate_constant(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] names
         0: .line 3843
            aload 2 /* names */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 4
      StackMap locals: org.jruby.RubyModule org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] top int int org.jruby.runtime.builtin.IRubyObject[]
      StackMap stack:
         1: aload 6
            iload 4
            aaload
            astore 3 /* name */
        start local 3 // org.jruby.runtime.builtin.IRubyObject name
         2: .line 3844
            aload 0 /* this */
            aload 1 /* context */
            aload 3 /* name */
            invokevirtual org.jruby.RubyModule.deprecate_constant:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        end local 3 // org.jruby.runtime.builtin.IRubyObject name
         3: .line 3843
            iinc 4 1
      StackMap locals:
      StackMap stack:
         4: iload 4
            iload 5
            if_icmplt 1
         5: .line 3846
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] names
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyModule;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            0    6     2    names  [Lorg/jruby/runtime/builtin/IRubyObject;
            2    3     3     name  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(rest = true)
    MethodParameters:
         Name  Flags
      context  
      names    

  public org.jruby.runtime.builtin.IRubyObject private_constant(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject name
         0: .line 3851
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.checkFrozen:()V
         1: .line 3853
            aload 0 /* this */
            aload 2 /* name */
            invokevirtual org.jruby.RubyModule.validateConstant:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
            astore 3 /* id */
        start local 3 // java.lang.String id
         2: .line 3855
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* id */
            iconst_1
            invokevirtual org.jruby.RubyModule.setConstantVisibility:(Lorg/jruby/Ruby;Ljava/lang/String;Z)V
         3: .line 3856
            aload 0 /* this */
            aload 3 /* id */
            invokevirtual org.jruby.RubyModule.invalidateConstantCache:(Ljava/lang/String;)V
         4: .line 3858
            aload 0 /* this */
            areturn
        end local 3 // java.lang.String id
        end local 2 // org.jruby.runtime.builtin.IRubyObject name
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyModule;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2     name  Lorg/jruby/runtime/builtin/IRubyObject;
            2    5     3       id  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      name     

  public org.jruby.runtime.builtin.IRubyObject private_constant(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] rubyNames
         0: .line 3863
            aload 2 /* rubyNames */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 4
      StackMap locals: org.jruby.RubyModule org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] top int int org.jruby.runtime.builtin.IRubyObject[]
      StackMap stack:
         1: aload 6
            iload 4
            aaload
            astore 3 /* rubyName */
        start local 3 // org.jruby.runtime.builtin.IRubyObject rubyName
         2: .line 3864
            aload 0 /* this */
            aload 1 /* context */
            aload 3 /* rubyName */
            invokevirtual org.jruby.RubyModule.private_constant:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        end local 3 // org.jruby.runtime.builtin.IRubyObject rubyName
         3: .line 3863
            iinc 4 1
      StackMap locals:
      StackMap stack:
         4: iload 4
            iload 5
            if_icmplt 1
         5: .line 3866
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] rubyNames
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/jruby/RubyModule;
            0    6     1    context  Lorg/jruby/runtime/ThreadContext;
            0    6     2  rubyNames  [Lorg/jruby/runtime/builtin/IRubyObject;
            2    3     3   rubyName  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(required = 1, rest = true)
    MethodParameters:
           Name  Flags
      context    
      rubyNames  

  public org.jruby.runtime.builtin.IRubyObject public_constant(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject name
         0: .line 3871
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.checkFrozen:()V
         1: .line 3873
            aload 0 /* this */
            aload 2 /* name */
            invokevirtual org.jruby.RubyModule.validateConstant:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
            astore 3 /* id */
        start local 3 // java.lang.String id
         2: .line 3875
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* id */
            iconst_0
            invokevirtual org.jruby.RubyModule.setConstantVisibility:(Lorg/jruby/Ruby;Ljava/lang/String;Z)V
         3: .line 3876
            aload 0 /* this */
            aload 3 /* id */
            invokevirtual org.jruby.RubyModule.invalidateConstantCache:(Ljava/lang/String;)V
         4: .line 3877
            aload 0 /* this */
            areturn
        end local 3 // java.lang.String id
        end local 2 // org.jruby.runtime.builtin.IRubyObject name
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyModule;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2     name  Lorg/jruby/runtime/builtin/IRubyObject;
            2    5     3       id  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      name     

  public org.jruby.runtime.builtin.IRubyObject public_constant(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] rubyNames
         0: .line 3882
            aload 2 /* rubyNames */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 4
      StackMap locals: org.jruby.RubyModule org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] top int int org.jruby.runtime.builtin.IRubyObject[]
      StackMap stack:
         1: aload 6
            iload 4
            aaload
            astore 3 /* rubyName */
        start local 3 // org.jruby.runtime.builtin.IRubyObject rubyName
         2: .line 3883
            aload 0 /* this */
            aload 1 /* context */
            aload 3 /* rubyName */
            invokevirtual org.jruby.RubyModule.public_constant:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        end local 3 // org.jruby.runtime.builtin.IRubyObject rubyName
         3: .line 3882
            iinc 4 1
      StackMap locals:
      StackMap stack:
         4: iload 4
            iload 5
            if_icmplt 1
         5: .line 3885
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] rubyNames
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/jruby/RubyModule;
            0    6     1    context  Lorg/jruby/runtime/ThreadContext;
            0    6     2  rubyNames  [Lorg/jruby/runtime/builtin/IRubyObject;
            2    3     3   rubyName  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(required = 1, rest = true)
    MethodParameters:
           Name  Flags
      context    
      rubyNames  

  public org.jruby.runtime.builtin.IRubyObject prepend(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] modules
         0: .line 3891
            aload 2 /* modules */
            arraylength
            istore 3 /* i */
        start local 3 // int i
         1: goto 5
         2: .line 3892
      StackMap locals: int
      StackMap stack:
            aload 2 /* modules */
            iload 3 /* i */
            aaload
            astore 4 /* obj */
        start local 4 // org.jruby.runtime.builtin.IRubyObject obj
         3: .line 3893
            aload 4 /* obj */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isModule:()Z
            ifne 5
         4: .line 3894
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 4 /* obj */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getModule:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 4 // org.jruby.runtime.builtin.IRubyObject obj
         5: .line 3891
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ -1
            iload 3 /* i */
            ifge 2
        end local 3 // int i
         6: .line 3897
            aload 2 /* modules */
            arraylength
            iconst_1
            isub
            istore 3 /* i */
        start local 3 // int i
         7: goto 11
         8: .line 3898
      StackMap locals:
      StackMap stack:
            aload 2 /* modules */
            iload 3 /* i */
            aaload
            aload 1 /* context */
            ldc "prepend_features"
            aload 0 /* this */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         9: .line 3899
            aload 2 /* modules */
            iload 3 /* i */
            aaload
            aload 1 /* context */
            ldc "prepended"
            aload 0 /* this */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        10: .line 3897
            iinc 3 /* i */ -1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            ifge 8
        end local 3 // int i
        12: .line 3902
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] modules
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lorg/jruby/RubyModule;
            0   13     1  context  Lorg/jruby/runtime/ThreadContext;
            0   13     2  modules  [Lorg/jruby/runtime/builtin/IRubyObject;
            1    6     3        i  I
            3    5     4      obj  Lorg/jruby/runtime/builtin/IRubyObject;
            7   12     3        i  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"prepend"}, required = 1, rest = true)
    MethodParameters:
         Name  Flags
      context  
      modules  

  public org.jruby.runtime.builtin.IRubyObject prepended(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 3907
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyModule;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"prepended"}, required = 1, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
         Name  Flags
      context  
      other    

  public final void setConstantVisibility(org.jruby.Ruby, java.lang.String, boolean);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;Z)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // java.lang.String name
        start local 3 // boolean hidden
         0: .line 3912
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getConstantMap:()Ljava/util/Map;
            aload 2 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.RubyModule$ConstantEntry
            astore 4 /* entry */
        start local 4 // org.jruby.RubyModule$ConstantEntry entry
         1: .line 3914
            aload 4 /* entry */
            ifnonnull 3
         2: .line 3915
            aload 1 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "constant "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "::"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " not defined"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* name */
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 3918
      StackMap locals: org.jruby.RubyModule$ConstantEntry
      StackMap stack:
            aload 0 /* this */
            aload 2 /* name */
            aload 4 /* entry */
            getfield org.jruby.RubyModule$ConstantEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
            iload 3 /* hidden */
            invokevirtual org.jruby.RubyModule.storeConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         4: .line 3919
            return
        end local 4 // org.jruby.RubyModule$ConstantEntry entry
        end local 3 // boolean hidden
        end local 2 // java.lang.String name
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyModule;
            0    5     1  runtime  Lorg/jruby/Ruby;
            0    5     2     name  Ljava/lang/String;
            0    5     3   hidden  Z
            1    5     4    entry  Lorg/jruby/RubyModule$ConstantEntry;
    MethodParameters:
         Name  Flags
      runtime  
      name     
      hidden   

  public org.jruby.runtime.builtin.IRubyObject setClassVar(java.lang.String, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 3934
            aload 0 /* this */
            astore 3 /* module */
        start local 3 // org.jruby.RubyModule module
         1: .line 3935
            aload 0 /* this */
            astore 4 /* highest */
        start local 4 // org.jruby.RubyModule highest
         2: .line 3937
      StackMap locals: org.jruby.RubyModule org.jruby.RubyModule
      StackMap stack:
            aload 3 /* module */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.hasClassVariable:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 3938
            aload 3 /* module */
            astore 4 /* highest */
         4: .line 3940
      StackMap locals:
      StackMap stack:
            aload 3 /* module */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            dup
            astore 3 /* module */
            ifnonnull 2
         5: .line 3942
            aload 4 /* highest */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual org.jruby.RubyModule.storeClassVariable:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.RubyModule highest
        end local 3 // org.jruby.RubyModule module
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyModule;
            0    6     1     name  Ljava/lang/String;
            0    6     2    value  Lorg/jruby/runtime/builtin/IRubyObject;
            1    6     3   module  Lorg/jruby/RubyModule;
            2    6     4  highest  Lorg/jruby/RubyModule;
    MethodParameters:
       Name  Flags
      name   
      value  

  public org.jruby.runtime.builtin.IRubyObject fastSetClassVar(java.lang.String, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String internedName
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 3947
            aload 0 /* this */
            aload 1 /* internedName */
            aload 2 /* value */
            invokevirtual org.jruby.RubyModule.setClassVar:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String internedName
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/jruby/RubyModule;
            0    1     1  internedName  Ljava/lang/String;
            0    1     2         value  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      internedName  final
      value         final

  public org.jruby.runtime.builtin.IRubyObject getClassVar(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 3959
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.getClassVarQuiet:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* value */
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         1: .line 3961
            aload 2 /* value */
            ifnonnull 3
         2: .line 3962
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            ldc "uninitialized class variable %1$s in %2$s"
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 3965
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 2 /* value */
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/jruby/RubyModule;
            0    4     1   name  Ljava/lang/String;
            1    4     2  value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      name  

  public org.jruby.runtime.builtin.IRubyObject getClassVar(org.jruby.runtime.builtin.IRubyObject, java.lang.String);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject nameObject
        start local 2 // java.lang.String name
         0: .line 3969
            aload 0 /* this */
            aload 2 /* name */
            invokevirtual org.jruby.RubyModule.getClassVarQuiet:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* value */
        start local 3 // org.jruby.runtime.builtin.IRubyObject value
         1: .line 3971
            aload 3 /* value */
            ifnonnull 3
         2: .line 3972
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            ldc "uninitialized class variable %1$s in %2$s"
            aload 0 /* this */
            aload 1 /* nameObject */
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 3975
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 3 /* value */
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject value
        end local 2 // java.lang.String name
        end local 1 // org.jruby.runtime.builtin.IRubyObject nameObject
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/jruby/RubyModule;
            0    4     1  nameObject  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     2        name  Ljava/lang/String;
            1    4     3       value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
            Name  Flags
      nameObject  
      name        

  public org.jruby.runtime.builtin.IRubyObject getClassVarQuiet(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 3979
            getstatic org.jruby.RubyModule.$assertionsDisabled:Z
            ifne 1
            aload 1 /* name */
            invokestatic org.jruby.util.IdUtil.isClassVariable:(Ljava/lang/String;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3981
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            astore 2 /* module */
        start local 2 // org.jruby.RubyModule module
         2: .line 3982
            aconst_null
            astore 3 /* highest */
        start local 3 // org.jruby.RubyModule highest
         3: .line 3985
      StackMap locals: org.jruby.RubyModule org.jruby.RubyModule
      StackMap stack:
            aload 2 /* module */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.hasClassVariable:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 3986
            aload 2 /* module */
            astore 3 /* highest */
         5: .line 3988
      StackMap locals:
      StackMap stack:
            aload 2 /* module */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            dup
            astore 2 /* module */
            ifnonnull 3
         6: .line 3990
            aload 3 /* highest */
            ifnull 7
            aload 3 /* highest */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.fetchClassVariable:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         7: .line 3992
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.jruby.RubyModule highest
        end local 2 // org.jruby.RubyModule module
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyModule;
            0    8     1     name  Ljava/lang/String;
            2    8     2   module  Lorg/jruby/RubyModule;
            3    8     3  highest  Lorg/jruby/RubyModule;
    MethodParameters:
      Name  Flags
      name  

  public org.jruby.runtime.builtin.IRubyObject fastGetClassVar(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String internedName
         0: .line 3997
            aload 0 /* this */
            aload 1 /* internedName */
            invokevirtual org.jruby.RubyModule.getClassVar:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // java.lang.String internedName
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/jruby/RubyModule;
            0    1     1  internedName  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      internedName  

  public boolean isClassVarDefined(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4009
            aload 0 /* this */
            astore 2 /* module */
        start local 2 // org.jruby.RubyModule module
         1: .line 4011
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 2 /* module */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.hasClassVariable:(Ljava/lang/String;)Z
            ifeq 2
            iconst_1
            ireturn
         2: .line 4012
      StackMap locals:
      StackMap stack:
            aload 2 /* module */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            dup
            astore 2 /* module */
            ifnonnull 1
         3: .line 4014
            iconst_0
            ireturn
        end local 2 // org.jruby.RubyModule module
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/jruby/RubyModule;
            0    4     1    name  Ljava/lang/String;
            1    4     2  module  Lorg/jruby/RubyModule;
    MethodParameters:
      Name  Flags
      name  

  public boolean fastIsClassVarDefined(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String internedName
         0: .line 4019
            aload 0 /* this */
            aload 1 /* internedName */
            invokevirtual org.jruby.RubyModule.isClassVarDefined:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String internedName
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/jruby/RubyModule;
            0    1     1  internedName  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      internedName  

  public org.jruby.runtime.builtin.IRubyObject removeClassVariable(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4023
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.validateClassVariable:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* javaName */
        start local 2 // java.lang.String javaName
         1: .line 4026
            aload 0 /* this */
            aload 2 /* javaName */
            invokevirtual org.jruby.RubyModule.deleteClassVariable:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            dup
            astore 3 /* value */
        start local 3 // org.jruby.runtime.builtin.IRubyObject value
         2: ifnull 4
         3: .line 4027
            aload 3 /* value */
            areturn
         4: .line 4030
      StackMap locals: java.lang.String org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* this */
            aload 2 /* javaName */
            invokevirtual org.jruby.RubyModule.isClassVarDefined:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 4031
            aload 0 /* this */
            aload 2 /* javaName */
            invokevirtual org.jruby.RubyModule.cannotRemoveError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         6: .line 4034
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "class variable "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* javaName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " not defined for "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* javaName */
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 3 // org.jruby.runtime.builtin.IRubyObject value
        end local 2 // java.lang.String javaName
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/jruby/RubyModule;
            0    7     1      name  Ljava/lang/String;
            1    7     2  javaName  Ljava/lang/String;
            2    7     3     value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      name  

  public org.jruby.runtime.builtin.IRubyObject getConstantAtSpecial(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4051
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            if_acmpne 3
         1: .line 4052
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.getConstantNoConstMissing:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* value */
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         2: .line 4053
            goto 4
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
         3: .line 4054
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.fetchConstant:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* value */
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         4: .line 4057
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 2 /* value */
            getstatic org.jruby.RubyModule.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 5
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.resolveUndefConstant:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 6
      StackMap locals:
      StackMap stack:
         5: aload 2 /* value */
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         6: areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/jruby/RubyModule;
            0    7     1   name  Ljava/lang/String;
            2    3     2  value  Lorg/jruby/runtime/builtin/IRubyObject;
            4    7     2  value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      name  

  public org.jruby.runtime.builtin.IRubyObject getConstantAt(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4061
            aload 0 /* this */
            aload 1 /* name */
            iconst_1
            invokevirtual org.jruby.RubyModule.getConstantAt:(Ljava/lang/String;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public org.jruby.runtime.builtin.IRubyObject getConstantAt(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // boolean includePrivate
         0: .line 4065
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* includePrivate */
            invokevirtual org.jruby.RubyModule.fetchConstant:(Ljava/lang/String;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* value */
        start local 3 // org.jruby.runtime.builtin.IRubyObject value
         1: .line 4067
            aload 3 /* value */
            getstatic org.jruby.RubyModule.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 2
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.resolveUndefConstant:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 3
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         2: aload 3 /* value */
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         3: areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject value
        end local 2 // boolean includePrivate
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lorg/jruby/RubyModule;
            0    4     1            name  Ljava/lang/String;
            0    4     2  includePrivate  Z
            1    4     3           value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
                Name  Flags
      name            
      includePrivate  

  public org.jruby.runtime.builtin.IRubyObject fastGetConstantAt(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String internedName
         0: .line 4072
            aload 0 /* this */
            aload 1 /* internedName */
            invokevirtual org.jruby.RubyModule.getConstantAt:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // java.lang.String internedName
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/jruby/RubyModule;
            0    1     1  internedName  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      internedName  

  public org.jruby.runtime.builtin.IRubyObject getConstant(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4082
            aload 0 /* this */
            aload 1 /* name */
            iconst_1
            invokevirtual org.jruby.RubyModule.getConstant:(Ljava/lang/String;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public org.jruby.runtime.builtin.IRubyObject getConstant(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // boolean inherit
         0: .line 4086
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* inherit */
            iconst_1
            invokevirtual org.jruby.RubyModule.getConstant:(Ljava/lang/String;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // boolean inherit
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyModule;
            0    1     1     name  Ljava/lang/String;
            0    1     2  inherit  Z
    MethodParameters:
         Name  Flags
      name     
      inherit  

  public org.jruby.runtime.builtin.IRubyObject getConstant(java.lang.String, boolean, boolean);
    descriptor: (Ljava/lang/String;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // boolean inherit
        start local 3 // boolean includeObject
         0: .line 4090
            getstatic org.jruby.RubyModule.$assertionsDisabled:Z
            ifne 1
            aload 1 /* name */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            ldc "null name"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 4095
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* inherit */
            iload 3 /* includeObject */
            invokevirtual org.jruby.RubyModule.getConstantNoConstMissing:(Ljava/lang/String;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* value */
        start local 4 // org.jruby.runtime.builtin.IRubyObject value
         2: .line 4096
            aload 0 /* this */
            getfield org.jruby.RubyModule.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         3: .line 4098
            aload 4 /* value */
            ifnull 4
            aload 4 /* value */
            goto 5
         4: .line 4099
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby
      StackMap stack:
            aload 0 /* this */
            aload 5 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            ldc "const_missing"
            aload 5 /* runtime */
            aload 1 /* name */
            invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubyModule.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
         5: .line 4098
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
            areturn
        end local 5 // org.jruby.Ruby runtime
        end local 4 // org.jruby.runtime.builtin.IRubyObject value
        end local 3 // boolean includeObject
        end local 2 // boolean inherit
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/jruby/RubyModule;
            0    6     1           name  Ljava/lang/String;
            0    6     2        inherit  Z
            0    6     3  includeObject  Z
            2    6     4          value  Lorg/jruby/runtime/builtin/IRubyObject;
            3    6     5        runtime  Lorg/jruby/Ruby;
    MethodParameters:
               Name  Flags
      name           
      inherit        
      includeObject  

  public org.jruby.runtime.builtin.IRubyObject fastGetConstant(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String internedName
         0: .line 4104
            aload 0 /* this */
            aload 1 /* internedName */
            invokevirtual org.jruby.RubyModule.getConstant:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // java.lang.String internedName
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/jruby/RubyModule;
            0    1     1  internedName  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      internedName  

  public org.jruby.runtime.builtin.IRubyObject fastGetConstant(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String internedName
        start local 2 // boolean inherit
         0: .line 4109
            aload 0 /* this */
            aload 1 /* internedName */
            iload 2 /* inherit */
            invokevirtual org.jruby.RubyModule.getConstant:(Ljava/lang/String;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // boolean inherit
        end local 1 // java.lang.String internedName
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/jruby/RubyModule;
            0    1     1  internedName  Ljava/lang/String;
            0    1     2       inherit  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      internedName  
      inherit       

  public org.jruby.runtime.builtin.IRubyObject getConstantNoConstMissing(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4113
            aload 0 /* this */
            aload 1 /* name */
            iconst_1
            invokevirtual org.jruby.RubyModule.getConstantNoConstMissing:(Ljava/lang/String;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public org.jruby.runtime.builtin.IRubyObject getConstantNoConstMissing(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // boolean inherit
         0: .line 4117
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* inherit */
            iconst_1
            invokevirtual org.jruby.RubyModule.getConstantNoConstMissing:(Ljava/lang/String;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // boolean inherit
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyModule;
            0    1     1     name  Ljava/lang/String;
            0    1     2  inherit  Z
    MethodParameters:
         Name  Flags
      name     
      inherit  

  public org.jruby.runtime.builtin.IRubyObject getConstantNoConstMissing(java.lang.String, boolean, boolean);
    descriptor: (Ljava/lang/String;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // boolean inherit
        start local 3 // boolean includeObject
         0: .line 4121
            aload 1 /* name */
            aload 0 /* this */
            iload 2 /* inherit */
            iconst_1
            invokestatic org.jruby.RubyModule.iterateConstantNoConstMissing:(Ljava/lang/String;Lorg/jruby/RubyModule;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* constant */
        start local 4 // org.jruby.runtime.builtin.IRubyObject constant
         1: .line 4123
            aload 4 /* constant */
            ifnonnull 3
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.isClass:()Z
            ifne 3
            iload 3 /* includeObject */
            ifeq 3
         2: .line 4124
            aload 1 /* name */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            iload 2 /* inherit */
            iconst_1
            invokestatic org.jruby.RubyModule.iterateConstantNoConstMissing:(Ljava/lang/String;Lorg/jruby/RubyModule;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* constant */
         3: .line 4127
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 4 /* constant */
            areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject constant
        end local 3 // boolean includeObject
        end local 2 // boolean inherit
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/jruby/RubyModule;
            0    4     1           name  Ljava/lang/String;
            0    4     2        inherit  Z
            0    4     3  includeObject  Z
            1    4     4       constant  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
               Name  Flags
      name           
      inherit        
      includeObject  

  public final org.jruby.runtime.builtin.IRubyObject getConstantNoConstMissingSkipAutoload(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4131
            aload 0 /* this */
            aload 1 /* name */
            iconst_1
            iconst_1
            invokevirtual org.jruby.RubyModule.getConstantSkipAutoload:(Ljava/lang/String;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public org.jruby.runtime.builtin.IRubyObject getConstantNoConstMissingSKipAutoload(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4136
            aload 0 /* this */
            aload 1 /* name */
            iconst_1
            iconst_1
            invokevirtual org.jruby.RubyModule.getConstantSkipAutoload:(Ljava/lang/String;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  name  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      name  

  private org.jruby.runtime.builtin.IRubyObject getConstantSkipAutoload(java.lang.String, boolean, boolean);
    descriptor: (Ljava/lang/String;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // boolean inherit
        start local 3 // boolean includeObject
         0: .line 4141
            aload 1 /* name */
            aload 0 /* this */
            iload 2 /* inherit */
            iconst_0
            invokestatic org.jruby.RubyModule.iterateConstantNoConstMissing:(Ljava/lang/String;Lorg/jruby/RubyModule;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* constant */
        start local 4 // org.jruby.runtime.builtin.IRubyObject constant
         1: .line 4143
            aload 4 /* constant */
            ifnonnull 3
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.isClass:()Z
            ifne 3
            iload 3 /* includeObject */
            ifeq 3
         2: .line 4144
            aload 1 /* name */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            iload 2 /* inherit */
            iconst_0
            invokestatic org.jruby.RubyModule.iterateConstantNoConstMissing:(Ljava/lang/String;Lorg/jruby/RubyModule;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* constant */
         3: .line 4147
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 4 /* constant */
            areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject constant
        end local 3 // boolean includeObject
        end local 2 // boolean inherit
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/jruby/RubyModule;
            0    4     1           name  Ljava/lang/String;
            0    4     2        inherit  Z
            0    4     3  includeObject  Z
            1    4     4       constant  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
               Name  Flags
      name           
      inherit        
      includeObject  

  private static org.jruby.runtime.builtin.IRubyObject iterateConstantNoConstMissing(java.lang.String, org.jruby.RubyModule, boolean, boolean);
    descriptor: (Ljava/lang/String;Lorg/jruby/RubyModule;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // java.lang.String name
        start local 1 // org.jruby.RubyModule init
        start local 2 // boolean inherit
        start local 3 // boolean loadConstant
         0: .line 4152
            aload 1 /* init */
            astore 4 /* mod */
        start local 4 // org.jruby.RubyModule mod
         1: goto 7
         2: .line 4153
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 4 /* mod */
            aload 0 /* name */
            iconst_1
            invokevirtual org.jruby.RubyModule.fetchConstant:(Ljava/lang/String;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* value */
        start local 5 // org.jruby.runtime.builtin.IRubyObject value
         3: .line 4155
            aload 5 /* value */
            getstatic org.jruby.RubyModule.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 4
            aload 4 /* mod */
            aload 0 /* name */
            iload 3 /* loadConstant */
            invokevirtual org.jruby.RubyModule.getAutoloadConstant:(Ljava/lang/String;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         4: .line 4156
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 5 /* value */
            ifnull 5
            aload 5 /* value */
            areturn
         5: .line 4158
      StackMap locals:
      StackMap stack:
            iload 2 /* inherit */
            ifne 6
            goto 8
        end local 5 // org.jruby.runtime.builtin.IRubyObject value
         6: .line 4152
      StackMap locals:
      StackMap stack:
            aload 4 /* mod */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 4 /* mod */
      StackMap locals:
      StackMap stack:
         7: aload 4 /* mod */
            ifnonnull 2
        end local 4 // org.jruby.RubyModule mod
         8: .line 4160
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // boolean loadConstant
        end local 2 // boolean inherit
        end local 1 // org.jruby.RubyModule init
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          name  Ljava/lang/String;
            0    9     1          init  Lorg/jruby/RubyModule;
            0    9     2       inherit  Z
            0    9     3  loadConstant  Z
            1    8     4           mod  Lorg/jruby/RubyModule;
            3    6     5         value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
              Name  Flags
      name          
      init          
      inherit       
      loadConstant  

  public org.jruby.runtime.builtin.IRubyObject getConstantFrom(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4165
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.getConstantFromNoConstMissing:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* value */
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         1: .line 4167
            aload 2 /* value */
            ifnull 2
            aload 2 /* value */
            goto 3
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         2: aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.getConstantFromConstMissing:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         3: areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/jruby/RubyModule;
            0    4     1   name  Ljava/lang/String;
            1    4     2  value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      name  

  public org.jruby.runtime.builtin.IRubyObject fastGetConstantFrom(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String internedName
         0: .line 4172
            aload 0 /* this */
            aload 1 /* internedName */
            invokevirtual org.jruby.RubyModule.getConstantFrom:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // java.lang.String internedName
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/jruby/RubyModule;
            0    1     1  internedName  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      internedName  

  public org.jruby.runtime.builtin.IRubyObject getConstantFromNoConstMissing(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4176
            aload 0 /* this */
            aload 1 /* name */
            iconst_1
            invokevirtual org.jruby.RubyModule.getConstantFromNoConstMissing:(Ljava/lang/String;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public org.jruby.runtime.builtin.IRubyObject getConstantFromNoConstMissing(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // boolean includePrivate
         0: .line 4180
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 4181
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            astore 4 /* objectClass */
        start local 4 // org.jruby.RubyClass objectClass
         2: .line 4183
            aload 0 /* this */
            astore 5 /* mod */
        start local 5 // org.jruby.RubyModule mod
         3: .line 4185
            goto 11
         4: .line 4186
      StackMap locals: org.jruby.Ruby org.jruby.RubyClass org.jruby.RubyModule
      StackMap stack:
            aload 5 /* mod */
            aload 1 /* name */
            iload 2 /* includePrivate */
            invokevirtual org.jruby.RubyModule.fetchConstant:(Ljava/lang/String;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            dup
            astore 6 /* value */
        start local 6 // org.jruby.runtime.builtin.IRubyObject value
         5: ifnull 10
         6: .line 4187
            aload 6 /* value */
            getstatic org.jruby.RubyModule.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 7
            aload 5 /* mod */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.resolveUndefConstant:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         7: .line 4189
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 5 /* mod */
            aload 4 /* objectClass */
            if_acmpne 9
            aload 0 /* this */
            aload 4 /* objectClass */
            if_acmpeq 9
         8: .line 4190
            aconst_null
            areturn
         9: .line 4193
      StackMap locals:
      StackMap stack:
            aload 6 /* value */
            areturn
        10: .line 4195
      StackMap locals:
      StackMap stack:
            aload 5 /* mod */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 5 /* mod */
        end local 6 // org.jruby.runtime.builtin.IRubyObject value
        11: .line 4185
      StackMap locals:
      StackMap stack:
            aload 5 /* mod */
            ifnonnull 4
        12: .line 4197
            aconst_null
            areturn
        end local 5 // org.jruby.RubyModule mod
        end local 4 // org.jruby.RubyClass objectClass
        end local 3 // org.jruby.Ruby runtime
        end local 2 // boolean includePrivate
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lorg/jruby/RubyModule;
            0   13     1            name  Ljava/lang/String;
            0   13     2  includePrivate  Z
            1   13     3         runtime  Lorg/jruby/Ruby;
            2   13     4     objectClass  Lorg/jruby/RubyClass;
            3   13     5             mod  Lorg/jruby/RubyModule;
            5   11     6           value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
                Name  Flags
      name            
      includePrivate  

  public org.jruby.runtime.builtin.IRubyObject fastGetConstantFromNoConstMissing(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String internedName
         0: .line 4202
            aload 0 /* this */
            aload 1 /* internedName */
            invokevirtual org.jruby.RubyModule.getConstantFromNoConstMissing:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // java.lang.String internedName
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/jruby/RubyModule;
            0    1     1  internedName  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      internedName  

  public org.jruby.runtime.builtin.IRubyObject getConstantFromConstMissing(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4206
            aload 0 /* this */
            getfield org.jruby.RubyModule.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 4207
            aload 0 /* this */
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            ldc "const_missing"
            aload 2 /* runtime */
            aload 1 /* name */
            invokevirtual org.jruby.Ruby.fastNewSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubyModule.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.Ruby runtime
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyModule;
            0    2     1     name  Ljava/lang/String;
            1    2     2  runtime  Lorg/jruby/Ruby;
    MethodParameters:
      Name  Flags
      name  

  public org.jruby.runtime.builtin.IRubyObject fastGetConstantFromConstMissing(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String internedName
         0: .line 4212
            aload 0 /* this */
            aload 1 /* internedName */
            invokevirtual org.jruby.RubyModule.getConstantFromConstMissing:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // java.lang.String internedName
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/jruby/RubyModule;
            0    1     1  internedName  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      internedName  

  public final org.jruby.runtime.builtin.IRubyObject resolveUndefConstant(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4216
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.getAutoloadConstant:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public org.jruby.runtime.builtin.IRubyObject setConstantQuiet(java.lang.String, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 4229
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            iconst_0
            iconst_0
            invokevirtual org.jruby.RubyModule.setConstantCommon:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyModule;
            0    1     1   name  Ljava/lang/String;
            0    1     2  value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
       Name  Flags
      name   
      value  

  public org.jruby.runtime.builtin.IRubyObject setConstant(java.lang.String, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 4241
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            iconst_0
            iconst_1
            invokevirtual org.jruby.RubyModule.setConstantCommon:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyModule;
            0    1     1   name  Ljava/lang/String;
            0    1     2  value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
       Name  Flags
      name   
      value  

  public org.jruby.runtime.builtin.IRubyObject setConstant(java.lang.String, org.jruby.runtime.builtin.IRubyObject, boolean);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
        start local 3 // boolean hidden
         0: .line 4245
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            iload 3 /* hidden */
            iconst_1
            invokevirtual org.jruby.RubyModule.setConstantCommon:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // boolean hidden
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/jruby/RubyModule;
            0    1     1    name  Ljava/lang/String;
            0    1     2   value  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3  hidden  Z
    MethodParameters:
        Name  Flags
      name    
      value   
      hidden  

  private org.jruby.runtime.builtin.IRubyObject setConstantCommon(java.lang.String, org.jruby.runtime.builtin.IRubyObject, boolean, boolean);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
        start local 3 // boolean hidden
        start local 4 // boolean warn
         0: .line 4257
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.fetchConstant:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* oldValue */
        start local 5 // org.jruby.runtime.builtin.IRubyObject oldValue
         1: .line 4259
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual org.jruby.RubyModule.setParentForModule:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)V
         2: .line 4261
            aload 5 /* oldValue */
            ifnull 12
         3: .line 4262
            aload 5 /* oldValue */
            getstatic org.jruby.RubyModule.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 4
            iconst_1
            goto 5
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 6 /* notAutoload */
        start local 6 // boolean notAutoload
         6: .line 4263
            iload 6 /* notAutoload */
            ifne 7
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual org.jruby.RubyModule.setAutoloadConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifne 14
         7: .line 4264
      StackMap locals: int
      StackMap stack:
            iload 4 /* warn */
            ifeq 9
            iload 6 /* notAutoload */
            ifeq 9
         8: .line 4265
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            getstatic org.jruby.common.IRubyWarnings$ID.CONSTANT_ALREADY_INITIALIZED:Lorg/jruby/common/IRubyWarnings$ID;
            new java.lang.StringBuilder
            dup
            ldc "already initialized constant "
            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;
            invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
         9: .line 4269
      StackMap locals:
      StackMap stack:
            iload 3 /* hidden */
            ifeq 10
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            iconst_1
            invokevirtual org.jruby.RubyModule.storeConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
            goto 14
        10: .line 4270
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual org.jruby.RubyModule.storeConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        end local 6 // boolean notAutoload
        11: .line 4272
            goto 14
        12: .line 4273
      StackMap locals:
      StackMap stack:
            iload 3 /* hidden */
            ifeq 13
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            iconst_1
            invokevirtual org.jruby.RubyModule.storeConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
            goto 14
        13: .line 4274
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual org.jruby.RubyModule.storeConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        14: .line 4277
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.invalidateConstantCache:(Ljava/lang/String;)V
        15: .line 4278
            aload 2 /* value */
            areturn
        end local 5 // org.jruby.runtime.builtin.IRubyObject oldValue
        end local 4 // boolean warn
        end local 3 // boolean hidden
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Lorg/jruby/RubyModule;
            0   16     1         name  Ljava/lang/String;
            0   16     2        value  Lorg/jruby/runtime/builtin/IRubyObject;
            0   16     3       hidden  Z
            0   16     4         warn  Z
            1   16     5     oldValue  Lorg/jruby/runtime/builtin/IRubyObject;
            6   11     6  notAutoload  Z
    MethodParameters:
        Name  Flags
      name    
      value   
      hidden  
      warn    

  private void setParentForModule(java.lang.String, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 4283
            aload 2 /* value */
            instanceof org.jruby.RubyModule
            ifeq 6
         1: .line 4284
            aload 2 /* value */
            checkcast org.jruby.RubyModule
            astore 3 /* module */
        start local 3 // org.jruby.RubyModule module
         2: .line 4285
            aload 3 /* module */
            aload 0 /* this */
            if_acmpeq 5
            aload 3 /* module */
            invokevirtual org.jruby.RubyModule.getBaseName:()Ljava/lang/String;
            ifnonnull 5
         3: .line 4286
            aload 3 /* module */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.setBaseName:(Ljava/lang/String;)V
         4: .line 4287
            aload 3 /* module */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.setParent:(Lorg/jruby/RubyModule;)V
         5: .line 4289
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 3 /* module */
            invokevirtual org.jruby.RubyModule.calculateName:()Ljava/lang/String;
            pop
        end local 3 // org.jruby.RubyModule module
         6: .line 4291
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/jruby/RubyModule;
            0    7     1    name  Ljava/lang/String;
            0    7     2   value  Lorg/jruby/runtime/builtin/IRubyObject;
            2    6     3  module  Lorg/jruby/RubyModule;
    MethodParameters:
       Name  Flags
      name   final
      value  final

  public org.jruby.runtime.builtin.IRubyObject fastSetConstant(java.lang.String, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String internedName
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 4295
            aload 0 /* this */
            aload 1 /* internedName */
            aload 2 /* value */
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String internedName
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/jruby/RubyModule;
            0    1     1  internedName  Ljava/lang/String;
            0    1     2         value  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      internedName  
      value         

  public void defineConstant(java.lang.String, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 4303
            getstatic org.jruby.RubyModule.$assertionsDisabled:Z
            ifne 1
            aload 2 /* value */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 4305
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            invokestatic org.jruby.util.IdUtil.isValidConstantName:(Ljava/lang/String;)Z
            ifne 3
         2: .line 4306
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "bad constant name "
            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;
            aload 1 /* name */
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 4309
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual org.jruby.RubyModule.setConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         4: .line 4310
            return
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/jruby/RubyModule;
            0    5     1   name  Ljava/lang/String;
            0    5     2  value  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.embed.Extension()
    MethodParameters:
       Name  Flags
      name   
      value  

  public boolean isConstantDefined(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4317
            getstatic org.jruby.RubyModule.$assertionsDisabled:Z
            ifne 1
            aload 1 /* name */
            invokestatic org.jruby.util.IdUtil.isConstant:(Ljava/lang/String;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 4318
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            if_acmpne 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 2 /* isObject */
        start local 2 // boolean isObject
         4: .line 4320
            aload 0 /* this */
            astore 3 /* module */
        start local 3 // org.jruby.RubyModule module
         5: .line 4324
      StackMap locals: int org.jruby.RubyModule
      StackMap stack:
            aload 3 /* module */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.constantTableFetch:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            dup
            astore 4 /* value */
        start local 4 // java.lang.Object value
         6: ifnull 10
         7: .line 4325
            aload 4 /* value */
            getstatic org.jruby.RubyModule.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 8
            iconst_1
            ireturn
         8: .line 4326
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getAutoloadMap:()Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 9
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         9: iconst_0
            ireturn
        end local 4 // java.lang.Object value
        10: .line 4329
      StackMap locals:
      StackMap stack:
            iload 2 /* isObject */
            ifeq 11
            aload 3 /* module */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            dup
            astore 3 /* module */
            ifnonnull 5
        11: .line 4331
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // org.jruby.RubyModule module
        end local 2 // boolean isObject
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lorg/jruby/RubyModule;
            0   12     1      name  Ljava/lang/String;
            4   12     2  isObject  Z
            5   12     3    module  Lorg/jruby/RubyModule;
            6   10     4     value  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      name  

  public boolean fastIsConstantDefined(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String internedName
         0: .line 4335
            getstatic org.jruby.RubyModule.$assertionsDisabled:Z
            ifne 1
            aload 1 /* internedName */
            aload 1 /* internedName */
            invokevirtual java.lang.String.intern:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* internedName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " is not interned"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 4336
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyModule.$assertionsDisabled:Z
            ifne 2
            aload 1 /* internedName */
            invokestatic org.jruby.util.IdUtil.isConstant:(Ljava/lang/String;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 4337
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            if_acmpne 3
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 2 /* isObject */
        start local 2 // boolean isObject
         5: .line 4339
            aload 0 /* this */
            astore 3 /* module */
        start local 3 // org.jruby.RubyModule module
         6: .line 4343
      StackMap locals: int org.jruby.RubyModule
      StackMap stack:
            aload 3 /* module */
            aload 1 /* internedName */
            invokevirtual org.jruby.RubyModule.constantTableFetch:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            dup
            astore 4 /* value */
        start local 4 // java.lang.Object value
         7: ifnull 11
         8: .line 4344
            aload 4 /* value */
            getstatic org.jruby.RubyModule.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 9
            iconst_1
            ireturn
         9: .line 4345
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getAutoloadMap:()Ljava/util/Map;
            aload 1 /* internedName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 10
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        10: iconst_0
            ireturn
        end local 4 // java.lang.Object value
        11: .line 4348
      StackMap locals:
      StackMap stack:
            iload 2 /* isObject */
            ifeq 12
            aload 3 /* module */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            dup
            astore 3 /* module */
            ifnonnull 6
        12: .line 4350
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // org.jruby.RubyModule module
        end local 2 // boolean isObject
        end local 1 // java.lang.String internedName
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lorg/jruby/RubyModule;
            0   13     1  internedName  Ljava/lang/String;
            5   13     2      isObject  Z
            6   13     3        module  Lorg/jruby/RubyModule;
            7   11     4         value  Ljava/lang/Object;
    MethodParameters:
              Name  Flags
      internedName  

  public boolean fastIsConstantDefined19(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String internedName
         0: .line 4354
            aload 0 /* this */
            aload 1 /* internedName */
            iconst_1
            invokevirtual org.jruby.RubyModule.fastIsConstantDefined19:(Ljava/lang/String;Z)Z
            ireturn
        end local 1 // java.lang.String internedName
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/jruby/RubyModule;
            0    1     1  internedName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      internedName  

  public boolean fastIsConstantDefined19(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String internedName
        start local 2 // boolean inherit
         0: .line 4358
            getstatic org.jruby.RubyModule.$assertionsDisabled:Z
            ifne 1
            aload 1 /* internedName */
            aload 1 /* internedName */
            invokevirtual java.lang.String.intern:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* internedName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " is not interned"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 4359
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyModule.$assertionsDisabled:Z
            ifne 2
            aload 1 /* internedName */
            invokestatic org.jruby.util.IdUtil.isConstant:(Ljava/lang/String;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 4361
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            astore 3 /* module */
        start local 3 // org.jruby.RubyModule module
         3: goto 12
         4: .line 4363
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 3 /* module */
            aload 1 /* internedName */
            invokevirtual org.jruby.RubyModule.constantTableFetch:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            dup
            astore 4 /* value */
        start local 4 // java.lang.Object value
         5: ifnull 9
         6: .line 4364
            aload 4 /* value */
            getstatic org.jruby.RubyModule.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 7
            iconst_1
            ireturn
         7: .line 4365
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getAutoloadMap:()Ljava/util/Map;
            aload 1 /* internedName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 8
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         8: iconst_0
            ireturn
         9: .line 4367
      StackMap locals:
      StackMap stack:
            iload 2 /* inherit */
            ifne 11
        10: .line 4368
            goto 13
        end local 4 // java.lang.Object value
        11: .line 4361
      StackMap locals:
      StackMap stack:
            aload 3 /* module */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 3 /* module */
      StackMap locals:
      StackMap stack:
        12: aload 3 /* module */
            ifnonnull 4
        end local 3 // org.jruby.RubyModule module
        13: .line 4372
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // boolean inherit
        end local 1 // java.lang.String internedName
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lorg/jruby/RubyModule;
            0   14     1  internedName  Ljava/lang/String;
            0   14     2       inherit  Z
            3   13     3        module  Lorg/jruby/RubyModule;
            5   11     4         value  Ljava/lang/Object;
    MethodParameters:
              Name  Flags
      internedName  
      inherit       

  private org.jruby.exceptions.RaiseException cannotRemoveError(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String id
         0: .line 4380
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 4382
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 2 /* runtime */
            ldc "cannot remove "
            aload 2 /* runtime */
            aload 1 /* id */
            invokestatic org.jruby.util.RubyStringBuilder.ids:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
            ldc " for "
            aload 2 /* runtime */
            aload 0 /* this */
            invokestatic org.jruby.util.RubyStringBuilder.types:(Lorg/jruby/Ruby;Lorg/jruby/RubyModule;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.RubyStringBuilder.str:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
            aload 1 /* id */
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            areturn
        end local 2 // org.jruby.Ruby runtime
        end local 1 // java.lang.String id
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyModule;
            0    2     1       id  Ljava/lang/String;
            1    2     2  runtime  Lorg/jruby/Ruby;
    MethodParameters:
      Name  Flags
      id    

  public boolean hasInternalModuleVariable(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4400
            aload 0 /* this */
            astore 2 /* module */
        start local 2 // org.jruby.RubyModule module
         1: goto 4
         2: .line 4401
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 2 /* module */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.hasInternalVariable:(Ljava/lang/String;)Z
            ifeq 3
            iconst_1
            ireturn
         3: .line 4400
      StackMap locals:
      StackMap stack:
            aload 2 /* module */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 2 /* module */
      StackMap locals:
      StackMap stack:
         4: aload 2 /* module */
            ifnonnull 2
        end local 2 // org.jruby.RubyModule module
         5: .line 4404
            iconst_0
            ireturn
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/jruby/RubyModule;
            0    6     1    name  Ljava/lang/String;
            1    5     2  module  Lorg/jruby/RubyModule;
    MethodParameters:
      Name  Flags
      name  final

  public org.jruby.runtime.builtin.IRubyObject searchInternalModuleVariable(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4416
            aload 0 /* this */
            astore 2 /* module */
        start local 2 // org.jruby.RubyModule module
         1: goto 5
         2: .line 4417
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 2 /* module */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.getInternalVariable:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject
            astore 3 /* value */
        start local 3 // org.jruby.runtime.builtin.IRubyObject value
         3: .line 4418
            aload 3 /* value */
            ifnull 4
            aload 3 /* value */
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject value
         4: .line 4416
      StackMap locals:
      StackMap stack:
            aload 2 /* module */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 2 /* module */
      StackMap locals:
      StackMap stack:
         5: aload 2 /* module */
            ifnonnull 2
        end local 2 // org.jruby.RubyModule module
         6: .line 4421
            aconst_null
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/jruby/RubyModule;
            0    7     1    name  Ljava/lang/String;
            1    6     2  module  Lorg/jruby/RubyModule;
            3    4     3   value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      name  final

  public void setInternalModuleVariable(java.lang.String, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 4434
            aload 0 /* this */
            astore 3 /* module */
        start local 3 // org.jruby.RubyModule module
         1: goto 6
         2: .line 4435
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 3 /* module */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.hasInternalVariable:(Ljava/lang/String;)Z
            ifeq 5
         3: .line 4436
            aload 3 /* module */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual org.jruby.RubyModule.setInternalVariable:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 4437
            return
         5: .line 4434
      StackMap locals:
      StackMap stack:
            aload 3 /* module */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 3 /* module */
      StackMap locals:
      StackMap stack:
         6: aload 3 /* module */
            ifnonnull 2
        end local 3 // org.jruby.RubyModule module
         7: .line 4441
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual org.jruby.RubyModule.setInternalVariable:(Ljava/lang/String;Ljava/lang/Object;)V
         8: .line 4442
            return
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/jruby/RubyModule;
            0    9     1    name  Ljava/lang/String;
            0    9     2   value  Lorg/jruby/runtime/builtin/IRubyObject;
            1    7     3  module  Lorg/jruby/RubyModule;
    MethodParameters:
       Name  Flags
      name   final
      value  final

  protected java.util.Map<java.lang.String, org.jruby.runtime.builtin.IRubyObject> getClassVariables();
    descriptor: ()Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 4451
            getstatic org.jruby.RubyModule.CLASSVARS_UPDATER:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
            ifnonnull 2
         1: .line 4452
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getClassVariablesForWriteSynchronized:()Ljava/util/Map;
            areturn
         2: .line 4454
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getClassVariablesForWriteAtomic:()Ljava/util/Map;
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyModule;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;>;

  private java.util.Map<java.lang.String, org.jruby.runtime.builtin.IRubyObject> getClassVariablesForWriteSynchronized();
    descriptor: ()Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 4464
            aload 0 /* this */
            getfield org.jruby.RubyModule.classVariables:Ljava/util/Map;
            astore 1 /* myClassVars */
        start local 1 // java.util.Map myClassVars
         1: .line 4465
            aload 1 /* myClassVars */
            getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
            if_acmpne 11
         2: .line 4466
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         3: .line 4467
            aload 0 /* this */
            getfield org.jruby.RubyModule.classVariables:Ljava/util/Map;
            astore 1 /* myClassVars */
         4: .line 4469
            aload 1 /* myClassVars */
            getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
            if_acmpne 7
         5: .line 4470
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            iconst_4
            ldc 0.75
            iconst_2
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(IFI)V
            dup_x1
            putfield org.jruby.RubyModule.classVariables:Ljava/util/Map;
            aload 2
            monitorexit
         6: areturn
         7: .line 4472
      StackMap locals: java.util.Map org.jruby.RubyModule
      StackMap stack:
            aload 1 /* myClassVars */
            aload 2
            monitorexit
         8: areturn
         9: .line 4466
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
        10: athrow
        11: .line 4475
      StackMap locals:
      StackMap stack:
            aload 1 /* myClassVars */
            areturn
        end local 1 // java.util.Map myClassVars
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Lorg/jruby/RubyModule;
            1   12     1  myClassVars  Ljava/util/Map<Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;>;
      Exception table:
        from    to  target  type
           3     6       9  any
           7     8       9  any
           9    10       9  any
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;>;

  private java.util.Map<java.lang.String, org.jruby.runtime.builtin.IRubyObject> getClassVariablesForWriteAtomic();
    descriptor: ()Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 4487
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyModule.classVariables:Ljava/util/Map;
            astore 1 /* myClassVars */
        start local 1 // java.util.Map myClassVars
         1: .line 4489
            aload 1 /* myClassVars */
            getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
            if_acmpeq 2
            aload 1 /* myClassVars */
            areturn
         2: .line 4492
      StackMap locals: java.util.Map
      StackMap stack:
            new java.util.concurrent.ConcurrentHashMap
            dup
            iconst_4
            ldc 0.75
            iconst_2
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(IFI)V
            astore 2 /* newClassVars */
        start local 2 // java.util.Map newClassVars
         3: .line 4495
            getstatic org.jruby.RubyModule.CLASSVARS_UPDATER:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
            aload 0 /* this */
            aload 1 /* myClassVars */
            aload 2 /* newClassVars */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 0
         4: .line 4496
            aload 2 /* newClassVars */
            areturn
        end local 2 // java.util.Map newClassVars
        end local 1 // java.util.Map myClassVars
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/jruby/RubyModule;
            1    5     1   myClassVars  Ljava/util/Map<Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;>;
            3    5     2  newClassVars  Ljava/util/Map<Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;>;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;>;

  protected java.util.Map<java.lang.String, org.jruby.runtime.builtin.IRubyObject> getClassVariablesForRead();
    descriptor: ()Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 4502
            aload 0 /* this */
            getfield org.jruby.RubyModule.classVariables:Ljava/util/Map;
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;>;

  public boolean hasClassVariable(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4506
            getstatic org.jruby.RubyModule.$assertionsDisabled:Z
            ifne 1
            aload 1 /* name */
            invokestatic org.jruby.util.IdUtil.isClassVariable:(Ljava/lang/String;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 4507
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getClassVariablesForRead:()Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyModule;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public boolean fastHasClassVariable(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String internedName
         0: .line 4512
            aload 0 /* this */
            aload 1 /* internedName */
            invokevirtual org.jruby.RubyModule.hasClassVariable:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String internedName
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/jruby/RubyModule;
            0    1     1  internedName  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      internedName  

  public org.jruby.runtime.builtin.IRubyObject fetchClassVariable(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4516
            getstatic org.jruby.RubyModule.$assertionsDisabled:Z
            ifne 1
            aload 1 /* name */
            invokestatic org.jruby.util.IdUtil.isClassVariable:(Ljava/lang/String;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 4517
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getClassVariablesForRead:()Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyModule;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public org.jruby.runtime.builtin.IRubyObject fastFetchClassVariable(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String internedName
         0: .line 4522
            aload 0 /* this */
            aload 1 /* internedName */
            invokevirtual org.jruby.RubyModule.fetchClassVariable:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // java.lang.String internedName
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/jruby/RubyModule;
            0    1     1  internedName  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      internedName  

  public org.jruby.runtime.builtin.IRubyObject storeClassVariable(java.lang.String, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 4526
            getstatic org.jruby.RubyModule.$assertionsDisabled:Z
            ifne 2
            aload 1 /* name */
            invokestatic org.jruby.util.IdUtil.isClassVariable:(Ljava/lang/String;)Z
            ifeq 1
            aload 2 /* value */
            ifnonnull 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 4527
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.ensureClassVariablesSettable:()V
         3: .line 4528
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getClassVariables:()Ljava/util/Map;
            aload 1 /* name */
            aload 2 /* value */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 4529
            aload 2 /* value */
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/jruby/RubyModule;
            0    5     1   name  Ljava/lang/String;
            0    5     2  value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
       Name  Flags
      name   
      value  

  public org.jruby.runtime.builtin.IRubyObject fastStoreClassVariable(java.lang.String, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String internedName
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 4534
            aload 0 /* this */
            aload 1 /* internedName */
            aload 2 /* value */
            invokevirtual org.jruby.RubyModule.storeClassVariable:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String internedName
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/jruby/RubyModule;
            0    1     1  internedName  Ljava/lang/String;
            0    1     2         value  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      internedName  
      value         

  public org.jruby.runtime.builtin.IRubyObject deleteClassVariable(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4538
            getstatic org.jruby.RubyModule.$assertionsDisabled:Z
            ifne 1
            aload 1 /* name */
            invokestatic org.jruby.util.IdUtil.isClassVariable:(Ljava/lang/String;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 4539
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.ensureClassVariablesSettable:()V
         2: .line 4540
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getClassVariablesForRead:()Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyModule;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.util.List<java.lang.String> getClassVariableNameList();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 4544
            new java.util.ArrayList
            dup
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getClassVariablesForRead:()Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  protected final java.lang.String validateClassVariable(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4548
            aload 1 /* name */
            invokestatic org.jruby.util.IdUtil.isValidClassVariableName:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 4549
            aload 1 /* name */
            areturn
         2: .line 4551
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            ldc "`%1$s' is not allowed as a class variable name"
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyModule;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  protected final java.lang.String validateClassVariable(org.jruby.runtime.builtin.IRubyObject, java.lang.String);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject nameObj
        start local 2 // java.lang.String name
         0: .line 4555
            aload 2 /* name */
            invokestatic org.jruby.util.IdUtil.isValidClassVariableName:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 4556
            aload 2 /* name */
            areturn
         2: .line 4558
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            ldc "`%1$s' is not allowed as a class variable name"
            aload 0 /* this */
            aload 1 /* nameObj */
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 2 // java.lang.String name
        end local 1 // org.jruby.runtime.builtin.IRubyObject nameObj
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyModule;
            0    3     1  nameObj  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2     name  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      nameObj  
      name     

  protected java.lang.String validateClassVariable(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.runtime.builtin.IRubyObject object
         0: .line 4562
            aload 2 /* object */
            invokestatic org.jruby.util.TypeConverter.checkID:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubySymbol;
            astore 3 /* name */
        start local 3 // org.jruby.RubySymbol name
         1: .line 4564
            aload 3 /* name */
            invokevirtual org.jruby.RubySymbol.validClassVariableName:()Z
            ifne 3
         2: .line 4565
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* runtime */
            ldc "`"
            aload 1 /* runtime */
            aload 3 /* name */
            invokestatic org.jruby.util.RubyStringBuilder.ids:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            ldc "' is not allowed as a class variable name"
            invokestatic org.jruby.util.RubyStringBuilder.str:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* this */
            aload 2 /* object */
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 4568
      StackMap locals: org.jruby.RubySymbol
      StackMap stack:
            aload 3 /* name */
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            areturn
        end local 3 // org.jruby.RubySymbol name
        end local 2 // org.jruby.runtime.builtin.IRubyObject object
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyModule;
            0    4     1  runtime  Lorg/jruby/Ruby;
            0    4     2   object  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     3     name  Lorg/jruby/RubySymbol;
    MethodParameters:
         Name  Flags
      runtime  
      object   

  protected final void ensureClassVariablesSettable();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 4572
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.checkAndRaiseIfFrozen:()V
         1: .line 4573
            return
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyModule;

  public boolean hasConstant(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4582
            getstatic org.jruby.RubyModule.$assertionsDisabled:Z
            ifne 1
            aload 1 /* name */
            invokestatic org.jruby.util.IdUtil.isConstant:(Ljava/lang/String;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 4583
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.constantTableContains:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyModule;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public boolean fastHasConstant(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String internedName
         0: .line 4588
            aload 0 /* this */
            aload 1 /* internedName */
            invokevirtual org.jruby.RubyModule.hasConstant:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String internedName
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/jruby/RubyModule;
            0    1     1  internedName  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      internedName  

  public org.jruby.runtime.builtin.IRubyObject fetchConstant(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4593
            aload 0 /* this */
            aload 1 /* name */
            iconst_1
            invokevirtual org.jruby.RubyModule.fetchConstant:(Ljava/lang/String;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public org.jruby.runtime.builtin.IRubyObject fetchConstant(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // boolean includePrivate
         0: .line 4597
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.constantEntryFetch:(Ljava/lang/String;)Lorg/jruby/RubyModule$ConstantEntry;
            astore 3 /* entry */
        start local 3 // org.jruby.RubyModule$ConstantEntry entry
         1: .line 4599
            aload 3 /* entry */
            ifnonnull 2
            aconst_null
            areturn
         2: .line 4601
      StackMap locals: org.jruby.RubyModule$ConstantEntry
      StackMap stack:
            aload 3 /* entry */
            getfield org.jruby.RubyModule$ConstantEntry.hidden:Z
            ifeq 6
            iload 2 /* includePrivate */
            ifne 6
         3: .line 4602
            aload 0 /* this */
            astore 4 /* recv */
        start local 4 // org.jruby.RubyModule recv
         4: .line 4603
            aload 4 /* recv */
            invokevirtual org.jruby.RubyModule.isIncluded:()Z
            ifeq 5
            aload 4 /* recv */
            invokevirtual org.jruby.RubyModule.getNonIncludedClass:()Lorg/jruby/RubyModule;
            astore 4 /* recv */
         5: .line 4604
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "private constant "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "::"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " referenced"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* recv */
            aload 1 /* name */
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 4 // org.jruby.RubyModule recv
         6: .line 4606
      StackMap locals:
      StackMap stack:
            aload 3 /* entry */
            getfield org.jruby.RubyModule$ConstantEntry.deprecated:Z
            ifeq 12
         7: .line 4607
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         8: .line 4608
            ldc "Object"
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         9: .line 4609
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            getstatic org.jruby.common.IRubyWarnings$ID.CONSTANT_DEPRECATED:Lorg/jruby/common/IRubyWarnings$ID;
            new java.lang.StringBuilder
            dup
            ldc "constant ::"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is deprecated"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
        10: .line 4610
            goto 12
        11: .line 4612
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            getstatic org.jruby.common.IRubyWarnings$ID.CONSTANT_DEPRECATED:Lorg/jruby/common/IRubyWarnings$ID;
            new java.lang.StringBuilder
            dup
            ldc "constant "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "::"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is deprecated"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
        end local 4 // org.jruby.Ruby runtime
        12: .line 4616
      StackMap locals:
      StackMap stack:
            aload 3 /* entry */
            getfield org.jruby.RubyModule$ConstantEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.RubyModule$ConstantEntry entry
        end local 2 // boolean includePrivate
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lorg/jruby/RubyModule;
            0   13     1            name  Ljava/lang/String;
            0   13     2  includePrivate  Z
            1   13     3           entry  Lorg/jruby/RubyModule$ConstantEntry;
            4    6     4            recv  Lorg/jruby/RubyModule;
            8   12     4         runtime  Lorg/jruby/Ruby;
    MethodParameters:
                Name  Flags
      name            
      includePrivate  

  public org.jruby.runtime.builtin.IRubyObject fastFetchConstant(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String internedName
         0: .line 4621
            aload 0 /* this */
            aload 1 /* internedName */
            invokevirtual org.jruby.RubyModule.fetchConstant:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // java.lang.String internedName
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/jruby/RubyModule;
            0    1     1  internedName  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      internedName  

  public org.jruby.runtime.builtin.IRubyObject storeConstant(java.lang.String, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 4625
            getstatic org.jruby.RubyModule.$assertionsDisabled:Z
            ifne 1
            aload 2 /* value */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            ldc "value is null"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 4626
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyModule.$assertionsDisabled:Z
            ifne 2
            aload 1 /* name */
            invokestatic org.jruby.util.IdUtil.isConstant:(Ljava/lang/String;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid constant name: "
            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.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 4628
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.ensureConstantsSettable:()V
         3: .line 4629
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual org.jruby.RubyModule.constantTableStore:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/jruby/RubyModule;
            0    4     1   name  Ljava/lang/String;
            0    4     2  value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
       Name  Flags
      name   
      value  

  public org.jruby.runtime.builtin.IRubyObject storeConstant(java.lang.String, org.jruby.runtime.builtin.IRubyObject, boolean);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
        start local 3 // boolean hidden
         0: .line 4633
            getstatic org.jruby.RubyModule.$assertionsDisabled:Z
            ifne 1
            aload 2 /* value */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            ldc "value is null"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 4637
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.ensureConstantsSettable:()V
         2: .line 4638
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            iload 3 /* hidden */
            invokevirtual org.jruby.RubyModule.constantTableStore:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // boolean hidden
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/jruby/RubyModule;
            0    3     1    name  Ljava/lang/String;
            0    3     2   value  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3  hidden  Z
    MethodParameters:
        Name  Flags
      name    
      value   
      hidden  

  private org.jruby.runtime.builtin.IRubyObject storeConstant(java.lang.String, org.jruby.runtime.builtin.IRubyObject, boolean, boolean);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
        start local 3 // boolean hidden
        start local 4 // boolean deprecated
         0: .line 4643
            getstatic org.jruby.RubyModule.$assertionsDisabled:Z
            ifne 1
            aload 2 /* value */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            ldc "value is null"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 4644
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyModule.$assertionsDisabled:Z
            ifne 2
            aload 1 /* name */
            invokestatic org.jruby.util.IdUtil.isConstant:(Ljava/lang/String;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid constant name: "
            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.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 4646
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.ensureConstantsSettable:()V
         3: .line 4647
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            iload 3 /* hidden */
            iload 4 /* deprecated */
            invokevirtual org.jruby.RubyModule.constantTableStore:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // boolean deprecated
        end local 3 // boolean hidden
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/jruby/RubyModule;
            0    4     1        name  Ljava/lang/String;
            0    4     2       value  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     3      hidden  Z
            0    4     4  deprecated  Z
    MethodParameters:
            Name  Flags
      name        
      value       
      hidden      
      deprecated  

  public org.jruby.runtime.builtin.IRubyObject fastStoreConstant(java.lang.String, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String internedName
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 4652
            aload 0 /* this */
            aload 1 /* internedName */
            aload 2 /* value */
            invokevirtual org.jruby.RubyModule.storeConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String internedName
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/jruby/RubyModule;
            0    1     1  internedName  Ljava/lang/String;
            0    1     2         value  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      internedName  
      value         

  public org.jruby.runtime.builtin.IRubyObject deleteConstant(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4657
            getstatic org.jruby.RubyModule.$assertionsDisabled:Z
            ifne 1
            aload 1 /* name */
            invokestatic org.jruby.util.IdUtil.isConstant:(Ljava/lang/String;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 4658
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.ensureConstantsSettable:()V
         2: .line 4659
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.constantTableRemove:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyModule;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.util.List<org.jruby.runtime.builtin.Variable<org.jruby.runtime.builtin.IRubyObject>> getStoredConstantList();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 4664
            aconst_null
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
    Signature: ()Ljava/util/List<Lorg/jruby/runtime/builtin/Variable<Lorg/jruby/runtime/builtin/IRubyObject;>;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public java.util.List<java.lang.String> getStoredConstantNameList();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 4669
            new java.util.ArrayList
            dup
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getConstantMap:()Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public java.util.Collection<java.lang.String> getConstantNames();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 4676
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getConstantMap:()Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
    Signature: ()Ljava/util/Collection<Ljava/lang/String;>;

  public java.util.Collection<java.lang.String> getConstantNames(boolean);
    descriptor: (Z)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // boolean includePrivate
         0: .line 4680
            iload 1 /* includePrivate */
            ifeq 1
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getConstantNames:()Ljava/util/Collection;
            areturn
         1: .line 4682
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getConstantMap:()Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            ifne 3
         2: .line 4683
            getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
            areturn
         3: .line 4686
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getConstantMap:()Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokespecial java.util.HashSet.<init>:(I)V
            astore 2 /* publicNames */
        start local 2 // java.util.HashSet publicNames
         4: .line 4688
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getConstantMap:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: org.jruby.RubyModule int java.util.HashSet top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
         6: .line 4689
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.jruby.RubyModule$ConstantEntry
            getfield org.jruby.RubyModule$ConstantEntry.hidden:Z
            ifeq 7
            goto 8
         7: .line 4690
      StackMap locals: org.jruby.RubyModule int java.util.HashSet java.util.Map$Entry java.util.Iterator
      StackMap stack:
            aload 2 /* publicNames */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.util.Map$Entry entry
         8: .line 4688
      StackMap locals: org.jruby.RubyModule int java.util.HashSet top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         9: .line 4692
            aload 2 /* publicNames */
            areturn
        end local 2 // java.util.HashSet publicNames
        end local 1 // boolean includePrivate
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lorg/jruby/RubyModule;
            0   10     1  includePrivate  Z
            4   10     2     publicNames  Ljava/util/HashSet<Ljava/lang/String;>;
            6    8     3           entry  Ljava/util/Map$Entry<Ljava/lang/String;Lorg/jruby/RubyModule$ConstantEntry;>;
    Signature: (Z)Ljava/util/Collection<Ljava/lang/String;>;
    MethodParameters:
                Name  Flags
      includePrivate  

  protected final java.lang.String validateConstant(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.builtin.IRubyObject name
         0: .line 4701
            aload 1 /* name */
            aload 0 /* this */
            aload 1 /* name */
            invokedynamic accept(Lorg/jruby/RubyModule;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubySymbol$ObjBooleanConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Z)V
                  org/jruby/RubyModule.lambda$5(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubySymbol;Z)V (7)
                  (Lorg/jruby/RubySymbol;Z)V
            invokestatic org.jruby.RubySymbol.retrieveIDSymbol:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubySymbol$ObjBooleanConsumer;)Lorg/jruby/RubySymbol;
         1: .line 4705
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
         2: .line 4701
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyModule;
            0    3     1  name  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      name  

  protected final java.lang.String validateConstant(java.lang.String, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.runtime.builtin.IRubyObject errorName
         0: .line 4710
            aload 1 /* name */
            invokestatic org.jruby.util.IdUtil.isValidConstantName:(Ljava/lang/String;)Z
            ifeq 1
            aload 1 /* name */
            areturn
         1: .line 4712
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         2: .line 4714
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getDefaultInternalEncoding:()Lorg/jcodings/Encoding;
            astore 4 /* resultEncoding */
        start local 4 // org.jcodings.Encoding resultEncoding
         3: .line 4715
            aload 4 /* resultEncoding */
            ifnonnull 4
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getDefaultExternalEncoding:()Lorg/jcodings/Encoding;
            astore 4 /* resultEncoding */
         4: .line 4718
      StackMap locals: org.jruby.Ruby org.jcodings.Encoding
      StackMap stack:
            aload 2 /* errorName */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asString:()Lorg/jruby/RubyString;
            astore 5 /* nameString */
        start local 5 // org.jruby.RubyString nameString
         5: .line 4721
            aload 5 /* nameString */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            aload 4 /* resultEncoding */
            if_acmpeq 6
            aload 5 /* nameString */
            invokevirtual org.jruby.RubyString.isAsciiOnly:()Z
            ifeq 7
         6: .line 4722
      StackMap locals: org.jruby.RubyString
      StackMap stack:
            aload 5 /* nameString */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            iconst_0
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmple 8
         7: .line 4723
      StackMap locals:
      StackMap stack:
            aload 5 /* nameString */
            invokevirtual org.jruby.RubyString.inspect:()Lorg/jruby/RubyString;
            astore 5 /* nameString */
         8: .line 4726
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "wrong constant name "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* nameString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* name */
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 5 // org.jruby.RubyString nameString
        end local 4 // org.jcodings.Encoding resultEncoding
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject errorName
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lorg/jruby/RubyModule;
            0    9     1            name  Ljava/lang/String;
            0    9     2       errorName  Lorg/jruby/runtime/builtin/IRubyObject;
            2    9     3         runtime  Lorg/jruby/Ruby;
            3    9     4  resultEncoding  Lorg/jcodings/Encoding;
            5    9     5      nameString  Lorg/jruby/RubyString;
    MethodParameters:
           Name  Flags
      name       
      errorName  

  protected final void ensureConstantsSettable();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 4730
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.checkAndRaiseIfFrozen:()V
         1: .line 4731
            return
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyModule;

  private void checkAndRaiseIfFrozen();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 4734
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.isFrozen:()Z
            ifeq 6
         1: .line 4735
            aload 0 /* this */
            instanceof org.jruby.RubyClass
            ifeq 5
         2: .line 4736
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getBaseName:()Ljava/lang/String;
            ifnonnull 4
         3: .line 4739
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getName:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newFrozenError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 4741
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "#<Class:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 62
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newFrozenError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         5: .line 4743
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            ldc "Module"
            invokevirtual org.jruby.Ruby.newFrozenError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         6: .line 4745
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/jruby/RubyModule;
    Exceptions:
      throws org.jruby.exceptions.RaiseException

  public final void checkFrozen();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 4749
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.isFrozen:()Z
            ifeq 4
         1: .line 4750
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.isClass:()Z
            ifeq 2
            ldc "class"
            goto 3
      StackMap locals:
      StackMap stack: org.jruby.Ruby
         2: ldc "module"
      StackMap locals: org.jruby.RubyModule
      StackMap stack: org.jruby.Ruby java.lang.String
         3: invokevirtual org.jruby.Ruby.newFrozenError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 4752
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/jruby/RubyModule;

  protected boolean constantTableContains(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4755
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getConstantMap:()Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  protected org.jruby.runtime.builtin.IRubyObject constantTableFetch(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4759
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getConstantMap:()Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.RubyModule$ConstantEntry
            astore 2 /* entry */
        start local 2 // org.jruby.RubyModule$ConstantEntry entry
         1: .line 4760
            aload 2 /* entry */
            ifnonnull 2
            aconst_null
            areturn
         2: .line 4761
      StackMap locals: org.jruby.RubyModule$ConstantEntry
      StackMap stack:
            aload 2 /* entry */
            getfield org.jruby.RubyModule$ConstantEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.RubyModule$ConstantEntry entry
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/jruby/RubyModule;
            0    3     1   name  Ljava/lang/String;
            1    3     2  entry  Lorg/jruby/RubyModule$ConstantEntry;
    MethodParameters:
      Name  Flags
      name  

  protected org.jruby.RubyModule$ConstantEntry constantEntryFetch(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/RubyModule$ConstantEntry;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4765
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getConstantMap:()Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.RubyModule$ConstantEntry
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  protected org.jruby.runtime.builtin.IRubyObject constantTableStore(java.lang.String, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 4769
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getConstantMapForWrite:()Ljava/util/Map;
            astore 3 /* constMap */
        start local 3 // java.util.Map constMap
         1: .line 4770
            iconst_0
            istore 4 /* hidden */
        start local 4 // boolean hidden
         2: .line 4772
            aload 3 /* constMap */
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.RubyModule$ConstantEntry
            astore 5 /* entry */
        start local 5 // org.jruby.RubyModule$ConstantEntry entry
         3: .line 4773
            aload 5 /* entry */
            ifnull 4
            aload 5 /* entry */
            getfield org.jruby.RubyModule$ConstantEntry.hidden:Z
            istore 4 /* hidden */
         4: .line 4775
      StackMap locals: java.util.Map int org.jruby.RubyModule$ConstantEntry
      StackMap stack:
            aload 3 /* constMap */
            aload 1 /* name */
            new org.jruby.RubyModule$ConstantEntry
            dup
            aload 2 /* value */
            iload 4 /* hidden */
            invokespecial org.jruby.RubyModule$ConstantEntry.<init>:(Lorg/jruby/runtime/builtin/IRubyObject;Z)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 4776
            aload 2 /* value */
            areturn
        end local 5 // org.jruby.RubyModule$ConstantEntry entry
        end local 4 // boolean hidden
        end local 3 // java.util.Map constMap
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/jruby/RubyModule;
            0    6     1      name  Ljava/lang/String;
            0    6     2     value  Lorg/jruby/runtime/builtin/IRubyObject;
            1    6     3  constMap  Ljava/util/Map<Ljava/lang/String;Lorg/jruby/RubyModule$ConstantEntry;>;
            2    6     4    hidden  Z
            3    6     5     entry  Lorg/jruby/RubyModule$ConstantEntry;
    MethodParameters:
       Name  Flags
      name   
      value  

  protected org.jruby.runtime.builtin.IRubyObject constantTableStore(java.lang.String, org.jruby.runtime.builtin.IRubyObject, boolean);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
        start local 3 // boolean hidden
         0: .line 4780
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            iload 3 /* hidden */
            iconst_0
            invokevirtual org.jruby.RubyModule.constantTableStore:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // boolean hidden
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/jruby/RubyModule;
            0    1     1    name  Ljava/lang/String;
            0    1     2   value  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3  hidden  Z
    MethodParameters:
        Name  Flags
      name    
      value   
      hidden  

  protected org.jruby.runtime.builtin.IRubyObject constantTableStore(java.lang.String, org.jruby.runtime.builtin.IRubyObject, boolean, boolean);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
        start local 3 // boolean hidden
        start local 4 // boolean deprecated
         0: .line 4784
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getConstantMapForWrite:()Ljava/util/Map;
            astore 5 /* constMap */
        start local 5 // java.util.Map constMap
         1: .line 4785
            aload 5 /* constMap */
            aload 1 /* name */
            new org.jruby.RubyModule$ConstantEntry
            dup
            aload 2 /* value */
            iload 3 /* hidden */
            iload 4 /* deprecated */
            invokespecial org.jruby.RubyModule$ConstantEntry.<init>:(Lorg/jruby/runtime/builtin/IRubyObject;ZZ)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 4786
            aload 2 /* value */
            areturn
        end local 5 // java.util.Map constMap
        end local 4 // boolean deprecated
        end local 3 // boolean hidden
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/jruby/RubyModule;
            0    3     1        name  Ljava/lang/String;
            0    3     2       value  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3      hidden  Z
            0    3     4  deprecated  Z
            1    3     5    constMap  Ljava/util/Map<Ljava/lang/String;Lorg/jruby/RubyModule$ConstantEntry;>;
    MethodParameters:
            Name  Flags
      name        
      value       
      hidden      
      deprecated  

  protected org.jruby.runtime.builtin.IRubyObject constantTableRemove(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4790
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getConstantMapForWrite:()Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.RubyModule$ConstantEntry
            astore 2 /* entry */
        start local 2 // org.jruby.RubyModule$ConstantEntry entry
         1: .line 4791
            aload 2 /* entry */
            ifnonnull 2
            aconst_null
            areturn
         2: .line 4792
      StackMap locals: org.jruby.RubyModule$ConstantEntry
      StackMap stack:
            aload 2 /* entry */
            getfield org.jruby.RubyModule$ConstantEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.RubyModule$ConstantEntry entry
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/jruby/RubyModule;
            0    3     1   name  Ljava/lang/String;
            1    3     2  entry  Lorg/jruby/RubyModule$ConstantEntry;
    MethodParameters:
      Name  Flags
      name  

  protected final void defineAutoload(java.lang.String, org.jruby.RubyModule$AutoloadMethod);
    descriptor: (Ljava/lang/String;Lorg/jruby/RubyModule$AutoloadMethod;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.RubyModule$AutoloadMethod loadMethod
         0: .line 4799
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getAutoloadMap:()Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.RubyModule$Autoload
            astore 3 /* existingAutoload */
        start local 3 // org.jruby.RubyModule$Autoload existingAutoload
         1: .line 4800
            aload 3 /* existingAutoload */
            ifnull 2
            aload 3 /* existingAutoload */
            invokevirtual org.jruby.RubyModule$Autoload.getValue:()Lorg/jruby/runtime/builtin/IRubyObject;
            ifnonnull 4
         2: .line 4801
      StackMap locals: org.jruby.RubyModule$Autoload
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            getstatic org.jruby.RubyObject.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyModule.storeConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         3: .line 4802
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getAutoloadMapForWrite:()Ljava/util/Map;
            aload 1 /* name */
            new org.jruby.RubyModule$Autoload
            dup
            aload 2 /* loadMethod */
            invokespecial org.jruby.RubyModule$Autoload.<init>:(Lorg/jruby/RubyModule$AutoloadMethod;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 4804
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.jruby.RubyModule$Autoload existingAutoload
        end local 2 // org.jruby.RubyModule$AutoloadMethod loadMethod
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0              this  Lorg/jruby/RubyModule;
            0    5     1              name  Ljava/lang/String;
            0    5     2        loadMethod  Lorg/jruby/RubyModule$AutoloadMethod;
            1    5     3  existingAutoload  Lorg/jruby/RubyModule$Autoload;
    MethodParameters:
            Name  Flags
      name        
      loadMethod  

  protected final org.jruby.runtime.builtin.IRubyObject finishAutoload(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4810
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getAutoloadMap:()Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.RubyModule$Autoload
            astore 2 /* autoload */
        start local 2 // org.jruby.RubyModule$Autoload autoload
         1: .line 4811
            aload 2 /* autoload */
            ifnonnull 2
            aconst_null
            areturn
         2: .line 4812
      StackMap locals: org.jruby.RubyModule$Autoload
      StackMap stack:
            aload 2 /* autoload */
            invokevirtual org.jruby.RubyModule$Autoload.getValue:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* value */
        start local 3 // org.jruby.runtime.builtin.IRubyObject value
         3: .line 4813
            aload 3 /* value */
            ifnull 5
         4: .line 4814
            aload 0 /* this */
            aload 1 /* name */
            aload 3 /* value */
            invokevirtual org.jruby.RubyModule.storeConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         5: .line 4816
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.removeAutoload:(Ljava/lang/String;)V
         6: .line 4817
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.invalidateConstantCache:(Ljava/lang/String;)V
         7: .line 4818
            aload 3 /* value */
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject value
        end local 2 // org.jruby.RubyModule$Autoload autoload
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/jruby/RubyModule;
            0    8     1      name  Ljava/lang/String;
            1    8     2  autoload  Lorg/jruby/RubyModule$Autoload;
            3    8     3     value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      name  

  public final org.jruby.runtime.builtin.IRubyObject getAutoloadConstant(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4827
            aload 0 /* this */
            aload 1 /* name */
            iconst_1
            invokevirtual org.jruby.RubyModule.getAutoloadConstant:(Ljava/lang/String;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  protected org.jruby.runtime.builtin.IRubyObject getAutoloadConstant(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // boolean loadConstant
         0: .line 4831
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getAutoloadMap:()Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.RubyModule$Autoload
            astore 3 /* autoload */
        start local 3 // org.jruby.RubyModule$Autoload autoload
         1: .line 4832
            aload 3 /* autoload */
            ifnonnull 2
            aconst_null
            areturn
         2: .line 4833
      StackMap locals: org.jruby.RubyModule$Autoload
      StackMap stack:
            iload 2 /* loadConstant */
            ifne 3
            getstatic org.jruby.RubyObject.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 4834
      StackMap locals:
      StackMap stack:
            aload 3 /* autoload */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            invokevirtual org.jruby.RubyModule$Autoload.getConstant:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.RubyModule$Autoload autoload
        end local 2 // boolean loadConstant
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/jruby/RubyModule;
            0    4     1          name  Ljava/lang/String;
            0    4     2  loadConstant  Z
            1    4     3      autoload  Lorg/jruby/RubyModule$Autoload;
    MethodParameters:
              Name  Flags
      name          
      loadConstant  

  private boolean setAutoloadConstant(java.lang.String, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 4841
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getAutoloadMap:()Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.RubyModule$Autoload
            astore 3 /* autoload */
        start local 3 // org.jruby.RubyModule$Autoload autoload
         1: .line 4842
            aload 3 /* autoload */
            ifnull 5
         2: .line 4843
            aload 3 /* autoload */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 2 /* value */
            invokevirtual org.jruby.RubyModule$Autoload.setConstant:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            istore 4 /* set */
        start local 4 // boolean set
         3: .line 4844
            iload 4 /* set */
            ifne 4
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.RubyModule.removeAutoload:(Ljava/lang/String;)V
         4: .line 4845
      StackMap locals: org.jruby.RubyModule$Autoload int
      StackMap stack:
            iload 4 /* set */
            ireturn
        end local 4 // boolean set
         5: .line 4847
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // org.jruby.RubyModule$Autoload autoload
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/jruby/RubyModule;
            0    6     1      name  Ljava/lang/String;
            0    6     2     value  Lorg/jruby/runtime/builtin/IRubyObject;
            1    6     3  autoload  Lorg/jruby/RubyModule$Autoload;
            3    5     4       set  Z
    MethodParameters:
       Name  Flags
      name   
      value  

  private void removeAutoload(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4854
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getAutoloadMapForWrite:()Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 4855
            return
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyModule;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  protected org.jruby.RubyString getAutoloadFile(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/RubyString;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
         0: .line 4858
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getAutoloadMap:()Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.RubyModule$Autoload
            astore 2 /* autoload */
        start local 2 // org.jruby.RubyModule$Autoload autoload
         1: .line 4859
            aload 2 /* autoload */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: org.jruby.RubyModule$Autoload
      StackMap stack:
         2: aload 2 /* autoload */
            invokevirtual org.jruby.RubyModule$Autoload.getFile:()Lorg/jruby/RubyString;
      StackMap locals:
      StackMap stack: org.jruby.RubyString
         3: areturn
        end local 2 // org.jruby.RubyModule$Autoload autoload
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/jruby/RubyModule;
            0    4     1      name  Ljava/lang/String;
            1    4     2  autoload  Lorg/jruby/RubyModule$Autoload;
    MethodParameters:
      Name  Flags
      name  

  private static void define(org.jruby.RubyModule, org.jruby.anno.JavaMethodDescriptor, java.lang.String, org.jruby.internal.runtime.methods.DynamicMethod);
    descriptor: (Lorg/jruby/RubyModule;Lorg/jruby/anno/JavaMethodDescriptor;Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=14, args_size=4
        start local 0 // org.jruby.RubyModule module
        start local 1 // org.jruby.anno.JavaMethodDescriptor desc
        start local 2 // java.lang.String simpleName
        start local 3 // org.jruby.internal.runtime.methods.DynamicMethod dynamicMethod
         0: .line 4863
            aload 1 /* desc */
            getfield org.jruby.anno.JavaMethodDescriptor.anno:Lorg/jruby/anno/JRubyMethod;
            astore 4 /* jrubyMethod */
        start local 4 // org.jruby.anno.JRubyMethod jrubyMethod
         1: .line 4864
            aload 4 /* jrubyMethod */
            invokeinterface org.jruby.anno.JRubyMethod.name:()[Ljava/lang/String;
            astore 5 /* names */
        start local 5 // java.lang.String[] names
         2: .line 4865
            aload 4 /* jrubyMethod */
            invokeinterface org.jruby.anno.JRubyMethod.alias:()[Ljava/lang/String;
            astore 6 /* aliases */
        start local 6 // java.lang.String[] aliases
         3: .line 4869
            aload 4 /* jrubyMethod */
            invokeinterface org.jruby.anno.JRubyMethod.meta:()Z
            ifeq 23
         4: .line 4870
            aload 0 /* module */
            invokevirtual org.jruby.RubyModule.getSingletonClass:()Lorg/jruby/RubyClass;
            astore 7 /* singletonClass */
        start local 7 // org.jruby.RubyModule singletonClass
         5: .line 4871
            aload 3 /* dynamicMethod */
            aload 7 /* singletonClass */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.setImplementationClass:(Lorg/jruby/RubyModule;)V
         6: .line 4874
            aload 5 /* names */
            arraylength
            ifne 10
         7: .line 4875
            aload 1 /* desc */
            getfield org.jruby.anno.JavaMethodDescriptor.name:Ljava/lang/String;
            astore 8 /* baseName */
        start local 8 // java.lang.String baseName
         8: .line 4876
            aload 7 /* singletonClass */
            aload 8 /* baseName */
            aload 3 /* dynamicMethod */
            invokevirtual org.jruby.RubyModule.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
         9: .line 4877
            goto 16
        end local 8 // java.lang.String baseName
        10: .line 4878
      StackMap locals: org.jruby.RubyModule org.jruby.anno.JavaMethodDescriptor java.lang.String org.jruby.internal.runtime.methods.DynamicMethod org.jruby.anno.JRubyMethod java.lang.String[] java.lang.String[] org.jruby.RubyModule
      StackMap stack:
            aload 5 /* names */
            iconst_0
            aaload
            astore 8 /* baseName */
        start local 8 // java.lang.String baseName
        11: .line 4879
            aload 5 /* names */
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 15
      StackMap locals: org.jruby.RubyModule org.jruby.anno.JavaMethodDescriptor java.lang.String org.jruby.internal.runtime.methods.DynamicMethod org.jruby.anno.JRubyMethod java.lang.String[] java.lang.String[] org.jruby.RubyModule java.lang.String top int int java.lang.String[]
      StackMap stack:
        12: aload 12
            iload 10
            aaload
            astore 9 /* name */
        start local 9 // java.lang.String name
        13: aload 7 /* singletonClass */
            aload 9 /* name */
            aload 3 /* dynamicMethod */
            invokevirtual org.jruby.RubyModule.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
        end local 9 // java.lang.String name
        14: iinc 10 1
      StackMap locals:
      StackMap stack:
        15: iload 10
            iload 11
            if_icmplt 12
        16: .line 4882
      StackMap locals: org.jruby.RubyModule org.jruby.anno.JavaMethodDescriptor java.lang.String org.jruby.internal.runtime.methods.DynamicMethod org.jruby.anno.JRubyMethod java.lang.String[] java.lang.String[] org.jruby.RubyModule java.lang.String
      StackMap stack:
            aload 6 /* aliases */
            arraylength
            ifle 60
        17: .line 4883
            aload 6 /* aliases */
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 21
      StackMap locals: org.jruby.RubyModule org.jruby.anno.JavaMethodDescriptor java.lang.String org.jruby.internal.runtime.methods.DynamicMethod org.jruby.anno.JRubyMethod java.lang.String[] java.lang.String[] org.jruby.RubyModule java.lang.String top int int java.lang.String[]
      StackMap stack:
        18: aload 12
            iload 10
            aaload
            astore 9 /* alias */
        start local 9 // java.lang.String alias
        19: aload 7 /* singletonClass */
            aload 9 /* alias */
            aload 8 /* baseName */
            invokevirtual org.jruby.RubyModule.defineAlias:(Ljava/lang/String;Ljava/lang/String;)V
        end local 9 // java.lang.String alias
        20: iinc 10 1
      StackMap locals:
      StackMap stack:
        21: iload 10
            iload 11
            if_icmplt 18
        end local 8 // java.lang.String baseName
        22: .line 4885
            goto 60
        end local 7 // org.jruby.RubyModule singletonClass
        23: .line 4887
      StackMap locals: org.jruby.RubyModule org.jruby.anno.JavaMethodDescriptor java.lang.String org.jruby.internal.runtime.methods.DynamicMethod org.jruby.anno.JRubyMethod java.lang.String[] java.lang.String[]
      StackMap stack:
            aload 5 /* names */
            arraylength
            ifne 27
        24: .line 4888
            aload 1 /* desc */
            getfield org.jruby.anno.JavaMethodDescriptor.name:Ljava/lang/String;
            astore 8 /* baseName */
        start local 8 // java.lang.String baseName
        25: .line 4889
            aload 0 /* module */
            invokevirtual org.jruby.RubyModule.getMethodLocation:()Lorg/jruby/RubyModule;
            aload 8 /* baseName */
            aload 3 /* dynamicMethod */
            invokevirtual org.jruby.RubyModule.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
        26: .line 4890
            goto 33
        end local 8 // java.lang.String baseName
        27: .line 4891
      StackMap locals:
      StackMap stack:
            aload 5 /* names */
            iconst_0
            aaload
            astore 8 /* baseName */
        start local 8 // java.lang.String baseName
        28: .line 4892
            aload 5 /* names */
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 32
      StackMap locals: org.jruby.RubyModule org.jruby.anno.JavaMethodDescriptor java.lang.String org.jruby.internal.runtime.methods.DynamicMethod org.jruby.anno.JRubyMethod java.lang.String[] java.lang.String[] top java.lang.String top int int java.lang.String[]
      StackMap stack:
        29: aload 12
            iload 10
            aaload
            astore 9 /* name */
        start local 9 // java.lang.String name
        30: aload 0 /* module */
            invokevirtual org.jruby.RubyModule.getMethodLocation:()Lorg/jruby/RubyModule;
            aload 9 /* name */
            aload 3 /* dynamicMethod */
            invokevirtual org.jruby.RubyModule.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
        end local 9 // java.lang.String name
        31: iinc 10 1
      StackMap locals:
      StackMap stack:
        32: iload 10
            iload 11
            if_icmplt 29
        33: .line 4895
      StackMap locals: org.jruby.RubyModule org.jruby.anno.JavaMethodDescriptor java.lang.String org.jruby.internal.runtime.methods.DynamicMethod org.jruby.anno.JRubyMethod java.lang.String[] java.lang.String[] top java.lang.String
      StackMap stack:
            aload 6 /* aliases */
            arraylength
            ifle 39
        34: .line 4896
            aload 6 /* aliases */
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 38
      StackMap locals: org.jruby.RubyModule org.jruby.anno.JavaMethodDescriptor java.lang.String org.jruby.internal.runtime.methods.DynamicMethod org.jruby.anno.JRubyMethod java.lang.String[] java.lang.String[] top java.lang.String top int int java.lang.String[]
      StackMap stack:
        35: aload 12
            iload 10
            aaload
            astore 9 /* alias */
        start local 9 // java.lang.String alias
        36: aload 0 /* module */
            aload 9 /* alias */
            aload 8 /* baseName */
            invokevirtual org.jruby.RubyModule.defineAlias:(Ljava/lang/String;Ljava/lang/String;)V
        end local 9 // java.lang.String alias
        37: iinc 10 1
      StackMap locals:
      StackMap stack:
        38: iload 10
            iload 11
            if_icmplt 35
        39: .line 4899
      StackMap locals: org.jruby.RubyModule org.jruby.anno.JavaMethodDescriptor java.lang.String org.jruby.internal.runtime.methods.DynamicMethod org.jruby.anno.JRubyMethod java.lang.String[] java.lang.String[] top java.lang.String
      StackMap stack:
            aload 4 /* jrubyMethod */
            invokeinterface org.jruby.anno.JRubyMethod.module:()Z
            ifeq 60
        40: .line 4900
            aload 0 /* module */
            invokevirtual org.jruby.RubyModule.getSingletonClass:()Lorg/jruby/RubyClass;
            astore 7 /* singletonClass */
        start local 7 // org.jruby.RubyModule singletonClass
        41: .line 4902
            aload 3 /* dynamicMethod */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.dup:()Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 9 /* moduleMethod */
        start local 9 // org.jruby.internal.runtime.methods.DynamicMethod moduleMethod
        42: .line 4903
            aload 9 /* moduleMethod */
            aload 7 /* singletonClass */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.setImplementationClass:(Lorg/jruby/RubyModule;)V
        43: .line 4904
            aload 9 /* moduleMethod */
            getstatic org.jruby.runtime.Visibility.PUBLIC:Lorg/jruby/runtime/Visibility;
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.setVisibility:(Lorg/jruby/runtime/Visibility;)V
        44: .line 4906
            aload 5 /* names */
            arraylength
            ifne 48
        45: .line 4907
            aload 1 /* desc */
            getfield org.jruby.anno.JavaMethodDescriptor.name:Ljava/lang/String;
            astore 8 /* baseName */
        46: .line 4908
            aload 7 /* singletonClass */
            aload 1 /* desc */
            getfield org.jruby.anno.JavaMethodDescriptor.name:Ljava/lang/String;
            aload 9 /* moduleMethod */
            invokevirtual org.jruby.RubyModule.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
        47: .line 4909
            goto 54
        48: .line 4910
      StackMap locals: org.jruby.RubyModule org.jruby.anno.JavaMethodDescriptor java.lang.String org.jruby.internal.runtime.methods.DynamicMethod org.jruby.anno.JRubyMethod java.lang.String[] java.lang.String[] org.jruby.RubyModule java.lang.String org.jruby.internal.runtime.methods.DynamicMethod
      StackMap stack:
            aload 5 /* names */
            iconst_0
            aaload
            astore 8 /* baseName */
        49: .line 4911
            aload 5 /* names */
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 53
      StackMap locals: org.jruby.RubyModule org.jruby.anno.JavaMethodDescriptor java.lang.String org.jruby.internal.runtime.methods.DynamicMethod org.jruby.anno.JRubyMethod java.lang.String[] java.lang.String[] org.jruby.RubyModule java.lang.String org.jruby.internal.runtime.methods.DynamicMethod top int int java.lang.String[]
      StackMap stack:
        50: aload 13
            iload 11
            aaload
            astore 10 /* name */
        start local 10 // java.lang.String name
        51: aload 7 /* singletonClass */
            aload 10 /* name */
            aload 9 /* moduleMethod */
            invokevirtual org.jruby.RubyModule.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
        end local 10 // java.lang.String name
        52: iinc 11 1
      StackMap locals:
      StackMap stack:
        53: iload 11
            iload 12
            if_icmplt 50
        54: .line 4914
      StackMap locals: org.jruby.RubyModule org.jruby.anno.JavaMethodDescriptor java.lang.String org.jruby.internal.runtime.methods.DynamicMethod org.jruby.anno.JRubyMethod java.lang.String[] java.lang.String[] org.jruby.RubyModule java.lang.String org.jruby.internal.runtime.methods.DynamicMethod
      StackMap stack:
            aload 6 /* aliases */
            arraylength
            ifle 60
        55: .line 4915
            aload 6 /* aliases */
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 59
      StackMap locals: org.jruby.RubyModule org.jruby.anno.JavaMethodDescriptor java.lang.String org.jruby.internal.runtime.methods.DynamicMethod org.jruby.anno.JRubyMethod java.lang.String[] java.lang.String[] org.jruby.RubyModule java.lang.String org.jruby.internal.runtime.methods.DynamicMethod top int int java.lang.String[]
      StackMap stack:
        56: aload 13
            iload 11
            aaload
            astore 10 /* alias */
        start local 10 // java.lang.String alias
        57: aload 7 /* singletonClass */
            aload 10 /* alias */
            aload 8 /* baseName */
            invokevirtual org.jruby.RubyModule.defineAlias:(Ljava/lang/String;Ljava/lang/String;)V
        end local 10 // java.lang.String alias
        58: iinc 11 1
      StackMap locals:
      StackMap stack:
        59: iload 11
            iload 12
            if_icmplt 56
        end local 9 // org.jruby.internal.runtime.methods.DynamicMethod moduleMethod
        end local 8 // java.lang.String baseName
        end local 7 // org.jruby.RubyModule singletonClass
        60: .line 4919
      StackMap locals: org.jruby.RubyModule org.jruby.anno.JavaMethodDescriptor java.lang.String org.jruby.internal.runtime.methods.DynamicMethod org.jruby.anno.JRubyMethod java.lang.String[] java.lang.String[]
      StackMap stack:
            return
        end local 6 // java.lang.String[] aliases
        end local 5 // java.lang.String[] names
        end local 4 // org.jruby.anno.JRubyMethod jrubyMethod
        end local 3 // org.jruby.internal.runtime.methods.DynamicMethod dynamicMethod
        end local 2 // java.lang.String simpleName
        end local 1 // org.jruby.anno.JavaMethodDescriptor desc
        end local 0 // org.jruby.RubyModule module
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   61     0          module  Lorg/jruby/RubyModule;
            0   61     1            desc  Lorg/jruby/anno/JavaMethodDescriptor;
            0   61     2      simpleName  Ljava/lang/String;
            0   61     3   dynamicMethod  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            1   61     4     jrubyMethod  Lorg/jruby/anno/JRubyMethod;
            2   61     5           names  [Ljava/lang/String;
            3   61     6         aliases  [Ljava/lang/String;
            5   23     7  singletonClass  Lorg/jruby/RubyModule;
           41   60     7  singletonClass  Lorg/jruby/RubyModule;
            8   10     8        baseName  Ljava/lang/String;
           11   22     8        baseName  Ljava/lang/String;
           13   14     9            name  Ljava/lang/String;
           19   20     9           alias  Ljava/lang/String;
           25   27     8        baseName  Ljava/lang/String;
           28   60     8        baseName  Ljava/lang/String;
           30   31     9            name  Ljava/lang/String;
           36   37     9           alias  Ljava/lang/String;
           42   60     9    moduleMethod  Lorg/jruby/internal/runtime/methods/DynamicMethod;
           51   52    10            name  Ljava/lang/String;
           57   58    10           alias  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      module         
      desc           
      simpleName     final
      dynamicMethod  

  public org.jruby.runtime.builtin.IRubyObject initialize(org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // org.jruby.runtime.Block block
         0: .line 4923
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            invokevirtual org.jruby.RubyModule.initialize:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyModule;
            0    1     1  block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
       Name  Flags
      block  

  public void setJavaProxy(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // boolean javaProxy
         0: .line 5053
            aload 0 /* this */
            iload 1 /* javaProxy */
            putfield org.jruby.RubyModule.javaProxy:Z
         1: .line 5054
            return
        end local 1 // boolean javaProxy
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/jruby/RubyModule;
            0    2     1  javaProxy  Z
    MethodParameters:
           Name  Flags
      javaProxy  

  public boolean getJavaProxy();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 5061
            aload 0 /* this */
            getfield org.jruby.RubyModule.javaProxy:Z
            ireturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;

  public boolean getCacheProxy();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 5069
            aload 0 /* this */
            getstatic org.jruby.RubyModule.CACHEPROXY_F:I
            invokevirtual org.jruby.RubyModule.getFlag:(I)Z
            ireturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;

  public void setCacheProxy(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // boolean cacheProxy
         0: .line 5077
            aload 0 /* this */
            getstatic org.jruby.RubyModule.CACHEPROXY_F:I
            iload 1 /* cacheProxy */
            invokevirtual org.jruby.RubyModule.setFlag:(IZ)V
         1: .line 5078
            return
        end local 1 // boolean cacheProxy
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/jruby/RubyModule;
            0    2     1  cacheProxy  Z
    MethodParameters:
            Name  Flags
      cacheProxy  

  public <T> T toJava(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.Class target
         0: .line 5082
            aload 1 /* target */
            ldc Ljava/lang/Class;
            if_acmpne 4
         1: .line 5083
            aload 0 /* this */
            getfield org.jruby.RubyModule.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            astore 2 /* context */
        start local 2 // org.jruby.runtime.ThreadContext context
         2: .line 5084
            aload 2 /* context */
            aload 0 /* this */
            invokestatic org.jruby.javasupport.JavaClass.java_class:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyModule;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* javaClass */
        start local 3 // org.jruby.runtime.builtin.IRubyObject javaClass
         3: .line 5085
            aload 3 /* javaClass */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 4
            aload 3 /* javaClass */
            aload 1 /* target */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject javaClass
        end local 2 // org.jruby.runtime.ThreadContext context
         4: .line 5088
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* target */
            invokespecial org.jruby.RubyObject.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Class target
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/jruby/RubyModule;
            0    5     1     target  Ljava/lang/Class<TT;>;
            2    4     2    context  Lorg/jruby/runtime/ThreadContext;
            3    4     3  javaClass  Lorg/jruby/runtime/builtin/IRubyObject;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
        Name  Flags
      target  

  public java.util.Set<java.lang.String> discoverInstanceVariables();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 5092
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* set */
        start local 1 // java.util.HashSet set
         1: .line 5093
            aload 0 /* this */
            astore 2 /* cls */
        start local 2 // org.jruby.RubyModule cls
         2: .line 5094
            goto 6
         3: .line 5095
      StackMap locals: java.util.HashSet org.jruby.RubyModule
      StackMap stack:
            aload 2 /* cls */
            invokevirtual org.jruby.RubyModule.getNonIncludedClass:()Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.getMethodLocation:()Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.getMethods:()Ljava/util/Map;
            astore 3 /* methods */
        start local 3 // java.util.Map methods
         4: .line 5097
            aload 3 /* methods */
            aload 1 /* set */
            invokedynamic accept(Ljava/util/HashSet;)Ljava/util/function/BiConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)V
                  org/jruby/RubyModule.lambda$6(Ljava/util/HashSet;Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V (6)
                  (Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
            invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
         5: .line 5099
            aload 2 /* cls */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 2 /* cls */
        end local 3 // java.util.Map methods
         6: .line 5094
      StackMap locals:
      StackMap stack:
            aload 2 /* cls */
            ifnonnull 3
         7: .line 5101
            aload 1 /* set */
            areturn
        end local 2 // org.jruby.RubyModule cls
        end local 1 // java.util.HashSet set
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyModule;
            1    8     1      set  Ljava/util/HashSet<Ljava/lang/String;>;
            2    8     2      cls  Lorg/jruby/RubyModule;
            4    6     3  methods  Ljava/util/Map<Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;>;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public boolean isRefinement();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 5105
            aload 0 /* this */
            getstatic org.jruby.RubyModule.REFINED_MODULE_F:I
            invokevirtual org.jruby.RubyModule.getFlag:(I)Z
            ireturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;

  public boolean isIncludedIntoRefinement();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 5109
            aload 0 /* this */
            getstatic org.jruby.RubyModule.INCLUDED_INTO_REFINEMENT:I
            invokevirtual org.jruby.RubyModule.getFlag:(I)Z
            ireturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;

  public boolean isMethodBuiltin(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String methodName
         0: .line 5120
            aload 0 /* this */
            aload 1 /* methodName */
            invokevirtual org.jruby.RubyModule.searchMethod:(Ljava/lang/String;)Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 2 /* method */
        start local 2 // org.jruby.internal.runtime.methods.DynamicMethod method
         1: .line 5122
            aload 2 /* method */
            ifnull 2
            aload 2 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isBuiltin:()Z
            ifeq 2
            iconst_1
            ireturn
      StackMap locals: org.jruby.internal.runtime.methods.DynamicMethod
      StackMap stack:
         2: iconst_0
            ireturn
        end local 2 // org.jruby.internal.runtime.methods.DynamicMethod method
        end local 1 // java.lang.String methodName
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/jruby/RubyModule;
            0    3     1  methodName  Ljava/lang/String;
            1    3     2      method  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    MethodParameters:
            Name  Flags
      methodName  

  public java.util.Map<org.jruby.RubyModule, org.jruby.RubyModule> getRefinements();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 5126
            aload 0 /* this */
            getfield org.jruby.RubyModule.refinements:Ljava/util/Map;
            areturn
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyModule;
    Signature: ()Ljava/util/Map<Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;>;

  public java.util.Map<org.jruby.RubyModule, org.jruby.RubyModule> getRefinementsForWrite();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.jruby.RubyModule this
         0: .line 5130
            aload 0 /* this */
            getfield org.jruby.RubyModule.refinements:Ljava/util/Map;
            astore 1 /* refinements */
        start local 1 // java.util.Map refinements
         1: .line 5131
            aload 1 /* refinements */
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 2
            aload 1 /* refinements */
            goto 3
      StackMap locals: java.util.Map
      StackMap stack:
         2: aload 0 /* this */
            invokestatic org.jruby.RubyModule.newRefinementsMap:()Ljava/util/Map;
            dup_x1
            putfield org.jruby.RubyModule.refinements:Ljava/util/Map;
      StackMap locals:
      StackMap stack: java.util.Map
         3: areturn
        end local 1 // java.util.Map refinements
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/jruby/RubyModule;
            1    4     1  refinements  Ljava/util/Map<Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;>;
    Signature: ()Ljava/util/Map<Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;>;

  public void setRefinements(java.util.Map<org.jruby.RubyModule, org.jruby.RubyModule>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.util.Map refinements
         0: .line 5135
            aload 0 /* this */
            aload 1 /* refinements */
            putfield org.jruby.RubyModule.refinements:Ljava/util/Map;
         1: .line 5136
            return
        end local 1 // java.util.Map refinements
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/jruby/RubyModule;
            0    2     1  refinements  Ljava/util/Map<Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;>;
    Signature: (Ljava/util/Map<Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;>;)V
    MethodParameters:
             Name  Flags
      refinements  

  public org.jruby.runtime.builtin.IRubyObject to_s();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.jruby.RubyModule.to_s:()Lorg/jruby/RubyString;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.jruby.runtime.builtin.IRubyObject op_eqq(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual org.jruby.RubyModule.op_eqq:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$0(org.jruby.RubyArray, java.util.Map$Entry);
    descriptor: (Lorg/jruby/RubyArray;Ljava/util/Map$Entry;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=2
        start local 1 // java.util.Map$Entry entry
         0: .line 955
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.jruby.RubyModule
            astore 2 /* mod */
        start local 2 // org.jruby.RubyModule mod
         1: .line 956
            goto 4
         2: .line 957
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 0
            aload 2 /* mod */
            invokevirtual org.jruby.RubyModule.getNonIncludedClass:()Lorg/jruby/RubyModule;
            getfield org.jruby.RubyModule.definedAt:Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyArray.push:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
         3: .line 958
            aload 2 /* mod */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 2 /* mod */
         4: .line 956
      StackMap locals:
      StackMap stack:
            aload 2 /* mod */
            ifnull 5
            aload 2 /* mod */
            invokevirtual org.jruby.RubyModule.getNonIncludedClass:()Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.isRefinement:()Z
            ifne 2
        end local 2 // org.jruby.RubyModule mod
         5: .line 960
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Map$Entry entry
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     1  entry  Ljava/util/Map$Entry<Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;>;
            1    5     2    mod  Lorg/jruby/RubyModule;

  private static void lambda$1(java.util.Set, boolean, org.jruby.runtime.Visibility, org.jruby.RubyArray, org.jruby.Ruby, java.lang.String, org.jruby.internal.runtime.methods.DynamicMethod);
    descriptor: (Ljava/util/Set;ZLorg/jruby/runtime/Visibility;Lorg/jruby/RubyArray;Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=7, args_size=7
        start local 5 // java.lang.String id
        start local 6 // org.jruby.internal.runtime.methods.DynamicMethod method
         0: .line 2865
            aload 6 /* method */
            instanceof org.jruby.internal.runtime.methods.RefinedMarker
            ifeq 1
            return
         1: .line 2867
      StackMap locals:
      StackMap stack:
            aload 0
            aload 5 /* id */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 6
         2: .line 2868
            iload 1
            ifne 3
            aload 6 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getVisibility:()Lorg/jruby/runtime/Visibility;
            aload 2
            if_acmpeq 4
      StackMap locals:
      StackMap stack:
         3: iload 1
            ifeq 6
            aload 6 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getVisibility:()Lorg/jruby/runtime/Visibility;
            aload 2
            if_acmpeq 6
         4: .line 2869
      StackMap locals:
      StackMap stack:
            aload 6 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isUndefined:()Z
            ifne 6
         5: .line 2870
            aload 3
            aload 4
            aload 5 /* id */
            invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
         6: .line 2873
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.jruby.internal.runtime.methods.DynamicMethod method
        end local 5 // java.lang.String id
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     5      id  Ljava/lang/String;
            0    7     6  method  Lorg/jruby/internal/runtime/methods/DynamicMethod;

  private void lambda$2(java.lang.String, org.jruby.internal.runtime.methods.DynamicMethod);
    descriptor: (Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyModule this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.internal.runtime.methods.DynamicMethod method
         0: .line 3481
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* method */
            invokevirtual org.jruby.RubyModule.addRefinedMethodEntry:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
            return
        end local 2 // org.jruby.internal.runtime.methods.DynamicMethod method
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/jruby/RubyModule;
            0    1     1    name  Ljava/lang/String;
            0    1     2  method  Lorg/jruby/internal/runtime/methods/DynamicMethod;

  private org.jruby.runtime.builtin.IRubyObject lambda$3(org.jruby.Ruby, org.jruby.RubyString, boolean, int, org.jruby.util.ByteList, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyString;ZILorg/jruby/util/ByteList;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=9, args_size=7
        start local 0 // org.jruby.RubyModule this
        start local 4 // int index
        start local 5 // org.jruby.util.ByteList segment
        start local 6 // org.jruby.runtime.builtin.IRubyObject module
         0: .line 3623
            iload 4 /* index */
            ifne 3
         1: .line 3624
            aload 5 /* segment */
            invokevirtual org.jruby.util.ByteList.realSize:()I
            ifne 2
            aload 1
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            areturn
         2: .line 3625
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            astore 6 /* module */
         3: .line 3628
      StackMap locals:
      StackMap stack:
            aload 1
            aload 2
            aload 5 /* segment */
            invokestatic org.jruby.RubySymbol.newConstantSymbol:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/util/ByteList;)Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            astore 7 /* id */
        start local 7 // java.lang.String id
         4: .line 3629
            aload 6 /* module */
            checkcast org.jruby.RubyModule
            aload 7 /* id */
            iload 3
            iload 3
            invokevirtual org.jruby.RubyModule.getConstantNoConstMissing:(Ljava/lang/String;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 8 /* obj */
        start local 8 // org.jruby.runtime.builtin.IRubyObject obj
         5: .line 3631
            aload 8 /* obj */
            ifnonnull 6
            aconst_null
            areturn
         6: .line 3632
      StackMap locals: java.lang.String org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 8 /* obj */
            instanceof org.jruby.RubyModule
            ifne 7
            aload 1
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 5 /* segment */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " does not refer to class/module"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         7: .line 3634
      StackMap locals:
      StackMap stack:
            aload 8 /* obj */
            areturn
        end local 8 // org.jruby.runtime.builtin.IRubyObject obj
        end local 7 // java.lang.String id
        end local 6 // org.jruby.runtime.builtin.IRubyObject module
        end local 5 // org.jruby.util.ByteList segment
        end local 4 // int index
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyModule;
            0    8     4    index  I
            0    8     5  segment  Lorg/jruby/util/ByteList;
            0    8     6   module  Lorg/jruby/runtime/builtin/IRubyObject;
            4    8     7       id  Ljava/lang/String;
            5    8     8      obj  Lorg/jruby/runtime/builtin/IRubyObject;

  private org.jruby.runtime.builtin.IRubyObject lambda$4(org.jruby.Ruby, org.jruby.RubyString, boolean, int, org.jruby.util.ByteList, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyString;ZILorg/jruby/util/ByteList;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=8, args_size=7
        start local 0 // org.jruby.RubyModule this
        start local 4 // int index
        start local 5 // org.jruby.util.ByteList segment
        start local 6 // org.jruby.runtime.builtin.IRubyObject module
         0: .line 3636
            aload 6 /* module */
            ifnonnull 1
            aload 0 /* this */
            astore 6 /* module */
         1: .line 3638
      StackMap locals:
      StackMap stack:
            aload 1
            aload 2
            aload 5 /* segment */
            invokestatic org.jruby.RubySymbol.newConstantSymbol:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/util/ByteList;)Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            astore 7 /* id */
        start local 7 // java.lang.String id
         2: .line 3639
            aload 6 /* module */
            checkcast org.jruby.RubyModule
            aload 7 /* id */
            iload 3
            iload 3
            invokevirtual org.jruby.RubyModule.getConstantSkipAutoload:(Ljava/lang/String;ZZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 7 // java.lang.String id
        end local 6 // org.jruby.runtime.builtin.IRubyObject module
        end local 5 // org.jruby.util.ByteList segment
        end local 4 // int index
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyModule;
            0    3     4    index  I
            0    3     5  segment  Lorg/jruby/util/ByteList;
            0    3     6   module  Lorg/jruby/runtime/builtin/IRubyObject;
            2    3     7       id  Ljava/lang/String;

  private void lambda$5(org.jruby.runtime.builtin.IRubyObject, org.jruby.RubySymbol, boolean);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubySymbol;Z)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyModule this
        start local 2 // org.jruby.RubySymbol sym
        start local 3 // boolean newSym
         0: .line 4702
            aload 2 /* sym */
            invokevirtual org.jruby.RubySymbol.validConstantName:()Z
            ifne 2
         1: .line 4703
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            ldc "wrong constant name "
            aload 1
            invokestatic org.jruby.util.RubyStringBuilder.str:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
            aload 2 /* sym */
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 4705
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean newSym
        end local 2 // org.jruby.RubySymbol sym
        end local 0 // org.jruby.RubyModule this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/jruby/RubyModule;
            0    3     2     sym  Lorg/jruby/RubySymbol;
            0    3     3  newSym  Z

  private static void lambda$6(java.util.HashSet, java.lang.String, org.jruby.internal.runtime.methods.DynamicMethod);
    descriptor: (Ljava/util/HashSet;Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 1 // java.lang.String name
        start local 2 // org.jruby.internal.runtime.methods.DynamicMethod method
         0: .line 5097
            aload 0
            aload 2 /* method */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getMethodData:()Lorg/jruby/runtime/ivars/MethodData;
            invokevirtual org.jruby.runtime.ivars.MethodData.getIvarNames:()Ljava/util/Collection;
            invokevirtual java.util.HashSet.addAll:(Ljava/util/Collection;)Z
            return
        end local 2 // org.jruby.internal.runtime.methods.DynamicMethod method
        end local 1 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     1    name  Ljava/lang/String;
            0    1     2  method  Lorg/jruby/internal/runtime/methods/DynamicMethod;
}
SourceFile: "RubyModule.java"
NestMembers:
  org.jruby.RubyModule$1  org.jruby.RubyModule$2  org.jruby.RubyModule$Autoload  org.jruby.RubyModule$AutoloadMethod  org.jruby.RubyModule$CacheEntryFactory  org.jruby.RubyModule$ConstantEntry  org.jruby.RubyModule$JavaClassKindOf  org.jruby.RubyModule$KindOf  org.jruby.RubyModule$MethodClumper  org.jruby.RubyModule$ModuleKernelMethods  org.jruby.RubyModule$ProfilingCacheEntryFactory  org.jruby.RubyModule$RespondToMissingMethod  org.jruby.RubyModule$SynchronizedCacheEntryFactory  org.jruby.RubyModule$WrapperCacheEntryFactory
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public final CompileMode = org.jruby.RubyInstanceConfig$CompileMode of org.jruby.RubyInstanceConfig
  org.jruby.RubyModule$1
  org.jruby.RubyModule$2
  private final Autoload = org.jruby.RubyModule$Autoload of org.jruby.RubyModule
  public abstract AutoloadMethod = org.jruby.RubyModule$AutoloadMethod of org.jruby.RubyModule
  protected abstract CacheEntryFactory = org.jruby.RubyModule$CacheEntryFactory of org.jruby.RubyModule
  public ConstantEntry = org.jruby.RubyModule$ConstantEntry of org.jruby.RubyModule
  public final JavaClassKindOf = org.jruby.RubyModule$JavaClassKindOf of org.jruby.RubyModule
  public KindOf = org.jruby.RubyModule$KindOf of org.jruby.RubyModule
  public final MethodClumper = org.jruby.RubyModule$MethodClumper of org.jruby.RubyModule
  public ModuleKernelMethods = org.jruby.RubyModule$ModuleKernelMethods of org.jruby.RubyModule
  protected ProfilingCacheEntryFactory = org.jruby.RubyModule$ProfilingCacheEntryFactory of org.jruby.RubyModule
  public RespondToMissingMethod = org.jruby.RubyModule$RespondToMissingMethod of org.jruby.RubyModule
  protected SynchronizedCacheEntryFactory = org.jruby.RubyModule$SynchronizedCacheEntryFactory of org.jruby.RubyModule
  protected abstract WrapperCacheEntryFactory = org.jruby.RubyModule$WrapperCacheEntryFactory of org.jruby.RubyModule
  public abstract ObjBooleanConsumer = org.jruby.RubySymbol$ObjBooleanConsumer of org.jruby.RubySymbol
  public final ReflectiveTypePopulator = org.jruby.anno.TypePopulator$ReflectiveTypePopulator of org.jruby.anno.TypePopulator
  public final ID = org.jruby.common.IRubyWarnings$ID of org.jruby.common.IRubyWarnings
  public NativeCall = org.jruby.internal.runtime.methods.DynamicMethod$NativeCall of org.jruby.internal.runtime.methods.DynamicMethod
  public final Type = org.jruby.runtime.Block$Type of org.jruby.runtime.Block
  public abstract Visit = org.jruby.util.ByteListHelper$Visit of org.jruby.util.ByteListHelper
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyClass(name = {"Module"})