From e76cdfdf594fcc77cb93580477e09cfa6ecb05ec Mon Sep 17 00:00:00 2001 From: Vincent Potucek Date: Sun, 13 Jul 2025 15:32:16 +0200 Subject: [PATCH 1/7] EqualsAvoidsNull --- .../pmd/lang/apex/SuppressWarningsTest.java | 2 +- .../pmd/lang/DummyLanguageModule.java | 2 +- .../ast/internal/NodeStreamBlanketTest.java | 2 +- .../rule/internal/LatticeRelationTest.java | 2 +- .../pmd/util/IteratorUtilTest.java | 2 +- .../util/treeexport/XmlTreeRendererTest.java | 2 +- .../ast/ASTAnnotationTypeDeclaration.java | 4 +- .../rule/performance/stringtostring/User.java | 6 -- .../symbols/internal/TypeAnnotTestUtil.java | 8 +- .../java/ast/InfiniteLoopInLookahead.java | 2 +- .../typescript/ast/TypeScriptLexerBase.java | 4 +- pom.xml | 80 +++++++++++++++++++ 12 files changed, 95 insertions(+), 21 deletions(-) diff --git a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/SuppressWarningsTest.java b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/SuppressWarningsTest.java index 2fea34a088a..a569c39b94d 100644 --- a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/SuppressWarningsTest.java +++ b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/SuppressWarningsTest.java @@ -31,7 +31,7 @@ public String getMessage() { @Override public Object visit(ASTUserClass clazz, Object ctx) { - if (clazz.getSimpleName().equalsIgnoreCase("bar")) { + if ("bar".equalsIgnoreCase(clazz.getSimpleName())) { asCtx(ctx).addViolation(clazz); } return super.visit(clazz, ctx); diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/lang/DummyLanguageModule.java b/pmd-core/src/test/java/net/sourceforge/pmd/lang/DummyLanguageModule.java index 4138100bb8d..f040da86b59 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/lang/DummyLanguageModule.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/lang/DummyLanguageModule.java @@ -104,7 +104,7 @@ public static class Handler extends AbstractPmdLanguageVersionHandler { @Override public Parser getParser() { return task -> { - if (task.getLanguageVersion().getVersion().equals(PARSER_THROWS)) { + if (PARSER_THROWS.equals(task.getLanguageVersion().getVersion())) { throw new ParseException("ohio"); } return readLispNode(task); diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/lang/ast/internal/NodeStreamBlanketTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/lang/ast/internal/NodeStreamBlanketTest.java index 755f948c7c2..83be8001b3c 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/lang/ast/internal/NodeStreamBlanketTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/lang/ast/internal/NodeStreamBlanketTest.java @@ -236,7 +236,7 @@ static Collection> allNodeStreamVariants() { stream.precedingSiblings(), stream.descendantsOrSelf(), stream.children(), - stream.children().filter(c -> c.getImage().equals("0")), + stream.children().filter(c -> "0".equals(c.getImage())), stream.children(DummyNode.class) ) ).flatMap( diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/lang/rule/internal/LatticeRelationTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/lang/rule/internal/LatticeRelationTest.java index 1670e9307c7..df237b9d6d7 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/lang/rule/internal/LatticeRelationTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/lang/rule/internal/LatticeRelationTest.java @@ -207,7 +207,7 @@ void testFilterOnChain() { void testTransitiveSucc() { LatticeRelation> lattice = - stringLattice(s -> s.equals("c") || s.equals("bc")); + stringLattice(s -> "c".equals(s) || "bc".equals(s)); lattice.put("abc", "val"); lattice.put("bc", "v2"); diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/util/IteratorUtilTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/util/IteratorUtilTest.java index c58f39afc06..4be176e648d 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/util/IteratorUtilTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/util/IteratorUtilTest.java @@ -149,7 +149,7 @@ void testFlatmapEmpty2() { void testFlatmapIsLazy() { Iterator iter = iterOf("a", "b"); Function> fun = s -> { - if (s.equals("a")) { + if ("a".equals(s)) { return iterOf("a"); } else { throw new AssertionError("This statement shouldn't be reached"); diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/util/treeexport/XmlTreeRendererTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/util/treeexport/XmlTreeRendererTest.java index 49986694c60..10380a0c6cf 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/util/treeexport/XmlTreeRendererTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/util/treeexport/XmlTreeRendererTest.java @@ -130,7 +130,7 @@ void testRenderFilterAttributes() throws IOException { XmlRenderingConfig strategy = new XmlRenderingConfig() { @Override public boolean takeAttribute(Node node, Attribute attribute) { - return attribute.getName().equals("ohio"); + return "ohio".equals(attribute.getName()); } }.lineSeparator("\n"); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeDeclaration.java index f2551b3d1ec..c9968faacdf 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeDeclaration.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeDeclaration.java @@ -4,11 +4,9 @@ package net.sourceforge.pmd.lang.java.ast; -import net.sourceforge.pmd.lang.ast.Node; - /** * The declaration of an annotation type. - * This is a {@linkplain Node#isFindBoundary() find boundary} for tree traversal methods. + * This is a {@linkplain net.sourceforge.pmd.lang.ast.Node#isFindBoundary() find boundary} for tree traversal methods. * *

Note that in contrast to interface types, no {@linkplain ASTExtendsList extends clause} * is permitted, and an annotation type cannot be generic. diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/performance/stringtostring/User.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/performance/stringtostring/User.java index 2eb922808b0..6f2d313c98b 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/performance/stringtostring/User.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/performance/stringtostring/User.java @@ -4,15 +4,9 @@ package net.sourceforge.pmd.lang.java.rule.performance.stringtostring; -import java.util.Locale; - public class User { public String getName() { return "username"; } - - private String convert(String s) { - return s.toLowerCase(Locale.ROOT); - } } diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symbols/internal/TypeAnnotTestUtil.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symbols/internal/TypeAnnotTestUtil.java index 05ad17dba8d..37f0364fb7d 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symbols/internal/TypeAnnotTestUtil.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symbols/internal/TypeAnnotTestUtil.java @@ -84,13 +84,13 @@ public static A createAnnotationInstance(Class annotat @SuppressWarnings("unchecked") public static A createAnnotationInstance(Class annotationClass, Map attributes) { return (A) Proxy.newProxyInstance(annotationClass.getClassLoader(), new Class[] { annotationClass }, (proxy, method, args) -> { - if (method.getName().equals("annotationType") && args == null) { + if ("annotationType".equals(method.getName()) && args == null) { return annotationClass; - } else if (method.getName().equals("toString") && args == null) { + } else if ("toString".equals(method.getName()) && args == null) { return AnnotationUtils.toString((Annotation) proxy); - } else if (method.getName().equals("hashCode") && args == null) { + } else if ("hashCode".equals(method.getName()) && args == null) { return AnnotationUtils.hashCode((Annotation) proxy); - } else if (method.getName().equals("equals") && args.length == 1) { + } else if ("equals".equals(method.getName()) && args.length == 1) { if (args[0] instanceof Annotation) { return AnnotationUtils.equals((Annotation) proxy, (Annotation) args[0]); } diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/ast/InfiniteLoopInLookahead.java b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/ast/InfiniteLoopInLookahead.java index 55552bd48af..586e3cfadec 100644 --- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/ast/InfiniteLoopInLookahead.java +++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/ast/InfiniteLoopInLookahead.java @@ -2,7 +2,7 @@ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html */ -import java.util.*; +import java.util.List; public class InfiniteLoopInLookahead { diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/typescript/ast/TypeScriptLexerBase.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/typescript/ast/TypeScriptLexerBase.java index 7492de1e881..c7b5df68db9 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/typescript/ast/TypeScriptLexerBase.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/typescript/ast/TypeScriptLexerBase.java @@ -7,7 +7,9 @@ package net.sourceforge.pmd.lang.typescript.ast; -import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.Token; import java.util.ArrayDeque; import java.util.Deque; diff --git a/pom.xml b/pom.xml index 0de048dc04c..b00aa61352a 100644 --- a/pom.xml +++ b/pom.xml @@ -476,6 +476,82 @@ + + org.openrewrite.maven + rewrite-maven-plugin + 6.12.1 + + + **Chars.java + **Dummy**Rule.java + **FooRule.java + **jdkversiontests** + **missingoverride** + **private_method_in_inner_class_interface*.java + **testdata** + **unnecessaryimport** + **uselessoverridingmethod** + + + org.openrewrite.java.RemoveUnusedImports + org.openrewrite.staticanalysis.EqualsAvoidsNull + org.openrewrite.staticanalysis.ModifierOrder + org.openrewrite.staticanalysis.RedundantFileCreation + org.openrewrite.staticanalysis.RemoveUnusedPrivateMethods + + + + + + + + + + + + + + + + + + + + + + + + + + true + ${rewrite.skip} + + + + verify + + dryRun + + + + + + org.openrewrite.recipe + rewrite-static-analysis + 2.12.0 + + + org.openrewrite.recipe + rewrite-testing-frameworks + 3.12.0 + + + org.openrewrite.recipe + rewrite-migrate-java + 3.13.0 + + + org.apache.maven.plugins maven-checkstyle-plugin @@ -757,6 +833,10 @@ maven-checkstyle-plugin + + org.openrewrite.maven + rewrite-maven-plugin + org.apache.maven.plugins maven-javadoc-plugin From 34c4827209ef69ecb035c8b5a60fa3d8198b1e78 Mon Sep 17 00:00:00 2001 From: Vincent Potucek Date: Sun, 13 Jul 2025 15:48:23 +0200 Subject: [PATCH 2/7] EqualsAvoidsNull --- .../test/java/net/sourceforge/pmd/lang/DummyLanguageModule.java | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/lang/DummyLanguageModule.java b/pmd-core/src/test/java/net/sourceforge/pmd/lang/DummyLanguageModule.java index f040da86b59..4138100bb8d 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/lang/DummyLanguageModule.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/lang/DummyLanguageModule.java @@ -104,7 +104,7 @@ public static class Handler extends AbstractPmdLanguageVersionHandler { @Override public Parser getParser() { return task -> { - if (PARSER_THROWS.equals(task.getLanguageVersion().getVersion())) { + if (task.getLanguageVersion().getVersion().equals(PARSER_THROWS)) { throw new ParseException("ohio"); } return readLispNode(task); diff --git a/pom.xml b/pom.xml index b00aa61352a..70a34585be9 100644 --- a/pom.xml +++ b/pom.xml @@ -483,7 +483,7 @@ **Chars.java - **Dummy**Rule.java + **Dummy**.java **FooRule.java **jdkversiontests** **missingoverride** From 01509de91760e4c9a9d2072640e8fe843731c327 Mon Sep 17 00:00:00 2001 From: Vincent Potucek Date: Sun, 13 Jul 2025 16:06:26 +0200 Subject: [PATCH 3/7] EqualsAvoidsNull --- pom.xml | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/pom.xml b/pom.xml index 70a34585be9..d9661ab0779 100644 --- a/pom.xml +++ b/pom.xml @@ -498,30 +498,6 @@ org.openrewrite.staticanalysis.ModifierOrder org.openrewrite.staticanalysis.RedundantFileCreation org.openrewrite.staticanalysis.RemoveUnusedPrivateMethods - - - - - - - - - - - - - - - - - - - - - - - - true ${rewrite.skip} @@ -545,11 +521,6 @@ rewrite-testing-frameworks 3.12.0 - - org.openrewrite.recipe - rewrite-migrate-java - 3.13.0 - From dddbe0a36cd41e6b0eee1bf7f26ea1d923b228fb Mon Sep 17 00:00:00 2001 From: Vincent Potucek Date: Sun, 13 Jul 2025 16:20:54 +0200 Subject: [PATCH 4/7] EqualsAvoidsNull --- pom.xml | 3 --- 1 file changed, 3 deletions(-) diff --git a/pom.xml b/pom.xml index d9661ab0779..092c3f443d1 100644 --- a/pom.xml +++ b/pom.xml @@ -493,11 +493,8 @@ **uselessoverridingmethod** - org.openrewrite.java.RemoveUnusedImports org.openrewrite.staticanalysis.EqualsAvoidsNull org.openrewrite.staticanalysis.ModifierOrder - org.openrewrite.staticanalysis.RedundantFileCreation - org.openrewrite.staticanalysis.RemoveUnusedPrivateMethods true ${rewrite.skip} From 79d75cbfa51bd02fb6007b5e171f8bf41d291ad6 Mon Sep 17 00:00:00 2001 From: Vincent Potucek Date: Sun, 13 Jul 2025 16:21:13 +0200 Subject: [PATCH 5/7] EqualsAvoidsNull --- pom.xml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pom.xml b/pom.xml index 092c3f443d1..99aecfb3555 100644 --- a/pom.xml +++ b/pom.xml @@ -513,11 +513,6 @@ rewrite-static-analysis 2.12.0 - - org.openrewrite.recipe - rewrite-testing-frameworks - 3.12.0 - From c91bf43a1910a3496e892440af5e3f4d91a563bf Mon Sep 17 00:00:00 2001 From: Vincent Potucek Date: Sun, 13 Jul 2025 16:21:26 +0200 Subject: [PATCH 6/7] EqualsAvoidsNull --- .../sourceforge/pmd/lang/apex/SuppressWarningsTest.java | 2 +- .../pmd/lang/ast/internal/NodeStreamBlanketTest.java | 2 +- .../pmd/lang/rule/internal/LatticeRelationTest.java | 2 +- .../java/net/sourceforge/pmd/util/IteratorUtilTest.java | 2 +- .../pmd/util/treeexport/XmlTreeRendererTest.java | 2 +- .../pmd/lang/java/ast/ASTAnnotationTypeDeclaration.java | 4 +++- .../lang/java/rule/performance/stringtostring/User.java | 6 ++++++ .../pmd/lang/java/symbols/internal/TypeAnnotTestUtil.java | 8 ++++---- .../pmd/lang/java/ast/InfiniteLoopInLookahead.java | 2 +- .../pmd/lang/typescript/ast/TypeScriptLexerBase.java | 4 +--- 10 files changed, 20 insertions(+), 14 deletions(-) diff --git a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/SuppressWarningsTest.java b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/SuppressWarningsTest.java index a569c39b94d..2fea34a088a 100644 --- a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/SuppressWarningsTest.java +++ b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/SuppressWarningsTest.java @@ -31,7 +31,7 @@ public String getMessage() { @Override public Object visit(ASTUserClass clazz, Object ctx) { - if ("bar".equalsIgnoreCase(clazz.getSimpleName())) { + if (clazz.getSimpleName().equalsIgnoreCase("bar")) { asCtx(ctx).addViolation(clazz); } return super.visit(clazz, ctx); diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/lang/ast/internal/NodeStreamBlanketTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/lang/ast/internal/NodeStreamBlanketTest.java index 83be8001b3c..755f948c7c2 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/lang/ast/internal/NodeStreamBlanketTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/lang/ast/internal/NodeStreamBlanketTest.java @@ -236,7 +236,7 @@ static Collection> allNodeStreamVariants() { stream.precedingSiblings(), stream.descendantsOrSelf(), stream.children(), - stream.children().filter(c -> "0".equals(c.getImage())), + stream.children().filter(c -> c.getImage().equals("0")), stream.children(DummyNode.class) ) ).flatMap( diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/lang/rule/internal/LatticeRelationTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/lang/rule/internal/LatticeRelationTest.java index df237b9d6d7..1670e9307c7 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/lang/rule/internal/LatticeRelationTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/lang/rule/internal/LatticeRelationTest.java @@ -207,7 +207,7 @@ void testFilterOnChain() { void testTransitiveSucc() { LatticeRelation> lattice = - stringLattice(s -> "c".equals(s) || "bc".equals(s)); + stringLattice(s -> s.equals("c") || s.equals("bc")); lattice.put("abc", "val"); lattice.put("bc", "v2"); diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/util/IteratorUtilTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/util/IteratorUtilTest.java index 4be176e648d..c58f39afc06 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/util/IteratorUtilTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/util/IteratorUtilTest.java @@ -149,7 +149,7 @@ void testFlatmapEmpty2() { void testFlatmapIsLazy() { Iterator iter = iterOf("a", "b"); Function> fun = s -> { - if ("a".equals(s)) { + if (s.equals("a")) { return iterOf("a"); } else { throw new AssertionError("This statement shouldn't be reached"); diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/util/treeexport/XmlTreeRendererTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/util/treeexport/XmlTreeRendererTest.java index 10380a0c6cf..49986694c60 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/util/treeexport/XmlTreeRendererTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/util/treeexport/XmlTreeRendererTest.java @@ -130,7 +130,7 @@ void testRenderFilterAttributes() throws IOException { XmlRenderingConfig strategy = new XmlRenderingConfig() { @Override public boolean takeAttribute(Node node, Attribute attribute) { - return "ohio".equals(attribute.getName()); + return attribute.getName().equals("ohio"); } }.lineSeparator("\n"); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeDeclaration.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeDeclaration.java index c9968faacdf..f2551b3d1ec 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeDeclaration.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTAnnotationTypeDeclaration.java @@ -4,9 +4,11 @@ package net.sourceforge.pmd.lang.java.ast; +import net.sourceforge.pmd.lang.ast.Node; + /** * The declaration of an annotation type. - * This is a {@linkplain net.sourceforge.pmd.lang.ast.Node#isFindBoundary() find boundary} for tree traversal methods. + * This is a {@linkplain Node#isFindBoundary() find boundary} for tree traversal methods. * *

Note that in contrast to interface types, no {@linkplain ASTExtendsList extends clause} * is permitted, and an annotation type cannot be generic. diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/performance/stringtostring/User.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/performance/stringtostring/User.java index 6f2d313c98b..2eb922808b0 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/performance/stringtostring/User.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/performance/stringtostring/User.java @@ -4,9 +4,15 @@ package net.sourceforge.pmd.lang.java.rule.performance.stringtostring; +import java.util.Locale; + public class User { public String getName() { return "username"; } + + private String convert(String s) { + return s.toLowerCase(Locale.ROOT); + } } diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symbols/internal/TypeAnnotTestUtil.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symbols/internal/TypeAnnotTestUtil.java index 37f0364fb7d..05ad17dba8d 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symbols/internal/TypeAnnotTestUtil.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symbols/internal/TypeAnnotTestUtil.java @@ -84,13 +84,13 @@ public static A createAnnotationInstance(Class annotat @SuppressWarnings("unchecked") public static A createAnnotationInstance(Class annotationClass, Map attributes) { return (A) Proxy.newProxyInstance(annotationClass.getClassLoader(), new Class[] { annotationClass }, (proxy, method, args) -> { - if ("annotationType".equals(method.getName()) && args == null) { + if (method.getName().equals("annotationType") && args == null) { return annotationClass; - } else if ("toString".equals(method.getName()) && args == null) { + } else if (method.getName().equals("toString") && args == null) { return AnnotationUtils.toString((Annotation) proxy); - } else if ("hashCode".equals(method.getName()) && args == null) { + } else if (method.getName().equals("hashCode") && args == null) { return AnnotationUtils.hashCode((Annotation) proxy); - } else if ("equals".equals(method.getName()) && args.length == 1) { + } else if (method.getName().equals("equals") && args.length == 1) { if (args[0] instanceof Annotation) { return AnnotationUtils.equals((Annotation) proxy, (Annotation) args[0]); } diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/ast/InfiniteLoopInLookahead.java b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/ast/InfiniteLoopInLookahead.java index 586e3cfadec..55552bd48af 100644 --- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/ast/InfiniteLoopInLookahead.java +++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/ast/InfiniteLoopInLookahead.java @@ -2,7 +2,7 @@ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html */ -import java.util.List; +import java.util.*; public class InfiniteLoopInLookahead { diff --git a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/typescript/ast/TypeScriptLexerBase.java b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/typescript/ast/TypeScriptLexerBase.java index c7b5df68db9..7492de1e881 100644 --- a/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/typescript/ast/TypeScriptLexerBase.java +++ b/pmd-javascript/src/main/java/net/sourceforge/pmd/lang/typescript/ast/TypeScriptLexerBase.java @@ -7,9 +7,7 @@ package net.sourceforge.pmd.lang.typescript.ast; -import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Lexer; -import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.*; import java.util.ArrayDeque; import java.util.Deque; From 9dcbd4e882741e5191086f010602766aeb929918 Mon Sep 17 00:00:00 2001 From: Vincent Potucek Date: Sun, 13 Jul 2025 16:23:14 +0200 Subject: [PATCH 7/7] EqualsAvoidsNull --- .../sourceforge/pmd/lang/apex/SuppressWarningsTest.java | 2 +- .../pmd/lang/ast/internal/NodeStreamBlanketTest.java | 2 +- .../pmd/lang/rule/internal/LatticeRelationTest.java | 2 +- .../java/net/sourceforge/pmd/util/IteratorUtilTest.java | 2 +- .../pmd/util/treeexport/XmlTreeRendererTest.java | 2 +- .../pmd/lang/java/symbols/internal/TypeAnnotTestUtil.java | 8 ++++---- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/SuppressWarningsTest.java b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/SuppressWarningsTest.java index 2fea34a088a..a569c39b94d 100644 --- a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/SuppressWarningsTest.java +++ b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/SuppressWarningsTest.java @@ -31,7 +31,7 @@ public String getMessage() { @Override public Object visit(ASTUserClass clazz, Object ctx) { - if (clazz.getSimpleName().equalsIgnoreCase("bar")) { + if ("bar".equalsIgnoreCase(clazz.getSimpleName())) { asCtx(ctx).addViolation(clazz); } return super.visit(clazz, ctx); diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/lang/ast/internal/NodeStreamBlanketTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/lang/ast/internal/NodeStreamBlanketTest.java index 755f948c7c2..83be8001b3c 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/lang/ast/internal/NodeStreamBlanketTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/lang/ast/internal/NodeStreamBlanketTest.java @@ -236,7 +236,7 @@ static Collection> allNodeStreamVariants() { stream.precedingSiblings(), stream.descendantsOrSelf(), stream.children(), - stream.children().filter(c -> c.getImage().equals("0")), + stream.children().filter(c -> "0".equals(c.getImage())), stream.children(DummyNode.class) ) ).flatMap( diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/lang/rule/internal/LatticeRelationTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/lang/rule/internal/LatticeRelationTest.java index 1670e9307c7..df237b9d6d7 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/lang/rule/internal/LatticeRelationTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/lang/rule/internal/LatticeRelationTest.java @@ -207,7 +207,7 @@ void testFilterOnChain() { void testTransitiveSucc() { LatticeRelation> lattice = - stringLattice(s -> s.equals("c") || s.equals("bc")); + stringLattice(s -> "c".equals(s) || "bc".equals(s)); lattice.put("abc", "val"); lattice.put("bc", "v2"); diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/util/IteratorUtilTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/util/IteratorUtilTest.java index c58f39afc06..4be176e648d 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/util/IteratorUtilTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/util/IteratorUtilTest.java @@ -149,7 +149,7 @@ void testFlatmapEmpty2() { void testFlatmapIsLazy() { Iterator iter = iterOf("a", "b"); Function> fun = s -> { - if (s.equals("a")) { + if ("a".equals(s)) { return iterOf("a"); } else { throw new AssertionError("This statement shouldn't be reached"); diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/util/treeexport/XmlTreeRendererTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/util/treeexport/XmlTreeRendererTest.java index 49986694c60..10380a0c6cf 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/util/treeexport/XmlTreeRendererTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/util/treeexport/XmlTreeRendererTest.java @@ -130,7 +130,7 @@ void testRenderFilterAttributes() throws IOException { XmlRenderingConfig strategy = new XmlRenderingConfig() { @Override public boolean takeAttribute(Node node, Attribute attribute) { - return attribute.getName().equals("ohio"); + return "ohio".equals(attribute.getName()); } }.lineSeparator("\n"); diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symbols/internal/TypeAnnotTestUtil.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symbols/internal/TypeAnnotTestUtil.java index 05ad17dba8d..37f0364fb7d 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symbols/internal/TypeAnnotTestUtil.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/symbols/internal/TypeAnnotTestUtil.java @@ -84,13 +84,13 @@ public static A createAnnotationInstance(Class annotat @SuppressWarnings("unchecked") public static A createAnnotationInstance(Class annotationClass, Map attributes) { return (A) Proxy.newProxyInstance(annotationClass.getClassLoader(), new Class[] { annotationClass }, (proxy, method, args) -> { - if (method.getName().equals("annotationType") && args == null) { + if ("annotationType".equals(method.getName()) && args == null) { return annotationClass; - } else if (method.getName().equals("toString") && args == null) { + } else if ("toString".equals(method.getName()) && args == null) { return AnnotationUtils.toString((Annotation) proxy); - } else if (method.getName().equals("hashCode") && args == null) { + } else if ("hashCode".equals(method.getName()) && args == null) { return AnnotationUtils.hashCode((Annotation) proxy); - } else if (method.getName().equals("equals") && args.length == 1) { + } else if ("equals".equals(method.getName()) && args.length == 1) { if (args[0] instanceof Annotation) { return AnnotationUtils.equals((Annotation) proxy, (Annotation) args[0]); }