diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ChangeMethodSignatureFromUsageFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ChangeMethodSignatureFromUsageFix.java
index ea51929510e1..92fea587b5c0 100644
--- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ChangeMethodSignatureFromUsageFix.java
+++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ChangeMethodSignatureFromUsageFix.java
@@ -46,8 +46,6 @@ import org.jetbrains.annotations.Nullable;
import java.util.*;
-import static com.intellij.refactoring.changeSignature.ParameterInfo.NEW_PARAMETER;
-
/**
* @author cdr
*/
@@ -285,7 +283,7 @@ public class ChangeMethodSignatureFromUsageFix implements IntentionAction/*, Hig
if (buf.length() > 0) buf.append(", ");
final PsiType parameterType = PsiUtil.convertAnonymousToBaseType(paramType);
final String presentableText = escapePresentableType(parameterType);
- final ParameterInfoImpl parameterInfo = new ParameterInfoImpl(pi, parameter.getName(), parameter.getType());
+ final ParameterInfoImpl parameterInfo = ParameterInfoImpl.create(pi).withName(parameter.getName()).withType(parameter.getType());
if (TypeConversionUtil.areTypesAssignmentCompatible(paramType, expression)) {
buf.append(presentableText);
result.add(parameterInfo);
@@ -302,7 +300,9 @@ public class ChangeMethodSignatureFromUsageFix implements IntentionAction/*, Hig
for(int i = pi; i < parameters.length; i++) {
if (buf.length() > 0) buf.append(", ");
buf.append("").append(escapePresentableType(parameters[i].getType())).append("");
- final ParameterInfoImpl parameterInfo = new ParameterInfoImpl(pi, parameters[i].getName(), parameters[i].getType());
+ final ParameterInfoImpl parameterInfo = ParameterInfoImpl.create(pi)
+ .withName(parameters[i].getName())
+ .withType(parameters[i].getType());
removedParams.add(parameterInfo);
}
}
@@ -333,7 +333,7 @@ public class ChangeMethodSignatureFromUsageFix implements IntentionAction/*, Hig
PsiUtil.ensureValidType(paramType);
final String presentableText = escapePresentableType(paramType);
if (TypeConversionUtil.areTypesAssignmentCompatible(paramType, expression)) {
- result.add(new ParameterInfoImpl(i, parameter.getName(), paramType));
+ result.add(ParameterInfoImpl.create(i).withName(parameter.getName()).withType(paramType));
buf.append(presentableText);
}
else {
@@ -344,7 +344,7 @@ public class ChangeMethodSignatureFromUsageFix implements IntentionAction/*, Hig
exprType = ((PsiDisjunctionType)exprType).getLeastUpperBound();
}
if (!PsiTypesUtil.allTypeParametersResolved(myTargetMethod, exprType)) return null;
- final ParameterInfoImpl changedParameterInfo = new ParameterInfoImpl(i, parameter.getName(), exprType);
+ final ParameterInfoImpl changedParameterInfo = ParameterInfoImpl.create(i).withName(parameter.getName()).withType(exprType);
result.add(changedParameterInfo);
changedParams.add(changedParameterInfo);
buf.append("").append(presentableText).append(" ").append(escapePresentableType(exprType)).append("");
@@ -396,7 +396,7 @@ public class ChangeMethodSignatureFromUsageFix implements IntentionAction/*, Hig
.areTypesAssignmentCompatible(paramType, expression));
if (parameterAssignable) {
final PsiType type = parameter.getType();
- result.add(new ParameterInfoImpl(pi, parameter.getName(), type));
+ result.add(ParameterInfoImpl.create(pi).withName(parameter.getName()).withType(type));
buf.append(escapePresentableType(type));
pi++;
ei++;
@@ -405,7 +405,7 @@ public class ChangeMethodSignatureFromUsageFix implements IntentionAction/*, Hig
if (pi == parameters.length - 1) {
assert varargParam != null;
final PsiType type = varargParam.getType();
- result.add(new ParameterInfoImpl(pi, varargParam.getName(), type));
+ result.add(ParameterInfoImpl.create(pi).withName(varargParam.getName()).withType(type));
buf.append(escapePresentableType(type));
}
pi++;
@@ -422,7 +422,10 @@ public class ChangeMethodSignatureFromUsageFix implements IntentionAction/*, Hig
if (!PsiTypesUtil.allTypeParametersResolved(myTargetMethod, exprType)) return false;
JavaCodeStyleManager codeStyleManager = JavaCodeStyleManager.getInstance(expression.getProject());
String name = suggestUniqueParameterName(codeStyleManager, expression, exprType, existingNames);
- final ParameterInfoImpl newParameterInfo = new ParameterInfoImpl(NEW_PARAMETER, name, exprType, expression.getText().replace('\n', ' '));
+ final ParameterInfoImpl newParameterInfo = ParameterInfoImpl.createNew()
+ .withName(name)
+ .withType(exprType)
+ .withDefaultValue(expression.getText().replace('\n', ' '));
result.add(newParameterInfo);
newParams.add(newParameterInfo);
buf.append("").append(escapePresentableType(exprType)).append("");
diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ChangeMethodSignatureFromUsageReverseOrderFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ChangeMethodSignatureFromUsageReverseOrderFix.java
index c6abd05d8a3e..aa3d18fe137d 100644
--- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ChangeMethodSignatureFromUsageReverseOrderFix.java
+++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ChangeMethodSignatureFromUsageReverseOrderFix.java
@@ -73,7 +73,7 @@ public class ChangeMethodSignatureFromUsageReverseOrderFix extends ChangeMethodS
.areTypesAssignmentCompatible(paramType, expression));
if (parameterAssignable) {
final PsiType type = parameter.getType();
- result.add(0, new ParameterInfoImpl(pi, parameter.getName(), type));
+ result.add(0, ParameterInfoImpl.create(pi).withName(parameter.getName()).withType(type));
params.add(0, escapePresentableType(type));
pi--;
ei--;
@@ -82,7 +82,7 @@ public class ChangeMethodSignatureFromUsageReverseOrderFix extends ChangeMethodS
if (pi == parameters.length - 1) {
assert varargParam != null;
final PsiType type = varargParam.getType();
- result.add(0, new ParameterInfoImpl(pi, varargParam.getName(), type));
+ result.add(0, ParameterInfoImpl.create(pi).withName(varargParam.getName()).withType(type));
params.add(0, escapePresentableType(type));
}
pi--;
@@ -94,7 +94,10 @@ public class ChangeMethodSignatureFromUsageReverseOrderFix extends ChangeMethodS
if (exprType == null) return false;
JavaCodeStyleManager codeStyleManager = JavaCodeStyleManager.getInstance(expression.getProject());
String name = suggestUniqueParameterName(codeStyleManager, expression, exprType, existingNames);
- final ParameterInfoImpl newParameterInfo = new ParameterInfoImpl(NEW_PARAMETER, name, exprType, expression.getText().replace('\n', ' '));
+ final ParameterInfoImpl newParameterInfo = ParameterInfoImpl.createNew()
+ .withName(name)
+ .withType(exprType)
+ .withDefaultValue(expression.getText().replace('\n', ' '));
result.add(0, newParameterInfo);
newParams.add(newParameterInfo);
params.add(0, "" + escapePresentableType(exprType) + "");
diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateConstructorParameterFromFieldFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateConstructorParameterFromFieldFix.java
index 7f0b2f779abc..fd5ace895f2d 100644
--- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateConstructorParameterFromFieldFix.java
+++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateConstructorParameterFromFieldFix.java
@@ -40,8 +40,6 @@ import org.jetbrains.annotations.Nullable;
import java.util.*;
-import static com.intellij.refactoring.changeSignature.ParameterInfo.NEW_PARAMETER;
-
public class CreateConstructorParameterFromFieldFix implements IntentionAction {
private static final Key