Closed Manouchehri closed 8 years ago
How is this a bug? You obviously can't expect to get the exact same bytecode back after decompiling and recompiling. You're lucky when it compiles at all.
@Storyyeller I think you misread what I wrote. Let me write it out in a table to be a bit more clear.
aload_0; dup
== test++
aload_0; aload_0
== test = test + 1
aload_0; dup
!= test = test + 1
aload_0; aload_0
!= test++
Krakatau is incorrectly decompiling aload_0; dup
as test = test + 1
instead of test++
.
Because CFR, Fernflower and Procyon all correctly decompile aload_0; dup
as test++
, that implies to me that it's a Krakatau bug.
It's not a bug because the expressions are equivalent.
Running across an odd issue where it appears that Java doesn't compile
test + 1
as the same astest++
.Original functions
Krakatau output
CFR, Fernflower and Procyon all decompile to
++this.demoVotes;
and++this.repubVotes;
.