From d74484e368ebfd63e008054929ea527f8ffda43c Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Wed, 25 Sep 2024 10:42:46 +0200 Subject: [PATCH] Java: enable "Record pattern can be used" by default at warning level (IDEA-359690) and make it a cleanup tool. GitOrigin-RevId: 3bb400491d44ab901660d900c6ce73e76bdf6261 --- .../DeconstructionCanBeUsedInspection.java | 2 +- .../src/META-INF/InspectionGadgets.xml | 4 ++-- .../DeconstructionCanBeUsed.html | 24 +++++++++---------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/java/java-impl-inspections/src/com/intellij/codeInspection/DeconstructionCanBeUsedInspection.java b/java/java-impl-inspections/src/com/intellij/codeInspection/DeconstructionCanBeUsedInspection.java index 98e93e130f3d..489c1725a705 100644 --- a/java/java-impl-inspections/src/com/intellij/codeInspection/DeconstructionCanBeUsedInspection.java +++ b/java/java-impl-inspections/src/com/intellij/codeInspection/DeconstructionCanBeUsedInspection.java @@ -22,7 +22,7 @@ import org.jetbrains.annotations.Nullable; import java.util.*; -public final class DeconstructionCanBeUsedInspection extends AbstractBaseJavaLocalInspectionTool { +public final class DeconstructionCanBeUsedInspection extends AbstractBaseJavaLocalInspectionTool implements CleanupLocalInspectionTool { @Override public @NotNull Set<@NotNull JavaFeature> requiredFeatures() { diff --git a/java/java-impl/src/META-INF/InspectionGadgets.xml b/java/java-impl/src/META-INF/InspectionGadgets.xml index d789f2952ce3..dee5ec41e992 100644 --- a/java/java-impl/src/META-INF/InspectionGadgets.xml +++ b/java/java-impl/src/META-INF/InspectionGadgets.xml @@ -2761,10 +2761,10 @@ groupBundle="messages.InspectionsBundle" groupKey="group.names.language.level.specific.issues.and.migration.aids" implementationClass="com.intellij.codeInspection.ForEachWithRecordPatternCanBeUsedInspection" cleanupTool="true"/> + implementationClass="com.intellij.codeInspection.DeconstructionCanBeUsedInspection" cleanupTool="true"/> Example:


-  record Point(int x, int y) {}
-
-  static void printSum(Object obj) {
-    if (obj instanceof Point p) {
-      int x = p.x();
-      int y = p.y();
-      System.out.println(x + y);
+  record Point(int x, int y) {
+    static void printSum(Object obj) {
+      if (obj instanceof Point p) {
+        int x = p.x();
+        int y = p.y();
+        System.out.println(x + y);
+      }
     }
   }
 

After the quick-fix is applied:


-  record Point(int x, int y) {}
-
-  static void printSum(Object obj) {
-    if (obj instanceof Point(int x, int y)) {
-      System.out.println(x + y);
+  record Point(int x, int y) {
+    static void printSum(Object obj) {
+      if (obj instanceof Point(int x, int y)) {
+        System.out.println(x + y);
+      }
     }
   }