change signature: break if default value was not set

This commit is contained in:
anna
2010-09-14 21:00:40 +04:00
parent e420d8b36a
commit 1cb32bdaa0
4 changed files with 9 additions and 5 deletions
@@ -131,7 +131,7 @@ public class ChangeSignatureProcessor extends ChangeSignatureProcessorBase {
protected boolean preprocessUsages(Ref<UsageInfo[]> refUsages) {
for (ChangeSignatureUsageProcessor processor : ChangeSignatureUsageProcessor.EP_NAME.getExtensions()) {
processor.setupDefaultValues(myChangeInfo, refUsages, myProject);
if (!processor.setupDefaultValues(myChangeInfo, refUsages, myProject)) return false;
}
MultiMap<PsiElement, String> conflictDescriptions = new MultiMap<PsiElement, String>();
for (ChangeSignatureUsageProcessor usageProcessor : ChangeSignatureUsageProcessor.EP_NAME.getExtensions()) {
@@ -533,8 +533,8 @@ public class JavaChangeSignatureUsageProcessor implements ChangeSignatureUsagePr
}
@Override
public void setupDefaultValues(ChangeInfo changeInfo, Ref<UsageInfo[]> refUsages, Project project) {
if (!(changeInfo instanceof JavaChangeInfo)) return;
public boolean setupDefaultValues(ChangeInfo changeInfo, Ref<UsageInfo[]> refUsages, Project project) {
if (!(changeInfo instanceof JavaChangeInfo)) return true;
for (UsageInfo usageInfo : refUsages.get()) {
if (usageInfo instanceof MethodCallUsageInfo) {
MethodCallUsageInfo methodCallUsageInfo = (MethodCallUsageInfo)usageInfo;
@@ -558,6 +558,8 @@ public class JavaChangeSignatureUsageProcessor implements ChangeSignatureUsagePr
} else {
((ParameterInfoImpl)parameter).setDefaultValue(chooser.getDefaultValue());
}
} else {
return false;
}
}
}
@@ -566,6 +568,7 @@ public class JavaChangeSignatureUsageProcessor implements ChangeSignatureUsagePr
}
}
}
return true;
}
private static boolean needDefaultValue(ChangeInfo changeInfo, PsiMethod method) {
@@ -39,5 +39,5 @@ public interface ChangeSignatureUsageProcessor {
boolean shouldPreviewUsages(ChangeInfo changeInfo, UsageInfo[] usages);
void setupDefaultValues(ChangeInfo changeInfo, Ref<UsageInfo[]> refUsages, Project project);
boolean setupDefaultValues(ChangeInfo changeInfo, Ref<UsageInfo[]> refUsages, Project project);
}
@@ -118,7 +118,8 @@ public class GrChangeSignatureUsageProcessor implements ChangeSignatureUsageProc
}
@Override
public void setupDefaultValues(ChangeInfo changeInfo, Ref<UsageInfo[]> refUsages, Project project) {
public boolean setupDefaultValues(ChangeInfo changeInfo, Ref<UsageInfo[]> refUsages, Project project) {
return true;
}
private static boolean generateDelegate(GrChangeInfoImpl grInfo) {