From b063f4d30fe65c30090bd97384fbfa6c2a5c9586 Mon Sep 17 00:00:00 2001 From: Andrey Sokolov Date: Wed, 1 Jul 2015 20:52:21 +0300 Subject: [PATCH] StringBasedPostfixTemplate api - added new method getElementToRemove --- .../postfix/templates/StringBasedPostfixTemplate.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/template/postfix/templates/StringBasedPostfixTemplate.java b/platform/lang-impl/src/com/intellij/codeInsight/template/postfix/templates/StringBasedPostfixTemplate.java index 85e71d73b247..0f7b93ef98ea 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/template/postfix/templates/StringBasedPostfixTemplate.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/template/postfix/templates/StringBasedPostfixTemplate.java @@ -37,7 +37,7 @@ public abstract class StringBasedPostfixTemplate extends PostfixTemplateWithExpr public final void expandForChooseExpression(@NotNull PsiElement expr, @NotNull Editor editor) { Project project = expr.getProject(); Document document = editor.getDocument(); - PsiElement elementForRemoving = shouldRemoveParent() ? expr.getParent() : expr; + PsiElement elementForRemoving = getElementToRemove(expr); document.deleteString(elementForRemoving.getTextRange().getStartOffset(), elementForRemoving.getTextRange().getEndOffset()); TemplateManager manager = TemplateManager.getInstance(project); @@ -78,7 +78,16 @@ public abstract class StringBasedPostfixTemplate extends PostfixTemplateWithExpr return true; } + /** @deprecated use {@link StringBasedPostfixTemplate#getElementToRemove(PsiElement)} (idea 16 to remove) */ protected boolean shouldRemoveParent() { return true; } + + protected PsiElement getElementToRemove(PsiElement expr) { + if (shouldRemoveParent()) { + return expr.getParent(); + } else { + return expr; + } + } }