Код: Выделить всё
loop {
if ([ 119 ifeq] var_17_9.hasNext() /* target: 148 */) {
[ 129 astore] Object var_12_10(1) = var_17_9.next();
if ([ 142 ifeq] c0.v(var_18_8, (String)var_12_10, 0) /* target: 112 */) {
[ 145 goto] goto 151;
}
}
else {
[ 149 astore] Object var_12_12(1) = null;
}
if ([ 153 ifnonnull] var_12_12 == null /* target: 161 */) {
[ 157 istore_2] var_2_11(0) = 1;
}
else {
[ 162 istore_2] var_2_11(0) = 0;
}
if ([ 164 ifeq] var_2_11 /* target: 177 */) {
[ 171 invokeinterface] var_13_3.add(var_14_7);
}
}
Код: Выделить всё
112: aload 17
114: invokeinterface #91, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
119: ifeq 148
122: aload 17
124: invokeinterface #94, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
129: astore 12
131: aload 18
133: aload 12
135: checkcast #96 // class java/lang/String
138: iconst_0
139: invokestatic #99 // Method yo4/c0.v:(Ljava/lang/String;Ljava/lang/String;Z)Z
142: ifeq 112
145: goto 151
148: aconst_null
149: astore 12
151: aload 12
153: ifnonnull 161
156: iconst_1
157: istore_2
158: goto 163
161: iconst_0
162: istore_2
163: iload_2
164: ifeq 177
167: aload 13
169: aload 14
171: invokeinterface #105, 2 // InterfaceMethod java/util/Collection.add:(Ljava/lang/Object;)Z
176: pop
Код: Выделить всё
ifeqследующая инструкция 145 – это переход
или какая версия jdk может скомпилировать такой оператор if
Подробнее здесь: https://stackoverflow.com/questions/790 ... on-in-loop