From 6b7a9124364a50d4d0e3174dc0d7281a011edf52 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Mon, 18 Jun 2012 20:42:20 +0400 Subject: [PATCH] warn about default value for new parameter non-modal (IDEA-85333) --- .../changeSignature/JavaChangeInfoImpl.java | 2 +- .../JavaChangeSignatureDialog.java | 24 +++++++++++++++---- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeInfoImpl.java b/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeInfoImpl.java index aabe2a1f9570..b5d0e0966205 100644 --- a/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeInfoImpl.java +++ b/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeInfoImpl.java @@ -258,7 +258,7 @@ class JavaChangeInfoImpl implements JavaChangeInfo { } protected void setupPropagationEnabled(final PsiParameter[] parameters, final ParameterInfoImpl[] newParms) { - if (parameters.length >= newParms.length) { + if (parameters.length != newParms.length) { isPropagationEnabled = false; } else { diff --git a/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeSignatureDialog.java b/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeSignatureDialog.java index c42b42c46da6..26d874ff8c0a 100644 --- a/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeSignatureDialog.java +++ b/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeSignatureDialog.java @@ -29,6 +29,7 @@ import com.intellij.openapi.fileTypes.LanguageFileType; import com.intellij.openapi.fileTypes.StdFileTypes; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.Messages; +import com.intellij.openapi.ui.ValidationInfo; import com.intellij.openapi.ui.VerticalFlowLayout; import com.intellij.openapi.util.Computable; import com.intellij.openapi.util.Pair; @@ -593,12 +594,10 @@ public class JavaChangeSignatureDialog extends ChangeSignatureDialogBase item : myParametersTableModel.getItems()) { + if (item.parameter.oldParameterIndex < 0) { + if (StringUtil.isEmpty(item.defaultValueCodeFragment.getText())) return new ValidationInfo("Default value is missed. In the method call place new parameter value would be leaved blank"); + } + } + return super.doValidate(); + } + + @Override + protected boolean postponeValidation() { + return false; + } + @Override protected String calculateSignature() { return doCalculateSignature(myMethod.getMethod());