| package com.siyeh.igtest.j2me.simplifiable_if_statement; |
| |
| public class SimplifiableIfStatement { |
| public void foo() { |
| boolean a = bar(); |
| boolean b = bar(); |
| final boolean i; |
| <warning descr="'if' statement can be replaced with 'i = !a || b;'">if</warning> (a) { |
| i = b; |
| } else { |
| i = true; |
| } |
| final boolean j; |
| <warning descr="'if' statement can be replaced with 'j = a || b;'">if</warning> (a) { |
| j = true; |
| } else { |
| j = b; |
| } |
| final boolean k; |
| <warning descr="'if' statement can be replaced with 'k = a && b;'">if</warning> (a) { |
| k = b; |
| } else { |
| k = false; |
| } |
| final boolean l; |
| <warning descr="'if' statement can be replaced with 'l = !a && b;'">if</warning> (a) { |
| l = false; |
| } else { |
| l = b; |
| } |
| } |
| |
| private boolean bar(){ |
| return true; |
| } |
| |
| public boolean foo1() { |
| boolean a = bar(); |
| boolean b = bar(); |
| <warning descr="'if' statement can be replaced with 'return !a || b;'">if</warning> (a) { |
| return b; |
| } else { |
| return true; |
| } |
| } |
| |
| public boolean foo2() { |
| boolean a = bar(); |
| boolean b = bar(); |
| <warning descr="'if' statement can be replaced with 'return a || b;'">if</warning> (a) { |
| return true; |
| } else { |
| return b; |
| } |
| } |
| |
| public boolean foo3() { |
| boolean a = bar(); |
| boolean b = bar(); |
| <warning descr="'if' statement can be replaced with 'return !a && b;'">if</warning> (a) { |
| return false; |
| } else { |
| return b; |
| } |
| } |
| |
| public boolean foo4() { |
| boolean a = bar(); |
| boolean b = bar(); |
| <warning descr="'if' statement can be replaced with 'return a && b;'">if</warning> (a) { |
| return b; |
| } else { |
| return false; |
| } |
| } |
| |
| public static boolean original(boolean a, boolean b, boolean c, boolean d) { |
| |
| <warning descr="'if' statement can be replaced with 'return (a || b) && (c || d);'">if</warning> (!(a || b)) { |
| return false; |
| } |
| |
| return c || d; |
| } |
| |
| Boolean wrong1(int i) { |
| if (i == 3) { |
| return null; |
| } |
| return false; |
| } |
| |
| void wrong2(int i) { |
| Boolean a; |
| if (i == 3) { |
| a = null; |
| } else { |
| a = false; |
| } |
| } |
| |
| boolean m(boolean b1, boolean b2, boolean b3, boolean b4, boolean i) { |
| <warning descr="'if' statement can be replaced with 'return b1!=b2==b3!=b4 && (i = true);'">if</warning> (b1 == b2 == b3 == b4) { |
| return false; |
| } |
| return i = true; |
| } |
| } |