The example gets decompiled into a for loop that potentially does a continue when it shouldn't.
Example
public class Test2 {
public void loop_end(){}
public void bar(){}
boolean bool;
public void testmethod() {
int rem = 10;
while(rem >= 0) {
if(rem >= 1) {
bar();
}
rem -= 2;
if(bool) loop_end();
}
}
}
This gets incorrectly decompiled as
/*
* Decompiled with CFR 0.151.
*/
public class Test2 {
boolean bool;
public void loop_end() {
}
public void bar() {
}
public void testmethod() {
for (int i = 10; i >= 0; i -= 2) {
if (i < 1) continue;
this.bar();
if (!this.bool) continue;
this.loop_end();
}
}
}
CFR version
CFR 0.151
Compiler
javac 1.8.0_144
Description
The example gets decompiled into a for loop that potentially does a continue when it shouldn't.
Example
This gets incorrectly decompiled as