class org.apache.cassandra.utils.concurrent.Ref$InProgressVisit
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.cassandra.utils.concurrent.Ref$InProgressVisit
super_class: java.lang.Object
{
java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0000)
java.util.List<java.lang.reflect.Field> fields;
descriptor: Ljava/util/List;
flags: (0x0000)
Signature: Ljava/util/List<Ljava/lang/reflect/Field;>;
java.lang.Object o;
descriptor: Ljava/lang/Object;
flags: (0x0000)
int fieldIndex;
descriptor: I
flags: (0x0000)
java.lang.reflect.Field field;
descriptor: Ljava/lang/reflect/Field;
flags: (0x0000)
boolean isMapIterator;
descriptor: Z
flags: (0x0000)
java.util.Iterator<java.lang.Object> collectionIterator;
descriptor: Ljava/util/Iterator;
flags: (0x0000)
Signature: Ljava/util/Iterator<Ljava/lang/Object;>;
java.lang.Object mapEntryValue;
descriptor: Ljava/lang/Object;
flags: (0x0000)
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 // org.apache.cassandra.utils.concurrent.Ref$InProgressVisit this
0: .line 430
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 435
aload 0 /* this */
iconst_0
putfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.fieldIndex:I
2: .line 430
return
end local 0 // org.apache.cassandra.utils.concurrent.Ref$InProgressVisit this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/utils/concurrent/Ref$InProgressVisit;
private java.lang.reflect.Field nextField();
descriptor: ()Ljava/lang/reflect/Field;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 // org.apache.cassandra.utils.concurrent.Ref$InProgressVisit this
0: .line 448
aload 0 /* this */
getfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.fields:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 2
1: .line 449
aconst_null
areturn
2: .line 451
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.fieldIndex:I
aload 0 /* this */
getfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.fields:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 4
3: .line 452
aconst_null
areturn
4: .line 454
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.fields:Ljava/util/List;
aload 0 /* this */
getfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.fieldIndex:I
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.reflect.Field
astore 1 /* retval */
start local 1 // java.lang.reflect.Field retval
5: .line 455
aload 0 /* this */
dup
getfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.fieldIndex:I
iconst_1
iadd
putfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.fieldIndex:I
6: .line 456
aload 1 /* retval */
areturn
end local 1 // java.lang.reflect.Field retval
end local 0 // org.apache.cassandra.utils.concurrent.Ref$InProgressVisit this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/cassandra/utils/concurrent/Ref$InProgressVisit;
5 7 1 retval Ljava/lang/reflect/Field;
org.apache.cassandra.utils.Pair<java.lang.Object, java.lang.reflect.Field> nextChild();
descriptor: ()Lorg/apache/cassandra/utils/Pair;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=1
start local 0 // org.apache.cassandra.utils.concurrent.Ref$InProgressVisit this
0: .line 463
aload 0 /* this */
getfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.mapEntryValue:Ljava/lang/Object;
ifnull 4
1: .line 465
aload 0 /* this */
getfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.mapEntryValue:Ljava/lang/Object;
aload 0 /* this */
getfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.field:Ljava/lang/reflect/Field;
invokestatic org.apache.cassandra.utils.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/cassandra/utils/Pair;
astore 1 /* retval */
start local 1 // org.apache.cassandra.utils.Pair retval
2: .line 466
aload 0 /* this */
aconst_null
putfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.mapEntryValue:Ljava/lang/Object;
3: .line 467
aload 1 /* retval */
areturn
end local 1 // org.apache.cassandra.utils.Pair retval
4: .line 471
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.collectionIterator:Ljava/util/Iterator;
ifnull 16
5: .line 473
aload 0 /* this */
getfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.collectionIterator:Ljava/util/Iterator;
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
6: .line 474
aconst_null
areturn
7: .line 475
StackMap locals:
StackMap stack:
aconst_null
astore 1 /* nextItem */
start local 1 // java.lang.Object nextItem
8: .line 477
StackMap locals: java.lang.Object
StackMap stack:
aload 0 /* this */
getfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.collectionIterator:Ljava/util/Iterator;
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 9
aload 0 /* this */
getfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.collectionIterator:Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
dup
astore 1 /* nextItem */
ifnull 8
9: .line 478
StackMap locals:
StackMap stack:
aload 1 /* nextItem */
ifnull 15
10: .line 480
aload 0 /* this */
getfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.isMapIterator:Z
aload 1 /* nextItem */
instanceof java.util.Map$Entry
iand
ifeq 14
11: .line 482
aload 1 /* nextItem */
checkcast java.util.Map$Entry
astore 2 /* entry */
start local 2 // java.util.Map$Entry entry
12: .line 483
aload 0 /* this */
aload 2 /* entry */
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
putfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.mapEntryValue:Ljava/lang/Object;
13: .line 484
aload 2 /* entry */
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
aload 0 /* this */
getfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.field:Ljava/lang/reflect/Field;
invokestatic org.apache.cassandra.utils.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/cassandra/utils/Pair;
areturn
end local 2 // java.util.Map$Entry entry
14: .line 486
StackMap locals:
StackMap stack:
aload 1 /* nextItem */
aload 0 /* this */
getfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.field:Ljava/lang/reflect/Field;
invokestatic org.apache.cassandra.utils.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/cassandra/utils/Pair;
areturn
15: .line 490
StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 // java.lang.Object nextItem
16: .line 498
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.nextField:()Ljava/lang/reflect/Field;
astore 1 /* nextField */
start local 1 // java.lang.reflect.Field nextField
17: .line 499
aload 1 /* nextField */
ifnonnull 19
18: .line 500
aconst_null
areturn
19: .line 505
StackMap locals: java.lang.reflect.Field
StackMap stack:
aload 0 /* this */
getfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.o:Ljava/lang/Object;
instanceof java.lang.ref.WeakReference
aload 1 /* nextField */
invokevirtual java.lang.reflect.Field.getDeclaringClass:()Ljava/lang/Class;
ldc Ljava/lang/ref/Reference;
if_acmpne 20
iconst_1
goto 21
StackMap locals:
StackMap stack: int
20: iconst_0
StackMap locals: org.apache.cassandra.utils.concurrent.Ref$InProgressVisit java.lang.reflect.Field
StackMap stack: int int
21: iand
ifeq 23
22: .line 506
goto 16
23: .line 508
StackMap locals:
StackMap stack:
aload 1 /* nextField */
aload 0 /* this */
getfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.o:Ljava/lang/Object;
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2 /* nextObject */
start local 2 // java.lang.Object nextObject
24: .line 509
aload 2 /* nextObject */
ifnull 16
25: .line 510
aload 1 /* nextField */
aload 0 /* this */
getfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.o:Ljava/lang/Object;
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
aload 1 /* nextField */
invokestatic org.apache.cassandra.utils.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/cassandra/utils/Pair;
areturn
end local 2 // java.lang.Object nextObject
end local 1 // java.lang.reflect.Field nextField
end local 0 // org.apache.cassandra.utils.concurrent.Ref$InProgressVisit this
LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/apache/cassandra/utils/concurrent/Ref$InProgressVisit;
2 4 1 retval Lorg/apache/cassandra/utils/Pair<Ljava/lang/Object;Ljava/lang/reflect/Field;>;
8 16 1 nextItem Ljava/lang/Object;
12 14 2 entry Ljava/util/Map$Entry;
17 26 1 nextField Ljava/lang/reflect/Field;
24 26 2 nextObject Ljava/lang/Object;
Exceptions:
throws java.lang.IllegalAccessException
Signature: ()Lorg/apache/cassandra/utils/Pair<Ljava/lang/Object;Ljava/lang/reflect/Field;>;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 // org.apache.cassandra.utils.concurrent.Ref$InProgressVisit this
0: .line 517
aload 0 /* this */
getfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.field:Ljava/lang/reflect/Field;
ifnonnull 1
aload 0 /* this */
getfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.name:Ljava/lang/String;
goto 2
StackMap locals:
StackMap stack:
1: new java.lang.StringBuilder
dup
aload 0 /* this */
getfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.field:Ljava/lang/reflect/Field;
invokevirtual java.lang.reflect.Field.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0 /* this */
getfield org.apache.cassandra.utils.concurrent.Ref$InProgressVisit.o:Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
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;
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 0 // org.apache.cassandra.utils.concurrent.Ref$InProgressVisit this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/utils/concurrent/Ref$InProgressVisit;
}
SourceFile: "Ref.java"
NestHost: org.apache.cassandra.utils.concurrent.Ref
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
InProgressVisit = org.apache.cassandra.utils.concurrent.Ref$InProgressVisit of org.apache.cassandra.utils.concurrent.Ref