final class com.sun.beans.util.Cache$CacheEntry<K, V>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.beans.util.Cache$CacheEntry
super_class: java.lang.Object
{
private final int hash;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.beans.util.Cache$Ref<K> key;
descriptor: Lcom/sun/beans/util/Cache$Ref;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/sun/beans/util/Cache$Ref<TK;>;
private final com.sun.beans.util.Cache$Ref<V> value;
descriptor: Lcom/sun/beans/util/Cache$Ref;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/sun/beans/util/Cache$Ref<TV;>;
private volatile com.sun.beans.util.Cache<K, V>.CacheEntry<K, V> next;
descriptor: Lcom/sun/beans/util/Cache$CacheEntry;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Lcom/sun/beans/util/Cache<TK;TV;>.CacheEntry<TK;TV;>;
final com.sun.beans.util.Cache this$0;
descriptor: Lcom/sun/beans/util/Cache;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(int, K, V, com.sun.beans.util.Cache<K, V>.CacheEntry<K, V>);
descriptor: (Lcom/sun/beans/util/Cache;ILjava/lang/Object;Ljava/lang/Object;Lcom/sun/beans/util/Cache$CacheEntry;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=6
start local 0 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
putfield com.sun.beans.util.Cache$CacheEntry.this$0:Lcom/sun/beans/util/Cache;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 2
putfield com.sun.beans.util.Cache$CacheEntry.hash:I
2: aload 0
aload 1
getfield com.sun.beans.util.Cache.keyKind:Lcom/sun/beans/util/Cache$Kind;
aload 0
aload 3
aload 1
getfield com.sun.beans.util.Cache.queue:Ljava/lang/ref/ReferenceQueue;
invokevirtual com.sun.beans.util.Cache$Kind.create:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)Lcom/sun/beans/util/Cache$Ref;
putfield com.sun.beans.util.Cache$CacheEntry.key:Lcom/sun/beans/util/Cache$Ref;
3: aload 0
aload 1
getfield com.sun.beans.util.Cache.valueKind:Lcom/sun/beans/util/Cache$Kind;
aload 0
aload 4
aload 1
getfield com.sun.beans.util.Cache.queue:Ljava/lang/ref/ReferenceQueue;
invokevirtual com.sun.beans.util.Cache$Kind.create:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)Lcom/sun/beans/util/Cache$Ref;
putfield com.sun.beans.util.Cache$CacheEntry.value:Lcom/sun/beans/util/Cache$Ref;
4: aload 0
aload 5
putfield com.sun.beans.util.Cache$CacheEntry.next:Lcom/sun/beans/util/Cache$CacheEntry;
5: return
end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/beans/util/Cache<TK;TV;>.CacheEntry<TK;TV;>;
0 6 2 hash I
0 6 3 key TK;
0 6 4 value TV;
0 6 5 next Lcom/sun/beans/util/Cache<TK;TV;>.CacheEntry<TK;TV;>;
Signature: (ITK;TV;Lcom/sun/beans/util/Cache<TK;TV;>.CacheEntry<TK;TV;>;)V
MethodParameters:
Name Flags
this$0 final
hash
key
value
next
private boolean matches(int, java.lang.Object);
descriptor: (ILjava/lang/Object;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.beans.util.Cache$CacheEntry.hash:I
iload 1
if_icmpeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.beans.util.Cache$CacheEntry.key:Lcom/sun/beans/util/Cache$Ref;
invokeinterface com.sun.beans.util.Cache$Ref.getReferent:()Ljava/lang/Object;
astore 3
start local 3 3: aload 3
aload 2
if_acmpeq 5
aload 0
getfield com.sun.beans.util.Cache$CacheEntry.this$0:Lcom/sun/beans/util/Cache;
getfield com.sun.beans.util.Cache.identity:Z
ifne 4
aload 3
ifnull 4
aload 3
aload 2
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 5
StackMap locals: java.lang.Object
StackMap stack:
4: iconst_0
ireturn
StackMap locals:
StackMap stack:
5: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/beans/util/Cache<TK;TV;>.CacheEntry<TK;TV;>;
0 6 1 hash I
0 6 2 object Ljava/lang/Object;
3 6 3 key Ljava/lang/Object;
MethodParameters:
Name Flags
hash
object
private void unlink();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield com.sun.beans.util.Cache$CacheEntry.next:Lcom/sun/beans/util/Cache$CacheEntry;
1: aload 0
getfield com.sun.beans.util.Cache$CacheEntry.key:Lcom/sun/beans/util/Cache$Ref;
invokeinterface com.sun.beans.util.Cache$Ref.removeOwner:()V
2: aload 0
getfield com.sun.beans.util.Cache$CacheEntry.value:Lcom/sun/beans/util/Cache$Ref;
invokeinterface com.sun.beans.util.Cache$Ref.removeOwner:()V
3: aload 0
getfield com.sun.beans.util.Cache$CacheEntry.this$0:Lcom/sun/beans/util/Cache;
dup
getfield com.sun.beans.util.Cache.size:I
iconst_1
isub
putfield com.sun.beans.util.Cache.size:I
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/beans/util/Cache<TK;TV;>.CacheEntry<TK;TV;>;
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "Cache.java"
NestHost: com.sun.beans.util.Cache
InnerClasses:
private final CacheEntry = com.sun.beans.util.Cache$CacheEntry of com.sun.beans.util.Cache
public abstract Kind = com.sun.beans.util.Cache$Kind of com.sun.beans.util.Cache
private abstract Ref = com.sun.beans.util.Cache$Ref of com.sun.beans.util.Cache