inplace introduce: insert suggested name by type on restart when current variable was empty (IDEA-89382)

This commit is contained in:
anna
2012-07-31 16:51:27 +02:00
parent 3ba0b7dff9
commit 1b5df35a54
4 changed files with 13 additions and 4 deletions
@@ -158,7 +158,7 @@ public class InplaceIntroduceConstantPopup extends AbstractInplaceIntroduceField
@Override
protected String[] suggestNames(PsiType defaultType, String propName) {
return IntroduceConstantDialog.createNameSuggestionGenerator(propName, myExpr, JavaCodeStyleManager.getInstance(myProject), null,
return IntroduceConstantDialog.createNameSuggestionGenerator(propName, myExpr != null && myExpr.isValid() ? myExpr : null, JavaCodeStyleManager.getInstance(myProject), null,
myParentClass)
.getSuggestedNameInfo(defaultType).names;
}
@@ -102,7 +102,7 @@ public class InplaceIntroduceFieldPopup extends AbstractInplaceIntroduceFieldPop
@Override
protected String[] suggestNames(PsiType defaultType, String propName) {
return suggestFieldName(defaultType, (PsiLocalVariable)getLocalVariable(), myExpr, myStatic, myParentClass).names;
return suggestFieldName(defaultType, (PsiLocalVariable)getLocalVariable(), myExpr != null && myExpr.isValid() ? myExpr : null, myStatic, myParentClass).names;
}
public static SuggestedNameInfo suggestFieldName(@Nullable PsiType defaultType,
@@ -282,8 +282,8 @@ public class IntroduceParameterHandler extends IntroduceHandlerBase {
return new NameSuggestionsGenerator() {
public SuggestedNameInfo getSuggestedNameInfo(PsiType type) {
final JavaCodeStyleManager codeStyleManager = JavaCodeStyleManager.getInstance(project);
SuggestedNameInfo info = codeStyleManager.suggestVariableName(VariableKind.PARAMETER, propName, expr, type);
if (expr != null) {
SuggestedNameInfo info = codeStyleManager.suggestVariableName(VariableKind.PARAMETER, propName, expr != null && expr.isValid() ? expr : null, type);
if (expr != null && expr.isValid()) {
info = codeStyleManager.suggestUniqueVariableName(info, expr, true);
}
final String[] strings = AbstractJavaInplaceIntroducer.appendUnresolvedExprName(JavaCompletionUtil