From 78db9b7d05126e5191de7884ab06af3db21cea5d Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Wed, 15 Aug 2012 13:30:29 +0400 Subject: [PATCH] create field from usage: correct formatting (IDEA-89853) --- .../impl/quickfix/CreateFieldFromUsageFix.java | 1 + .../quickfix/JavaCreateFieldFromUsageHelper.java | 14 ++++++-------- 2 files changed, 7 insertions(+), 8 deletions(-) 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 f5be3020e01d..288634a62721 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 @@ -113,6 +113,7 @@ public class CreateFieldFromUsageFix extends CreateVarFromUsageFix { CodeStyleManager.getInstance(project).reformat(psiField); } }); + newEditor.getCaretModel().moveToOffset(psiField.getTextRange().getEndOffset() - 1); } } }); diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/JavaCreateFieldFromUsageHelper.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/JavaCreateFieldFromUsageHelper.java index 06d038b2cef5..7a4733a2d88e 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/JavaCreateFieldFromUsageHelper.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/JavaCreateFieldFromUsageHelper.java @@ -40,6 +40,7 @@ public class JavaCreateFieldFromUsageHelper extends CreateFieldFromUsageHelper { PsiSubstitutor substitutor) { PsiElementFactory factory = JavaPsiFacade.getElementFactory(field.getProject()); + field = CodeInsightUtilBase.forcePsiPostprocessAndRestoreElement(field); TemplateBuilderImpl builder = new TemplateBuilderImpl(field); if (!(expectedTypes instanceof ExpectedTypeInfo[])) { expectedTypes = ExpectedTypeInfo.EMPTY_ARRAY; @@ -50,15 +51,12 @@ public class JavaCreateFieldFromUsageHelper extends CreateFieldFromUsageHelper { if (createConstantField) { field.setInitializer(factory.createExpressionFromText("0", null)); builder.replaceElement(field.getInitializer(), new EmptyExpression()); + PsiIdentifier identifier = field.getNameIdentifier(); + builder.setEndVariableAfter(identifier); + field = CodeInsightUtilBase.forcePsiPostprocessAndRestoreElement(field); } - - PsiIdentifier identifier = field.getNameIdentifier(); - builder.setEndVariableAfter(identifier); - field = CodeInsightUtilBase.forcePsiPostprocessAndRestoreElement(field); - Template template = builder.buildTemplate(); - - TextRange range = field.getTextRange(); - editor.getDocument().deleteString(range.getStartOffset(), range.getEndOffset()); + editor.getCaretModel().moveToOffset(field.getTextRange().getStartOffset()); + Template template = builder.buildInlineTemplate(); if (((ExpectedTypeInfo[])expectedTypes).length > 1) template.setToShortenLongNames(false); return template; }