diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateFieldFromUsageFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateFieldFromUsageFix.java index 694ed8eba24f..1ded730a6dde 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateFieldFromUsageFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateFieldFromUsageFix.java @@ -120,7 +120,7 @@ public class CreateFieldFromUsageFix extends CreateVarFromUsageFix { Editor newEditor = positionCursor(project, targetFile, field); TextRange range = field.getTextRange(); newEditor.getDocument().deleteString(range.getStartOffset(), range.getEndOffset()); - + template.setToShortenLongNames(false); startTemplate(newEditor, template, project); } diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateMethodQuickFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateMethodQuickFix.java index d80e3df3f130..b232cb7dce86 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateMethodQuickFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateMethodQuickFix.java @@ -23,6 +23,8 @@ import com.intellij.codeInspection.ProblemDescriptor; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Pair; import com.intellij.psi.*; +import com.intellij.psi.codeStyle.JavaCodeStyleManager; +import com.intellij.psi.impl.JavaPsiFacadeEx; import com.intellij.psi.util.PsiFormatUtil; import com.intellij.util.Function; import com.intellij.util.IncorrectOperationException; @@ -70,7 +72,7 @@ public class CreateMethodQuickFix implements LocalQuickFix { } }); - method = (PsiMethod)myTargetClass.add(method); + method = (PsiMethod)JavaCodeStyleManager.getInstance(project).shortenClassReferences((PsiMethod)myTargetClass.add(method)); CreateMethodFromUsageFix.doCreate(myTargetClass, method, arguments, PsiSubstitutor.EMPTY, ExpectedTypeInfo.EMPTY_ARRAY, method); } catch (IncorrectOperationException e) { diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/TypeExpression.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/TypeExpression.java index f6bf1f160a1f..d5d396b9b733 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/TypeExpression.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/TypeExpression.java @@ -21,11 +21,9 @@ import com.intellij.codeInsight.template.Expression; import com.intellij.codeInsight.template.ExpressionContext; import com.intellij.codeInsight.template.PsiTypeResult; import com.intellij.codeInsight.template.Result; +import com.intellij.openapi.editor.Document; import com.intellij.openapi.project.Project; -import com.intellij.psi.PsiDocumentManager; -import com.intellij.psi.PsiType; -import com.intellij.psi.SmartTypePointer; -import com.intellij.psi.SmartTypePointerManager; +import com.intellij.psi.*; import java.util.ArrayList; import java.util.LinkedHashSet; @@ -49,7 +47,12 @@ public class TypeExpression extends Expression { if (myItems.isEmpty()) return null; final PsiType type = myItems.iterator().next().getType(); - return type == null? null : new PsiTypeResult(type, project); + return type == null? null : new PsiTypeResult(type, project) { + @Override + public void handleRecalc(PsiFile psiFile, Document document, int segmentStart, int segmentEnd) { + if (myItems.size() <= 1) super.handleRecalc(psiFile, document, segmentStart, segmentEnd); + } + }; } public Result calculateQuickResult(ExpressionContext context) { diff --git a/java/java-impl/src/com/intellij/codeInsight/template/PsiTypeResult.java b/java/java-impl/src/com/intellij/codeInsight/template/PsiTypeResult.java index 52cfc56e634f..522af7b93386 100644 --- a/java/java-impl/src/com/intellij/codeInsight/template/PsiTypeResult.java +++ b/java/java-impl/src/com/intellij/codeInsight/template/PsiTypeResult.java @@ -56,7 +56,7 @@ public class PsiTypeResult implements RecalculatableResult { } public String toString() { - return getType().getCanonicalText(); + return getType().getPresentableText(); } public void handleFocused(final PsiFile psiFile, final Document document, final int segmentStart, final int segmentEnd) { @@ -64,6 +64,6 @@ public class PsiTypeResult implements RecalculatableResult { } public void handleRecalc(final PsiFile psiFile, final Document document, final int segmentStart, final int segmentEnd) { - //JavaTemplateUtil.updateTypeBindings(getType(), psiFile, document, segmentStart, segmentEnd); + JavaTemplateUtil.updateTypeBindings(getType(), psiFile, document, segmentStart, segmentEnd); } }