do not shorten fqns too often (IDEA-53678 )

This commit is contained in:
anna
2010-11-15 11:32:01 +03:00
parent d3796208d7
commit ba652f8160
4 changed files with 14 additions and 9 deletions
@@ -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);
}
@@ -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) {
@@ -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) {
@@ -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);
}
}