IDEA-169534 Decompiler overuses ternary operation

This commit is contained in:
Egor.Ushakov
2017-04-03 17:15:31 +03:00
parent 024978848c
commit e09e303e71
5 changed files with 166 additions and 1 deletions

View File

@@ -0,0 +1,48 @@
package pkg;
import java.lang.Math;
public class TestIffSimplification {
public int simpleIff(boolean status, int[] values) {
return status ? values[0] : values[1];
}
public int simpleIf(boolean status, int[] values) {
if (status) {
return values[0];
}
else {
return values[1];
}
}
public int nestedIf(boolean status, boolean condition, int[] values) {
if (status) {
if (condition) {
return values[2];
}
else {
return values[0];
}
}
else {
return values[1];
}
}
public int compareTo(int mc1, int mc2, byte csg1, byte csg2, double score1, double score2, int doc1, int doc2) {
if (mc1 != mc2) {
return mc1 < mc2 ? 1 : -1;
}
if (csg1 != csg2) {
return csg1 < csg2 ? 1 : -1;
}
if (Math.abs(score1 - score2) < 1e-6) {
return doc1 < doc2 ? -1 : 1;
}
return score1 < score2 ? 1 : -1;
}
}