class org.jruby.javasupport.util.ObjectProxyCache$Entry<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.jruby.javasupport.util.ObjectProxyCache$Entry
  super_class: java.lang.Object
{
  final org.jruby.javasupport.util.ObjectProxyCache$EntryRef<java.lang.Object> objectRef;
    descriptor: Lorg/jruby/javasupport/util/ObjectProxyCache$EntryRef;
    flags: (0x0010) ACC_FINAL
    Signature: Lorg/jruby/javasupport/util/ObjectProxyCache$EntryRef<Ljava/lang/Object;>;

  final int hash;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  final org.jruby.javasupport.util.ObjectProxyCache$EntryRef<T> proxyRef;
    descriptor: Lorg/jruby/javasupport/util/ObjectProxyCache$EntryRef;
    flags: (0x0010) ACC_FINAL
    Signature: Lorg/jruby/javasupport/util/ObjectProxyCache$EntryRef<TT;>;

  final org.jruby.javasupport.util.ObjectProxyCache$Entry<T> next;
    descriptor: Lorg/jruby/javasupport/util/ObjectProxyCache$Entry;
    flags: (0x0010) ACC_FINAL
    Signature: Lorg/jruby/javasupport/util/ObjectProxyCache$Entry<TT;>;

  void <init>(, int, T, org.jruby.javasupport.util.ObjectProxyCache$ReferenceType, org.jruby.javasupport.util.ObjectProxyCache$Entry<T>, java.lang.ref.ReferenceQueue<java.lang.Object>);
    descriptor: (Ljava/lang/Object;ILjava/lang/Object;Lorg/jruby/javasupport/util/ObjectProxyCache$ReferenceType;Lorg/jruby/javasupport/util/ObjectProxyCache$Entry;Ljava/lang/ref/ReferenceQueue;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=7, args_size=7
        start local 0 // org.jruby.javasupport.util.ObjectProxyCache$Entry this
        start local 1 // java.lang.Object object
        start local 2 // int hash
        start local 3 // java.lang.Object proxy
        start local 4 // org.jruby.javasupport.util.ObjectProxyCache$ReferenceType type
        start local 5 // org.jruby.javasupport.util.ObjectProxyCache$Entry next
        start local 6 // java.lang.ref.ReferenceQueue queue
         0: .line 265
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 266
            aload 0 /* this */
            iload 2 /* hash */
            putfield org.jruby.javasupport.util.ObjectProxyCache$Entry.hash:I
         2: .line 267
            aload 0 /* this */
            aload 5 /* next */
            putfield org.jruby.javasupport.util.ObjectProxyCache$Entry.next:Lorg/jruby/javasupport/util/ObjectProxyCache$Entry;
         3: .line 272
            aload 4 /* type */
            getstatic org.jruby.javasupport.util.ObjectProxyCache$ReferenceType.WEAK:Lorg/jruby/javasupport/util/ObjectProxyCache$ReferenceType;
            if_acmpne 7
         4: .line 273
            aload 0 /* this */
            new org.jruby.javasupport.util.ObjectProxyCache$WeakEntryRef
            dup
            iload 2 /* hash */
            aload 1 /* object */
            aload 6 /* queue */
            invokespecial org.jruby.javasupport.util.ObjectProxyCache$WeakEntryRef.<init>:(ILjava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
            putfield org.jruby.javasupport.util.ObjectProxyCache$Entry.objectRef:Lorg/jruby/javasupport/util/ObjectProxyCache$EntryRef;
         5: .line 274
            aload 0 /* this */
            new org.jruby.javasupport.util.ObjectProxyCache$WeakEntryRef
            dup
            iload 2 /* hash */
            aload 3 /* proxy */
            aload 6 /* queue */
            invokespecial org.jruby.javasupport.util.ObjectProxyCache$WeakEntryRef.<init>:(ILjava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
            putfield org.jruby.javasupport.util.ObjectProxyCache$Entry.proxyRef:Lorg/jruby/javasupport/util/ObjectProxyCache$EntryRef;
         6: .line 275
            goto 9
         7: .line 276
      StackMap locals: org.jruby.javasupport.util.ObjectProxyCache$Entry java.lang.Object int java.lang.Object org.jruby.javasupport.util.ObjectProxyCache$ReferenceType org.jruby.javasupport.util.ObjectProxyCache$Entry java.lang.ref.ReferenceQueue
      StackMap stack:
            aload 0 /* this */
            new org.jruby.javasupport.util.ObjectProxyCache$SoftEntryRef
            dup
            iload 2 /* hash */
            aload 1 /* object */
            aload 6 /* queue */
            invokespecial org.jruby.javasupport.util.ObjectProxyCache$SoftEntryRef.<init>:(ILjava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
            putfield org.jruby.javasupport.util.ObjectProxyCache$Entry.objectRef:Lorg/jruby/javasupport/util/ObjectProxyCache$EntryRef;
         8: .line 277
            aload 0 /* this */
            new org.jruby.javasupport.util.ObjectProxyCache$SoftEntryRef
            dup
            iload 2 /* hash */
            aload 3 /* proxy */
            aload 6 /* queue */
            invokespecial org.jruby.javasupport.util.ObjectProxyCache$SoftEntryRef.<init>:(ILjava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
            putfield org.jruby.javasupport.util.ObjectProxyCache$Entry.proxyRef:Lorg/jruby/javasupport/util/ObjectProxyCache$EntryRef;
         9: .line 279
      StackMap locals:
      StackMap stack:
            return
        end local 6 // java.lang.ref.ReferenceQueue queue
        end local 5 // org.jruby.javasupport.util.ObjectProxyCache$Entry next
        end local 4 // org.jruby.javasupport.util.ObjectProxyCache$ReferenceType type
        end local 3 // java.lang.Object proxy
        end local 2 // int hash
        end local 1 // java.lang.Object object
        end local 0 // org.jruby.javasupport.util.ObjectProxyCache$Entry this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/jruby/javasupport/util/ObjectProxyCache$Entry<TT;>;
            0   10     1  object  Ljava/lang/Object;
            0   10     2    hash  I
            0   10     3   proxy  TT;
            0   10     4    type  Lorg/jruby/javasupport/util/ObjectProxyCache$ReferenceType;
            0   10     5    next  Lorg/jruby/javasupport/util/ObjectProxyCache$Entry<TT;>;
            0   10     6   queue  Ljava/lang/ref/ReferenceQueue<Ljava/lang/Object;>;
    Signature: (Ljava/lang/Object;ITT;Lorg/jruby/javasupport/util/ObjectProxyCache$ReferenceType;Lorg/jruby/javasupport/util/ObjectProxyCache$Entry<TT;>;Ljava/lang/ref/ReferenceQueue<Ljava/lang/Object;>;)V
    MethodParameters:
        Name  Flags
      object  
      hash    
      proxy   
      type    
      next    
      queue   

  void <init>(org.jruby.javasupport.util.ObjectProxyCache$EntryRef<java.lang.Object>, int, org.jruby.javasupport.util.ObjectProxyCache$EntryRef<T>, org.jruby.javasupport.util.ObjectProxyCache$Entry<T>);
    descriptor: (Lorg/jruby/javasupport/util/ObjectProxyCache$EntryRef;ILorg/jruby/javasupport/util/ObjectProxyCache$EntryRef;Lorg/jruby/javasupport/util/ObjectProxyCache$Entry;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.jruby.javasupport.util.ObjectProxyCache$Entry this
        start local 1 // org.jruby.javasupport.util.ObjectProxyCache$EntryRef objectRef
        start local 2 // int hash
        start local 3 // org.jruby.javasupport.util.ObjectProxyCache$EntryRef proxyRef
        start local 4 // org.jruby.javasupport.util.ObjectProxyCache$Entry next
         0: .line 282
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 283
            aload 0 /* this */
            aload 1 /* objectRef */
            putfield org.jruby.javasupport.util.ObjectProxyCache$Entry.objectRef:Lorg/jruby/javasupport/util/ObjectProxyCache$EntryRef;
         2: .line 284
            aload 0 /* this */
            iload 2 /* hash */
            putfield org.jruby.javasupport.util.ObjectProxyCache$Entry.hash:I
         3: .line 285
            aload 0 /* this */
            aload 3 /* proxyRef */
            putfield org.jruby.javasupport.util.ObjectProxyCache$Entry.proxyRef:Lorg/jruby/javasupport/util/ObjectProxyCache$EntryRef;
         4: .line 286
            aload 0 /* this */
            aload 4 /* next */
            putfield org.jruby.javasupport.util.ObjectProxyCache$Entry.next:Lorg/jruby/javasupport/util/ObjectProxyCache$Entry;
         5: .line 287
            return
        end local 4 // org.jruby.javasupport.util.ObjectProxyCache$Entry next
        end local 3 // org.jruby.javasupport.util.ObjectProxyCache$EntryRef proxyRef
        end local 2 // int hash
        end local 1 // org.jruby.javasupport.util.ObjectProxyCache$EntryRef objectRef
        end local 0 // org.jruby.javasupport.util.ObjectProxyCache$Entry this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/jruby/javasupport/util/ObjectProxyCache$Entry<TT;>;
            0    6     1  objectRef  Lorg/jruby/javasupport/util/ObjectProxyCache$EntryRef<Ljava/lang/Object;>;
            0    6     2       hash  I
            0    6     3   proxyRef  Lorg/jruby/javasupport/util/ObjectProxyCache$EntryRef<TT;>;
            0    6     4       next  Lorg/jruby/javasupport/util/ObjectProxyCache$Entry<TT;>;
    Signature: (Lorg/jruby/javasupport/util/ObjectProxyCache$EntryRef<Ljava/lang/Object;>;ILorg/jruby/javasupport/util/ObjectProxyCache$EntryRef<TT;>;Lorg/jruby/javasupport/util/ObjectProxyCache$Entry<TT;>;)V
    MethodParameters:
           Name  Flags
      objectRef  
      hash       
      proxyRef   
      next       

  static final <T> org.jruby.javasupport.util.ObjectProxyCache$Entry<T>[] newArray(int);
    descriptor: (I)[Lorg/jruby/javasupport/util/ObjectProxyCache$Entry;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int size
         0: .line 291
            iload 0 /* size */
            anewarray org.jruby.javasupport.util.ObjectProxyCache$Entry
            areturn
        end local 0 // int size
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  size  I
    Signature: <T:Ljava/lang/Object;>(I)[Lorg/jruby/javasupport/util/ObjectProxyCache$Entry<TT;>;
    MethodParameters:
      Name  Flags
      size  
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "ObjectProxyCache.java"
NestHost: org.jruby.javasupport.util.ObjectProxyCache
InnerClasses:
  Entry = org.jruby.javasupport.util.ObjectProxyCache$Entry of org.jruby.javasupport.util.ObjectProxyCache
  private abstract EntryRef = org.jruby.javasupport.util.ObjectProxyCache$EntryRef of org.jruby.javasupport.util.ObjectProxyCache
  public final ReferenceType = org.jruby.javasupport.util.ObjectProxyCache$ReferenceType of org.jruby.javasupport.util.ObjectProxyCache
  private final SoftEntryRef = org.jruby.javasupport.util.ObjectProxyCache$SoftEntryRef of org.jruby.javasupport.util.ObjectProxyCache
  private final WeakEntryRef = org.jruby.javasupport.util.ObjectProxyCache$WeakEntryRef of org.jruby.javasupport.util.ObjectProxyCache