class org.apache.commons.collections.bag.AbstractMapBag$BagIterator implements java.util.Iterator
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.commons.collections.bag.AbstractMapBag$BagIterator
super_class: java.lang.Object
{
private org.apache.commons.collections.bag.AbstractMapBag parent;
descriptor: Lorg/apache/commons/collections/bag/AbstractMapBag;
flags: (0x0002) ACC_PRIVATE
private java.util.Iterator entryIterator;
descriptor: Ljava/util/Iterator;
flags: (0x0002) ACC_PRIVATE
private java.util.Map$Entry current;
descriptor: Ljava/util/Map$Entry;
flags: (0x0002) ACC_PRIVATE
private int itemCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final int mods;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean canRemove;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>(org.apache.commons.collections.bag.AbstractMapBag);
descriptor: (Lorg/apache/commons/collections/bag/AbstractMapBag;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // org.apache.commons.collections.bag.AbstractMapBag$BagIterator this
start local 1 // org.apache.commons.collections.bag.AbstractMapBag parent
0: .line 193
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 194
aload 0 /* this */
aload 1 /* parent */
putfield org.apache.commons.collections.bag.AbstractMapBag$BagIterator.parent:Lorg/apache/commons/collections/bag/AbstractMapBag;
2: .line 195
aload 0 /* this */
aload 1 /* parent */
getfield org.apache.commons.collections.bag.AbstractMapBag.map:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
putfield org.apache.commons.collections.bag.AbstractMapBag$BagIterator.entryIterator:Ljava/util/Iterator;
3: .line 196
aload 0 /* this */
aconst_null
putfield org.apache.commons.collections.bag.AbstractMapBag$BagIterator.current:Ljava/util/Map$Entry;
4: .line 197
aload 0 /* this */
aload 1 /* parent */
getfield org.apache.commons.collections.bag.AbstractMapBag.modCount:I
putfield org.apache.commons.collections.bag.AbstractMapBag$BagIterator.mods:I
5: .line 198
aload 0 /* this */
iconst_0
putfield org.apache.commons.collections.bag.AbstractMapBag$BagIterator.canRemove:Z
6: .line 199
return
end local 1 // org.apache.commons.collections.bag.AbstractMapBag parent
end local 0 // org.apache.commons.collections.bag.AbstractMapBag$BagIterator this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/commons/collections/bag/AbstractMapBag$BagIterator;
0 7 1 parent Lorg/apache/commons/collections/bag/AbstractMapBag;
MethodParameters:
Name Flags
parent
public boolean hasNext();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.apache.commons.collections.bag.AbstractMapBag$BagIterator this
0: .line 202
aload 0 /* this */
getfield org.apache.commons.collections.bag.AbstractMapBag$BagIterator.itemCount:I
ifgt 1
aload 0 /* this */
getfield org.apache.commons.collections.bag.AbstractMapBag$BagIterator.entryIterator:Ljava/util/Iterator;
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 // org.apache.commons.collections.bag.AbstractMapBag$BagIterator this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/collections/bag/AbstractMapBag$BagIterator;
public java.lang.Object next();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 // org.apache.commons.collections.bag.AbstractMapBag$BagIterator this
0: .line 206
aload 0 /* this */
getfield org.apache.commons.collections.bag.AbstractMapBag$BagIterator.parent:Lorg/apache/commons/collections/bag/AbstractMapBag;
getfield org.apache.commons.collections.bag.AbstractMapBag.modCount:I
aload 0 /* this */
getfield org.apache.commons.collections.bag.AbstractMapBag$BagIterator.mods:I
if_icmpeq 2
1: .line 207
new java.util.ConcurrentModificationException
dup
invokespecial java.util.ConcurrentModificationException.<init>:()V
athrow
2: .line 209
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.commons.collections.bag.AbstractMapBag$BagIterator.itemCount:I
ifne 5
3: .line 210
aload 0 /* this */
aload 0 /* this */
getfield org.apache.commons.collections.bag.AbstractMapBag$BagIterator.entryIterator:Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
putfield org.apache.commons.collections.bag.AbstractMapBag$BagIterator.current:Ljava/util/Map$Entry;
4: .line 211
aload 0 /* this */
aload 0 /* this */
getfield org.apache.commons.collections.bag.AbstractMapBag$BagIterator.current:Ljava/util/Map$Entry;
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.apache.commons.collections.bag.AbstractMapBag$MutableInteger
getfield org.apache.commons.collections.bag.AbstractMapBag$MutableInteger.value:I
putfield org.apache.commons.collections.bag.AbstractMapBag$BagIterator.itemCount:I
5: .line 213
StackMap locals:
StackMap stack:
aload 0 /* this */
iconst_1
putfield org.apache.commons.collections.bag.AbstractMapBag$BagIterator.canRemove:Z
6: .line 214
aload 0 /* this */
dup
getfield org.apache.commons.collections.bag.AbstractMapBag$BagIterator.itemCount:I
iconst_1
isub
putfield org.apache.commons.collections.bag.AbstractMapBag$BagIterator.itemCount:I
7: .line 215
aload 0 /* this */
getfield org.apache.commons.collections.bag.AbstractMapBag$BagIterator.current:Ljava/util/Map$Entry;
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
areturn
end local 0 // org.apache.commons.collections.bag.AbstractMapBag$BagIterator this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/commons/collections/bag/AbstractMapBag$BagIterator;
public void remove();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 // org.apache.commons.collections.bag.AbstractMapBag$BagIterator this
0: .line 219
aload 0 /* this */
getfield org.apache.commons.collections.bag.AbstractMapBag$BagIterator.parent:Lorg/apache/commons/collections/bag/AbstractMapBag;
getfield org.apache.commons.collections.bag.AbstractMapBag.modCount:I
aload 0 /* this */
getfield org.apache.commons.collections.bag.AbstractMapBag$BagIterator.mods:I
if_icmpeq 2
1: .line 220
new java.util.ConcurrentModificationException
dup
invokespecial java.util.ConcurrentModificationException.<init>:()V
athrow
2: .line 222
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.commons.collections.bag.AbstractMapBag$BagIterator.canRemove:Z
ifne 4
3: .line 223
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
4: .line 225
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.commons.collections.bag.AbstractMapBag$BagIterator.current:Ljava/util/Map$Entry;
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.apache.commons.collections.bag.AbstractMapBag$MutableInteger
astore 1 /* mut */
start local 1 // org.apache.commons.collections.bag.AbstractMapBag$MutableInteger mut
5: .line 226
aload 1 /* mut */
getfield org.apache.commons.collections.bag.AbstractMapBag$MutableInteger.value:I
iconst_1
if_icmple 8
6: .line 227
aload 1 /* mut */
dup
getfield org.apache.commons.collections.bag.AbstractMapBag$MutableInteger.value:I
iconst_1
isub
putfield org.apache.commons.collections.bag.AbstractMapBag$MutableInteger.value:I
7: .line 228
goto 9
8: .line 229
StackMap locals: org.apache.commons.collections.bag.AbstractMapBag$MutableInteger
StackMap stack:
aload 0 /* this */
getfield org.apache.commons.collections.bag.AbstractMapBag$BagIterator.entryIterator:Ljava/util/Iterator;
invokeinterface java.util.Iterator.remove:()V
9: .line 231
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.commons.collections.bag.AbstractMapBag$BagIterator.parent:Lorg/apache/commons/collections/bag/AbstractMapBag;
dup
getfield org.apache.commons.collections.bag.AbstractMapBag.size:I
iconst_1
isub
putfield org.apache.commons.collections.bag.AbstractMapBag.size:I
10: .line 232
aload 0 /* this */
iconst_0
putfield org.apache.commons.collections.bag.AbstractMapBag$BagIterator.canRemove:Z
11: .line 233
return
end local 1 // org.apache.commons.collections.bag.AbstractMapBag$MutableInteger mut
end local 0 // org.apache.commons.collections.bag.AbstractMapBag$BagIterator this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/commons/collections/bag/AbstractMapBag$BagIterator;
5 12 1 mut Lorg/apache/commons/collections/bag/AbstractMapBag$MutableInteger;
}
SourceFile: "AbstractMapBag.java"
NestHost: org.apache.commons.collections.bag.AbstractMapBag
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
BagIterator = org.apache.commons.collections.bag.AbstractMapBag$BagIterator of org.apache.commons.collections.bag.AbstractMapBag
protected MutableInteger = org.apache.commons.collections.bag.AbstractMapBag$MutableInteger of org.apache.commons.collections.bag.AbstractMapBag