public class io.netty.util.DefaultAttributeMap implements io.netty.util.AttributeMap
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.netty.util.DefaultAttributeMap
super_class: java.lang.Object
{
private static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.netty.util.DefaultAttributeMap, java.util.concurrent.atomic.AtomicReferenceArray> updater;
descriptor: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<Lio/netty/util/DefaultAttributeMap;Ljava/util/concurrent/atomic/AtomicReferenceArray;>;
private static final int BUCKET_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int MASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private volatile java.util.concurrent.atomic.AtomicReferenceArray<io.netty.util.DefaultAttributeMap$DefaultAttribute<?>> attributes;
descriptor: Ljava/util/concurrent/atomic/AtomicReferenceArray;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Ljava/util/concurrent/atomic/AtomicReferenceArray<Lio/netty/util/DefaultAttributeMap$DefaultAttribute<*>;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc Lio/netty/util/DefaultAttributeMap;
ldc Ljava/util/concurrent/atomic/AtomicReferenceArray;
ldc "attributes"
invokestatic java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
1: putstatic io.netty.util.DefaultAttributeMap.updater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
2: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/util/DefaultAttributeMap;
public <T> io.netty.util.Attribute<T> attr(io.netty.util.AttributeKey<T>);
descriptor: (Lio/netty/util/AttributeKey;)Lio/netty/util/Attribute;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "key"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.util.DefaultAttributeMap.attributes:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 2
start local 2 3: aload 2
ifnonnull 7
4: new java.util.concurrent.atomic.AtomicReferenceArray
dup
iconst_4
invokespecial java.util.concurrent.atomic.AtomicReferenceArray.<init>:(I)V
astore 2
5: getstatic io.netty.util.DefaultAttributeMap.updater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
aconst_null
aload 2
invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 7
6: aload 0
getfield io.netty.util.DefaultAttributeMap.attributes:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 2
7: StackMap locals: java.util.concurrent.atomic.AtomicReferenceArray
StackMap stack:
aload 1
invokestatic io.netty.util.DefaultAttributeMap.index:(Lio/netty/util/AttributeKey;)I
istore 3
start local 3 8: aload 2
iload 3
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
checkcast io.netty.util.DefaultAttributeMap$DefaultAttribute
astore 4
start local 4 9: aload 4
ifnonnull 17
10: new io.netty.util.DefaultAttributeMap$DefaultAttribute
dup
invokespecial io.netty.util.DefaultAttributeMap$DefaultAttribute.<init>:()V
astore 4
11: new io.netty.util.DefaultAttributeMap$DefaultAttribute
dup
aload 4
aload 1
invokespecial io.netty.util.DefaultAttributeMap$DefaultAttribute.<init>:(Lio/netty/util/DefaultAttributeMap$DefaultAttribute;Lio/netty/util/AttributeKey;)V
astore 5
start local 5 12: aload 4
aload 5
putfield io.netty.util.DefaultAttributeMap$DefaultAttribute.next:Lio/netty/util/DefaultAttributeMap$DefaultAttribute;
13: aload 5
aload 4
putfield io.netty.util.DefaultAttributeMap$DefaultAttribute.prev:Lio/netty/util/DefaultAttributeMap$DefaultAttribute;
14: aload 2
iload 3
aconst_null
aload 4
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifeq 16
15: aload 5
areturn
16: StackMap locals: int io.netty.util.DefaultAttributeMap$DefaultAttribute io.netty.util.DefaultAttributeMap$DefaultAttribute
StackMap stack:
aload 2
iload 3
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
checkcast io.netty.util.DefaultAttributeMap$DefaultAttribute
astore 4
end local 5 17: StackMap locals:
StackMap stack:
aload 4
dup
astore 5
monitorenter
18: aload 4
astore 6
start local 6 19: StackMap locals: io.netty.util.DefaultAttributeMap$DefaultAttribute io.netty.util.DefaultAttributeMap$DefaultAttribute
StackMap stack:
aload 6
getfield io.netty.util.DefaultAttributeMap$DefaultAttribute.next:Lio/netty/util/DefaultAttributeMap$DefaultAttribute;
astore 7
start local 7 20: aload 7
ifnonnull 26
21: new io.netty.util.DefaultAttributeMap$DefaultAttribute
dup
aload 4
aload 1
invokespecial io.netty.util.DefaultAttributeMap$DefaultAttribute.<init>:(Lio/netty/util/DefaultAttributeMap$DefaultAttribute;Lio/netty/util/AttributeKey;)V
astore 8
start local 8 22: aload 6
aload 8
putfield io.netty.util.DefaultAttributeMap$DefaultAttribute.next:Lio/netty/util/DefaultAttributeMap$DefaultAttribute;
23: aload 8
aload 6
putfield io.netty.util.DefaultAttributeMap$DefaultAttribute.prev:Lio/netty/util/DefaultAttributeMap$DefaultAttribute;
24: aload 8
aload 5
monitorexit
25: areturn
end local 8 26: StackMap locals: io.netty.util.DefaultAttributeMap$DefaultAttribute
StackMap stack:
aload 7
getfield io.netty.util.DefaultAttributeMap$DefaultAttribute.key:Lio/netty/util/AttributeKey;
aload 1
if_acmpne 29
aload 7
getfield io.netty.util.DefaultAttributeMap$DefaultAttribute.removed:Z
ifne 29
27: aload 7
aload 5
monitorexit
28: areturn
29: StackMap locals:
StackMap stack:
aload 7
astore 6
end local 7 30: goto 19
end local 6 31: StackMap locals: io.netty.util.DefaultAttributeMap io.netty.util.AttributeKey java.util.concurrent.atomic.AtomicReferenceArray int io.netty.util.DefaultAttributeMap$DefaultAttribute io.netty.util.DefaultAttributeMap$DefaultAttribute
StackMap stack: java.lang.Throwable
aload 5
monitorexit
32: athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lio/netty/util/DefaultAttributeMap;
0 33 1 key Lio/netty/util/AttributeKey<TT;>;
3 33 2 attributes Ljava/util/concurrent/atomic/AtomicReferenceArray<Lio/netty/util/DefaultAttributeMap$DefaultAttribute<*>;>;
8 33 3 i I
9 33 4 head Lio/netty/util/DefaultAttributeMap$DefaultAttribute<*>;
12 17 5 attr Lio/netty/util/DefaultAttributeMap$DefaultAttribute<TT;>;
19 31 6 curr Lio/netty/util/DefaultAttributeMap$DefaultAttribute<*>;
20 30 7 next Lio/netty/util/DefaultAttributeMap$DefaultAttribute<*>;
22 26 8 attr Lio/netty/util/DefaultAttributeMap$DefaultAttribute<TT;>;
Exception table:
from to target type
18 25 31 any
26 28 31 any
29 32 31 any
Signature: <T:Ljava/lang/Object;>(Lio/netty/util/AttributeKey<TT;>;)Lio/netty/util/Attribute<TT;>;
MethodParameters:
Name Flags
key
public <T> boolean hasAttr(io.netty.util.AttributeKey<T>);
descriptor: (Lio/netty/util/AttributeKey;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "key"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.util.DefaultAttributeMap.attributes:Ljava/util/concurrent/atomic/AtomicReferenceArray;
astore 2
start local 2 3: aload 2
ifnonnull 5
4: iconst_0
ireturn
5: StackMap locals: java.util.concurrent.atomic.AtomicReferenceArray
StackMap stack:
aload 1
invokestatic io.netty.util.DefaultAttributeMap.index:(Lio/netty/util/AttributeKey;)I
istore 3
start local 3 6: aload 2
iload 3
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
checkcast io.netty.util.DefaultAttributeMap$DefaultAttribute
astore 4
start local 4 7: aload 4
ifnonnull 9
8: iconst_0
ireturn
9: StackMap locals: int io.netty.util.DefaultAttributeMap$DefaultAttribute
StackMap stack:
aload 4
dup
astore 5
monitorenter
10: aload 4
getfield io.netty.util.DefaultAttributeMap$DefaultAttribute.next:Lio/netty/util/DefaultAttributeMap$DefaultAttribute;
astore 6
start local 6 11: goto 16
12: StackMap locals: io.netty.util.DefaultAttributeMap$DefaultAttribute io.netty.util.DefaultAttributeMap$DefaultAttribute
StackMap stack:
aload 6
getfield io.netty.util.DefaultAttributeMap$DefaultAttribute.key:Lio/netty/util/AttributeKey;
aload 1
if_acmpne 15
aload 6
getfield io.netty.util.DefaultAttributeMap$DefaultAttribute.removed:Z
ifne 15
13: aload 5
monitorexit
14: iconst_1
ireturn
15: StackMap locals:
StackMap stack:
aload 6
getfield io.netty.util.DefaultAttributeMap$DefaultAttribute.next:Lio/netty/util/DefaultAttributeMap$DefaultAttribute;
astore 6
16: StackMap locals:
StackMap stack:
aload 6
ifnonnull 12
17: aload 5
monitorexit
18: iconst_0
ireturn
end local 6 19: StackMap locals: io.netty.util.DefaultAttributeMap io.netty.util.AttributeKey java.util.concurrent.atomic.AtomicReferenceArray int io.netty.util.DefaultAttributeMap$DefaultAttribute io.netty.util.DefaultAttributeMap$DefaultAttribute
StackMap stack: java.lang.Throwable
aload 5
monitorexit
20: athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lio/netty/util/DefaultAttributeMap;
0 21 1 key Lio/netty/util/AttributeKey<TT;>;
3 21 2 attributes Ljava/util/concurrent/atomic/AtomicReferenceArray<Lio/netty/util/DefaultAttributeMap$DefaultAttribute<*>;>;
6 21 3 i I
7 21 4 head Lio/netty/util/DefaultAttributeMap$DefaultAttribute<*>;
11 19 6 curr Lio/netty/util/DefaultAttributeMap$DefaultAttribute<*>;
Exception table:
from to target type
10 14 19 any
15 18 19 any
19 20 19 any
Signature: <T:Ljava/lang/Object;>(Lio/netty/util/AttributeKey<TT;>;)Z
MethodParameters:
Name Flags
key
private static int index(io.netty.util.AttributeKey<?>);
descriptor: (Lio/netty/util/AttributeKey;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.netty.util.AttributeKey.id:()I
iconst_3
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 key Lio/netty/util/AttributeKey<*>;
Signature: (Lio/netty/util/AttributeKey<*>;)I
MethodParameters:
Name Flags
key
}
SourceFile: "DefaultAttributeMap.java"
NestMembers:
io.netty.util.DefaultAttributeMap$DefaultAttribute
InnerClasses:
private final DefaultAttribute = io.netty.util.DefaultAttributeMap$DefaultAttribute of io.netty.util.DefaultAttributeMap