diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md index 191d9f5e87..cc0ca22491 100644 --- a/docs/pages/release_notes.md +++ b/docs/pages/release_notes.md @@ -188,6 +188,7 @@ are deprecated as internal API. * [#2730](https://github.com/pmd/pmd/pull/2730): Cleanup: StringBuilder issues - [XenoAmess](https://github.com/XenoAmess) * [#2731](https://github.com/pmd/pmd/pull/2731): Cleanup: avoid compiling Patterns repeatedly - [XenoAmess](https://github.com/XenoAmess) * [#2732](https://github.com/pmd/pmd/pull/2732): Cleanup: use StandardCharsets instead of Charset.forName - [XenoAmess](https://github.com/XenoAmess) +* [#2733](https://github.com/pmd/pmd/pull/2733): Cleanup: Collection::addAll issues - [XenoAmess](https://github.com/XenoAmess) * [#2734](https://github.com/pmd/pmd/pull/2734): Cleanup: use try with resources - [XenoAmess](https://github.com/XenoAmess) diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/qname/ImmutableList.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/qname/ImmutableList.java index 57335743c2..726dbceac9 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/qname/ImmutableList.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/qname/ImmutableList.java @@ -563,11 +563,7 @@ interface ImmutableList extends List { @Override public List toList() { - List result = new ArrayList<>(size()); - for (E item : this) { - result.add(item); - } - return result; + return new ArrayList<>(this); } diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/JUnitUseExpectedRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/JUnitUseExpectedRule.java index e02b4069b2..c1fa59109d 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/JUnitUseExpectedRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/JUnitUseExpectedRule.java @@ -58,8 +58,7 @@ public class JUnitUseExpectedRule extends AbstractJUnitRule { if (child instanceof ASTMethodDeclaration) { boolean isJUnitMethod = isJUnitMethod((ASTMethodDeclaration) child, data); if (inAnnotation || isJUnitMethod) { - List found = new ArrayList<>(); - found.addAll((List) visit((ASTMethodDeclaration) child, data)); + List found = new ArrayList<>((List) visit((ASTMethodDeclaration) child, data)); for (Node name : found) { addViolation(data, name); } diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/UnusedPrivateFieldRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/UnusedPrivateFieldRule.java index 0fed0d1aa2..6cc74ef41f 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/UnusedPrivateFieldRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/UnusedPrivateFieldRule.java @@ -32,8 +32,7 @@ public class UnusedPrivateFieldRule extends AbstractLombokAwareRule { @Override protected Collection defaultSuppressionAnnotations() { - Collection defaultValues = new ArrayList<>(); - defaultValues.addAll(super.defaultSuppressionAnnotations()); + Collection defaultValues = new ArrayList<>(super.defaultSuppressionAnnotations()); defaultValues.add("java.lang.Deprecated"); defaultValues.add("javafx.fxml.FXML"); defaultValues.add("lombok.experimental.Delegate"); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/SingularFieldRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/SingularFieldRule.java index 802edaa79b..ce1777ce48 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/SingularFieldRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/SingularFieldRule.java @@ -61,8 +61,7 @@ public class SingularFieldRule extends AbstractLombokAwareRule { @Override protected Collection defaultSuppressionAnnotations() { - Collection defaultValues = new ArrayList<>(); - defaultValues.addAll(super.defaultSuppressionAnnotations()); + Collection defaultValues = new ArrayList<>(super.defaultSuppressionAnnotations()); defaultValues.add("lombok.experimental.Delegate"); defaultValues.add("lombok.EqualsAndHashCode"); return defaultValues; diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/typeresolution/testdata/MethodFirstPhase.java b/pmd-java/src/test/java/net/sourceforge/pmd/typeresolution/testdata/MethodFirstPhase.java index 6073c907b7..f889b1a659 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/typeresolution/testdata/MethodFirstPhase.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/typeresolution/testdata/MethodFirstPhase.java @@ -19,8 +19,7 @@ public class MethodFirstPhase { Exception b = vararg((Number) null); - Set set = new HashSet<>(); - set.addAll(Arrays.asList("a", "b")); // TODO: return type of method call Arrays.asList is missing + Set set = new HashSet<>(Arrays.asList("a", "b")); // TODO: return type of method call Arrays.asList is missing List myList = new ArrayList<>(); Collections.sort(myList); // TODO: generic type variables on methods diff --git a/pmd-jsp/src/test/java/net/sourceforge/pmd/lang/jsp/ast/JspDocStyleTest.java b/pmd-jsp/src/test/java/net/sourceforge/pmd/lang/jsp/ast/JspDocStyleTest.java index 26a54a3f8b..52023dfe40 100644 --- a/pmd-jsp/src/test/java/net/sourceforge/pmd/lang/jsp/ast/JspDocStyleTest.java +++ b/pmd-jsp/src/test/java/net/sourceforge/pmd/lang/jsp/ast/JspDocStyleTest.java @@ -784,8 +784,7 @@ public class JspDocStyleTest extends AbstractJspNodesTst { * @return */ private List sortNodesByName(Collection elements) { - List list = new ArrayList<>(); - list.addAll(elements); + List list = new ArrayList<>(elements); Collections.sort(list, new Comparator() { public int compare(ASTElement o1, ASTElement o2) { if (o1.getName() == null) { @@ -812,8 +811,7 @@ public class JspDocStyleTest extends AbstractJspNodesTst { * @return */ private List sortByImage(Collection elements) { - List list = new ArrayList<>(); - list.addAll(elements); + List list = new ArrayList<>(elements); Collections.sort(list, new Comparator() { public int compare(Node o1, Node o2) { if (o1.getImage() == null) {