mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
change signature: propagate params fix (IDEA-110601)
This commit is contained in:
@@ -258,10 +258,11 @@ 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 {
|
||||
isPropagationEnabled = !propagateParametersMethods.isEmpty();
|
||||
for (int i = 0; i < parameters.length; i++) {
|
||||
final ParameterInfoImpl newParm = newParms[i];
|
||||
if (newParm.oldParameterIndex != i) {
|
||||
|
||||
+1
-1
@@ -380,7 +380,7 @@ public class JavaChangeSignatureUsageProcessor implements ChangeSignatureUsagePr
|
||||
else {
|
||||
newArg = factory.createExpressionFromText(info.getName(), list);
|
||||
}
|
||||
JavaCodeStyleManager.getInstance(list.getProject()).shortenClassReferences(list.add(newArg));
|
||||
if (newArg != null) JavaCodeStyleManager.getInstance(list.getProject()).shortenClassReferences(list.add(newArg));
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -6,4 +6,8 @@ public class C {
|
||||
int s;
|
||||
subject(null);
|
||||
}
|
||||
|
||||
void caller1() {
|
||||
caller();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,4 +6,8 @@ public class C {
|
||||
int s;
|
||||
subject(null, b);
|
||||
}
|
||||
|
||||
void caller1() {
|
||||
caller();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -421,7 +421,7 @@ public class ChangeSignatureTest extends LightRefactoringTestCase {
|
||||
method.getName(),
|
||||
CanonicalTypes.createTypeWrapper(PsiType.VOID), new ParameterInfoImpl[]{
|
||||
new ParameterInfoImpl(0, parameters[0].getName(), parameters[0].getType()),
|
||||
new ParameterInfoImpl(-1, "b", PsiType.BOOLEAN, "true")}, null,
|
||||
new ParameterInfoImpl(-1, "b", PsiType.BOOLEAN)}, null,
|
||||
propagateParametersMethods, null).run();
|
||||
@NonNls String after = basePath + "_after.java";
|
||||
checkResultByFile(after);
|
||||
|
||||
Reference in New Issue
Block a user