public class org.jruby.RubyObjectSpace$WeakMap extends org.jruby.RubyObject
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.RubyObjectSpace$WeakMap
  super_class: org.jruby.RubyObject
{
  private final org.jruby.util.collections.WeakValuedIdentityMap<org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject> map;
    descriptor: Lorg/jruby/util/collections/WeakValuedIdentityMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/jruby/util/collections/WeakValuedIdentityMap<Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;>;

  static void createWeakMap(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.jruby.Ruby runtime
         0: .line 184
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getObjectSpaceModule:()Lorg/jruby/RubyModule;
            ldc "WeakMap"
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            new org.jruby.RubyObjectSpace$WeakMap$1
            dup
            invokespecial org.jruby.RubyObjectSpace$WeakMap$1.<init>:()V
            invokevirtual org.jruby.RubyModule.defineClassUnder:(Ljava/lang/String;Lorg/jruby/RubyClass;Lorg/jruby/runtime/ObjectAllocator;)Lorg/jruby/RubyClass;
            astore 1 /* weakMap */
        start local 1 // org.jruby.RubyClass weakMap
         1: .line 190
            aload 1 /* weakMap */
            ldc Lorg/jruby/RubyObjectSpace$WeakMap;
            invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
         2: .line 191
            return
        end local 1 // org.jruby.RubyClass weakMap
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  runtime  Lorg/jruby/Ruby;
            1    3     1  weakMap  Lorg/jruby/RubyClass;
    MethodParameters:
         Name  Flags
      runtime  

  public void <init>(org.jruby.Ruby, org.jruby.RubyClass);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyObjectSpace$WeakMap this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass cls
         0: .line 194
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* cls */
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 215
            aload 0 /* this */
            new org.jruby.util.collections.WeakValuedIdentityMap
            dup
            invokespecial org.jruby.util.collections.WeakValuedIdentityMap.<init>:()V
            putfield org.jruby.RubyObjectSpace$WeakMap.map:Lorg/jruby/util/collections/WeakValuedIdentityMap;
         2: .line 195
            return
        end local 2 // org.jruby.RubyClass cls
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyObjectSpace$WeakMap this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyObjectSpace$WeakMap;
            0    3     1  runtime  Lorg/jruby/Ruby;
            0    3     2      cls  Lorg/jruby/RubyClass;
    MethodParameters:
         Name  Flags
      runtime  
      cls      

  public org.jruby.runtime.builtin.IRubyObject op_aref(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=2, locals=4, args_size=3
        start local 0 // org.jruby.RubyObjectSpace$WeakMap this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject key
         0: .line 199
            aload 0 /* this */
            getfield org.jruby.RubyObjectSpace$WeakMap.map:Lorg/jruby/util/collections/WeakValuedIdentityMap;
            aload 2 /* key */
            invokevirtual org.jruby.util.collections.WeakValuedIdentityMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject
            astore 3 /* value */
        start local 3 // org.jruby.runtime.builtin.IRubyObject value
         1: .line 200
            aload 3 /* value */
            ifnull 2
            aload 3 /* value */
            areturn
         2: .line 201
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject value
        end local 2 // org.jruby.runtime.builtin.IRubyObject key
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyObjectSpace$WeakMap this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyObjectSpace$WeakMap;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2      key  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3    value  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"[]"})
    MethodParameters:
         Name  Flags
      context  
      key      

  public org.jruby.runtime.builtin.IRubyObject op_aref(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=3, locals=4, args_size=4
        start local 0 // org.jruby.RubyObjectSpace$WeakMap this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject key
        start local 3 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 206
            aload 0 /* this */
            getfield org.jruby.RubyObjectSpace$WeakMap.map:Lorg/jruby/util/collections/WeakValuedIdentityMap;
            aload 2 /* key */
            aload 3 /* value */
            invokevirtual org.jruby.util.collections.WeakValuedIdentityMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 207
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* value */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject value
        end local 2 // org.jruby.runtime.builtin.IRubyObject key
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyObjectSpace$WeakMap this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyObjectSpace$WeakMap;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2      key  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     3    value  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"[]="})
    MethodParameters:
         Name  Flags
      context  
      key      
      value    

  public org.jruby.runtime.builtin.IRubyObject key_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=3, args_size=3
        start local 0 // org.jruby.RubyObjectSpace$WeakMap this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject key
         0: .line 212
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyObjectSpace$WeakMap.map:Lorg/jruby/util/collections/WeakValuedIdentityMap;
            aload 2 /* key */
            invokevirtual org.jruby.util.collections.WeakValuedIdentityMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: org.jruby.Ruby
         1: iconst_0
      StackMap locals: org.jruby.RubyObjectSpace$WeakMap org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject
      StackMap stack: org.jruby.Ruby int
         2: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject key
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyObjectSpace$WeakMap this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyObjectSpace$WeakMap;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2      key  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"key?"})
    MethodParameters:
         Name  Flags
      context  
      key      
}
SourceFile: "RubyObjectSpace.java"
NestHost: org.jruby.RubyObjectSpace
InnerClasses:
  public WeakMap = org.jruby.RubyObjectSpace$WeakMap of org.jruby.RubyObjectSpace
  org.jruby.RubyObjectSpace$WeakMap$1