From a07259351dde9b1d8d5dfaf3cedc6b1e9f9691d1 Mon Sep 17 00:00:00 2001 From: Bartek Pacia Date: Fri, 25 Jul 2025 00:35:49 +0200 Subject: [PATCH] [java-intentions] IDEA-376348 Fix false positive resulting in generation of red code GitOrigin-RevId: 83bf865badb4dc8cde4c715ac6d457247acdc171 --- .../DefineParamsDefaultValueAction.java | 2 ++ .../beforeIDEA376348.java | 34 +++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/delegateWithDefaultValue/beforeIDEA376348.java diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/DefineParamsDefaultValueAction.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/DefineParamsDefaultValueAction.java index fb2c82d1179c..6f5fc1c36430 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/DefineParamsDefaultValueAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/DefineParamsDefaultValueAction.java @@ -11,6 +11,7 @@ import com.intellij.icons.AllIcons; import com.intellij.java.JavaBundle; import com.intellij.java.syntax.parser.JavaKeywords; import com.intellij.lang.java.JavaLanguage; +import com.intellij.lang.jvm.JvmModifier; import com.intellij.modcommand.*; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.DumbAware; @@ -49,6 +50,7 @@ public final class DefineParamsDefaultValueAction extends PsiBasedModCommandActi final PsiElement parent = PsiTreeUtil.getParentOfType(element, PsiMethod.class, PsiClass.class, PsiCodeBlock.class); String message; if (parent instanceof PsiMethod method) { + if (!method.hasModifier(JvmModifier.ABSTRACT) && method.getBody() == null) return null; final PsiParameterList parameterList = method.getParameterList(); if (parameterList.isEmpty()) return null; final PsiClass containingClass = method.getContainingClass(); diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/delegateWithDefaultValue/beforeIDEA376348.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/delegateWithDefaultValue/beforeIDEA376348.java new file mode 100644 index 000000000000..3f89aa683c56 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/delegateWithDefaultValue/beforeIDEA376348.java @@ -0,0 +1,34 @@ +// "Generate overloaded constructor with default parameter values" "false" + +package com.intellij.openapi.graph.services; + +public final class GraphExportService { + + private volatile boo(lean myPrintMode = false; + private volatile boolean myExportMode = false; + + private static final GraphExportService INSTANCE = new GraphExportService(); + + public static GraphExportService getInstance() { + return INSTANCE; + } + + private GraphExportService() { + } + + public boolean isPrintMode() { + return myPrintMode; + } + + public void setPrintMode(boolean printMode) { + myPrintMode = printMode; + } + + public boolean isExportMode() { + return myExportMode; + } + + public void setExportMode(boolean exportMode) { + myExportMode = exportMode; + } +}