diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/bigDecimalEquals/afterBigDecimalEquals.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/bigDecimalEquals/afterBigDecimalEquals.java index 5aecbc5914ef..b541476cf03f 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/bigDecimalEquals/afterBigDecimalEquals.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/bigDecimalEquals/afterBigDecimalEquals.java @@ -19,4 +19,10 @@ class BigDecimalEquals { System.out.println("equals"); } } + + boolean test(int x, BigDecimal d1, BigDecimal d2) { + return switch(x) { + default -> d1.compareTo(d2) == 0; + }; + } } diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/bigDecimalEquals/beforeBigDecimalEquals.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/bigDecimalEquals/beforeBigDecimalEquals.java index 91981c71408e..784633bef205 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/bigDecimalEquals/beforeBigDecimalEquals.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/bigDecimalEquals/beforeBigDecimalEquals.java @@ -19,4 +19,10 @@ class BigDecimalEquals { System.out.println("equals"); } } + + boolean test(int x, BigDecimal d1, BigDecimal d2) { + return switch(x) { + default -> d1.equals(d2); + }; + } } diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/numeric/BigDecimalEqualsInspection.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/numeric/BigDecimalEqualsInspection.java index 40b5915bd93c..d1c09b354b55 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/numeric/BigDecimalEqualsInspection.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/numeric/BigDecimalEqualsInspection.java @@ -19,9 +19,7 @@ import com.intellij.codeInsight.Nullability; import com.intellij.codeInspection.ProblemDescriptor; import com.intellij.codeInspection.dataFlow.NullabilityUtil; import com.intellij.openapi.project.Project; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiExpression; -import com.intellij.psi.PsiExpressionStatement; import com.intellij.psi.PsiMethodCallExpression; import com.intellij.psi.util.PsiTreeUtil; import com.siyeh.InspectionGadgetsBundle; @@ -93,8 +91,7 @@ public class BigDecimalEqualsInspection extends BaseInspection { PsiExpression right = check.getRight(); if (!ExpressionUtils.hasType(left, "java.math.BigDecimal")) return; if (!ExpressionUtils.hasType(right, "java.math.BigDecimal")) return; - final PsiElement context = expression.getParent(); - if (context instanceof PsiExpressionStatement) { + if (ExpressionUtils.isVoidContext(expression)) { //cheesy, but necessary, because otherwise the quickfix will // produce uncompilable code (out of merely incorrect code). return;