public final class org.mongodb.morphia.utils.IterHelper<K, V>
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.mongodb.morphia.utils.IterHelper
super_class: java.lang.Object
{
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 Lorg/mongodb/morphia/utils/IterHelper<TK;TV;>;
public void loopMap(, org.mongodb.morphia.utils.IterHelper$MapIterCallback<K, V>);
descriptor: (Ljava/lang/Object;Lorg/mongodb/morphia/utils/IterHelper$MapIterCallback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
instanceof java.util.Collection
ifeq 4
3: new java.lang.IllegalArgumentException
dup
ldc "call loop instead"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
instanceof java.util.HashMap
ifeq 13
5: aload 1
checkcast java.util.HashMap
invokevirtual java.util.HashMap.isEmpty:()Z
ifeq 7
6: return
7: StackMap locals:
StackMap stack:
aload 1
checkcast java.util.HashMap
astore 3
start local 3 8: aload 3
invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 11
StackMap locals: org.mongodb.morphia.utils.IterHelper java.lang.Object org.mongodb.morphia.utils.IterHelper$MapIterCallback java.util.HashMap top java.util.Iterator
StackMap stack:
9: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 10: aload 2
aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
invokevirtual org.mongodb.morphia.utils.IterHelper$MapIterCallback.eval:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 4 11: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
12: return
end local 3 13: StackMap locals: org.mongodb.morphia.utils.IterHelper java.lang.Object org.mongodb.morphia.utils.IterHelper$MapIterCallback
StackMap stack:
aload 1
instanceof java.util.Map
ifeq 20
14: aload 1
checkcast java.util.Map
astore 3
start local 3 15: aload 3
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 18
StackMap locals: org.mongodb.morphia.utils.IterHelper java.lang.Object org.mongodb.morphia.utils.IterHelper$MapIterCallback java.util.Map top java.util.Iterator
StackMap stack:
16: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 17: aload 2
aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
invokevirtual org.mongodb.morphia.utils.IterHelper$MapIterCallback.eval:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 4 18: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
19: return
end local 3 20: StackMap locals: org.mongodb.morphia.utils.IterHelper java.lang.Object org.mongodb.morphia.utils.IterHelper$MapIterCallback
StackMap stack:
aload 1
instanceof org.bson.BSONObject
ifeq 26
21: aload 1
checkcast org.bson.BSONObject
astore 3
start local 3 22: aload 3
invokeinterface org.bson.BSONObject.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 25
StackMap locals: org.mongodb.morphia.utils.IterHelper java.lang.Object org.mongodb.morphia.utils.IterHelper$MapIterCallback org.bson.BSONObject top java.util.Iterator
StackMap stack:
23: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 24: aload 2
aload 4
aload 3
aload 4
invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
invokevirtual org.mongodb.morphia.utils.IterHelper$MapIterCallback.eval:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 4 25: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
end local 3 26: StackMap locals: org.mongodb.morphia.utils.IterHelper java.lang.Object org.mongodb.morphia.utils.IterHelper$MapIterCallback
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/mongodb/morphia/utils/IterHelper<TK;TV;>;
0 27 1 x Ljava/lang/Object;
0 27 2 callback Lorg/mongodb/morphia/utils/IterHelper$MapIterCallback<TK;TV;>;
8 13 3 hm Ljava/util/HashMap<**>;
10 11 4 e Ljava/util/Map$Entry<**>;
15 20 3 m Ljava/util/Map<TK;TV;>;
17 18 4 entry Ljava/util/Map$Entry<TK;TV;>;
22 26 3 m Lorg/bson/BSONObject;
24 25 4 k Ljava/lang/String;
Signature: (Ljava/lang/Object;Lorg/mongodb/morphia/utils/IterHelper$MapIterCallback<TK;TV;>;)V
MethodParameters:
Name Flags
x final
callback final
public void loopOrSingle(, org.mongodb.morphia.utils.IterHelper$IterCallback<V>);
descriptor: (Ljava/lang/Object;Lorg/mongodb/morphia/utils/IterHelper$IterCallback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
instanceof java.util.Collection
ifeq 9
3: aload 1
checkcast java.util.Collection
astore 3
start local 3 4: aload 3
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 7
StackMap locals: org.mongodb.morphia.utils.IterHelper java.lang.Object org.mongodb.morphia.utils.IterHelper$IterCallback java.util.Collection top java.util.Iterator
StackMap stack:
5: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 4
start local 4 6: aload 2
aload 4
invokevirtual org.mongodb.morphia.utils.IterHelper$IterCallback.eval:(Ljava/lang/Object;)V
end local 4 7: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: return
end local 3 9: StackMap locals: org.mongodb.morphia.utils.IterHelper java.lang.Object org.mongodb.morphia.utils.IterHelper$IterCallback
StackMap stack:
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifeq 16
10: aload 1
checkcast java.lang.Object[]
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 14
StackMap locals: org.mongodb.morphia.utils.IterHelper java.lang.Object org.mongodb.morphia.utils.IterHelper$IterCallback top int int java.lang.Object[]
StackMap stack:
11: aload 6
iload 4
aaload
astore 3
start local 3 12: aload 2
aload 3
invokevirtual org.mongodb.morphia.utils.IterHelper$IterCallback.eval:(Ljava/lang/Object;)V
end local 3 13: iinc 4 1
StackMap locals:
StackMap stack:
14: iload 4
iload 5
if_icmplt 11
15: return
16: StackMap locals: org.mongodb.morphia.utils.IterHelper java.lang.Object org.mongodb.morphia.utils.IterHelper$IterCallback
StackMap stack:
aload 2
aload 1
invokevirtual org.mongodb.morphia.utils.IterHelper$IterCallback.eval:(Ljava/lang/Object;)V
17: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/mongodb/morphia/utils/IterHelper<TK;TV;>;
0 18 1 x Ljava/lang/Object;
0 18 2 callback Lorg/mongodb/morphia/utils/IterHelper$IterCallback<TV;>;
4 9 3 l Ljava/util/Collection<*>;
6 7 4 o Ljava/lang/Object;
12 13 3 o Ljava/lang/Object;
Signature: (Ljava/lang/Object;Lorg/mongodb/morphia/utils/IterHelper$IterCallback<TV;>;)V
MethodParameters:
Name Flags
x final
callback final
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "IterHelper.java"
NestMembers:
org.mongodb.morphia.utils.IterHelper$IterCallback org.mongodb.morphia.utils.IterHelper$MapIterCallback
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
public abstract IterCallback = org.mongodb.morphia.utils.IterHelper$IterCallback of org.mongodb.morphia.utils.IterHelper
public abstract MapIterCallback = org.mongodb.morphia.utils.IterHelper$MapIterCallback of org.mongodb.morphia.utils.IterHelper