blob: 555bf464523e4dff053d114befdcfb251a8b9a2c [file] [log] [blame]
package com.siyeh.igtest.style.unnecessary_parentheses;
import java.util.List;
import java.util.ArrayList;
public class UnnecessaryParenthesesInspection
{
public int foo()
{
final String s = "foo" + (3 + 4); // do not warn here
final String t = ("foo" + 3) + 4; // but warn here
return (3); // warn
}
public void bar()
{
final int x = (3 + 4)*5; // no warn
final int q = (3 + 4)-5; // warn
final int p = 3 + (4-5); // warn!
final int y = 3 + (4*5); // warn
final int z = 3 + (4*(3*5)); // 2 warnings
final int k = 4 * (3 * 5); // warn
final int hash = ((this).hashCode()); // 2 warnings
final int hash2 = (("x" + "y").hashCode()); // 1 warning
List list = new ArrayList();
(list.subList(1, 2)).get(0); // warn
}
public boolean testParenRedundancy(boolean a, boolean b, boolean c) {
return a || (b || c); // warn
}
public int arg(int i,int j, int k) {
int result = 4 - (3 - 1); // no warn!
return i + (j + k); // warn
}
public boolean is(int value) {
int i = (new Integer(33)).intValue(); // warn
return value < 0 || value > 10
|| (value != 5); // warn
}
public void commutative() {
final int a = 1 - (2 - 3); // no warn;
final int b = (1 - 2) - 3; // warn;
System.out.println(1 << (1 << 2)); // no warn
}
public void instanceofTest(Object o) {
boolean b;
b = (o instanceof String);
final boolean b1 = (b) ? (true) : false;
}
// http://www.jetbrains.net/jira/browse/IDEADEV-34926
class ParenBug extends javax.swing.JPanel {
private int resolution;
private float pageWidth; // in cm.
private float pageHeight; // in cm.
public void foo() {
final float width = getSize().width; // actual width in dots
final float height = getSize().height; // actual height in dots
// to determine the ratio, do the following:
final float ratio;
if (pageWidth != -1) {
ratio = pageWidth / (width / (float) resolution * (float) 2.54); // should not warn here
} else {
ratio = pageHeight / (height / (float) resolution * (float) 2.54);
}
System.out.println("resolution: X=" + resolution);
System.out.println("page_width (cm): " + pageWidth);
System.out.println("ratio=" + ratio);
System.out.println(64 / (2 * 16 / 4 * 2 * 2));
}
}
class ParenthesesAroundLambda {
interface I {
void foo(int x, int y);
}
interface J {
void foo(int x);
}
{
I i = (x, y) -> {};
I i1 = (int x, int y) -> {};
J j = (x) -> {};
J j1 = (int x) -> {};
J j2 = x -> {};
}
}
void foo(Object a, boolean b) {
final boolean c = b == (a != null);
String s = "asdf" + (1 + 2 + "asdf");
boolean d = c == (1 < 3);
}
private static boolean placeEqualsLastArg(Object place, Object[] args) {
final Object[] objects = {(args.length - 1), 1};
return args.length > 0 && place.equals(args[(args.length - 1)]);// here are unnecessary parentheses inside args[...]
}
void uu() {
Object info = new Object[]{"abc"};
String s = (String)((Object[])info)[0];
}
void zz() {
int a = 10;
int b = 20;
final int i = a * ((b + 2) / 3); // no warn
final int j = a * ((b + 2) % 3); // no warn
}
}