IDEA-209951 Inspection to detect when collection is accidentally passed as vararg and will be wrapped into one-element array

This commit is contained in:
Tagir Valeev
2019-04-04 19:21:52 +07:00
parent 8719fa339b
commit 4598cf2d46
9 changed files with 203 additions and 0 deletions
@@ -0,0 +1,20 @@
// "Call 'toArray(new String[0])'" "true"
import java.util.List;
import java.util.Objects;
class Test {
static <T> boolean contains(T needle, T... haystack) {
for (final T t : haystack) {
if (Objects.equals(t, needle)) {
return true;
}
}
return false;
}
void use(List<String> list, String s) {
if (contains(s, list.toArray(new String[0]))) {
}
}
}
@@ -0,0 +1,20 @@
// "Call 'toArray(new String[0])'" "true"
import java.util.List;
import java.util.Objects;
class Test {
static <T> boolean contains(T needle, T... haystack) {
for (final T t : haystack) {
if (Objects.equals(t, needle)) {
return true;
}
}
return false;
}
void use(List<String> list, String s) {
if (contains(s, <caret>list)) {
}
}
}
@@ -0,0 +1,20 @@
// "Call 'toArray(new String[0])'" "false"
import java.util.List;
import java.util.Objects;
class Test {
static <T> boolean contains(T needle, T... haystack) {
for (final T t : haystack) {
if (Objects.equals(t, needle)) {
return true;
}
}
return false;
}
void useOk(List<String> list, List<String> s) {
if (contains(s, <caret>list)) {
}
}
}