From 90db163e4c3814614b789d55ea6d291e7b35409f Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Tue, 26 Jul 2016 11:21:24 +0300 Subject: [PATCH] IDEA-158708 JSP code completion not working in IDEA 2016.2 (cherry picked from commit bb701cf) --- .../intellij/psi/templateLanguages/TemplateLanguageUtil.java | 5 +++++ .../template/postfix/templates/PostfixLiveTemplate.java | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/platform/core-api/src/com/intellij/psi/templateLanguages/TemplateLanguageUtil.java b/platform/core-api/src/com/intellij/psi/templateLanguages/TemplateLanguageUtil.java index 049d93c55147..ec937d9c302f 100644 --- a/platform/core-api/src/com/intellij/psi/templateLanguages/TemplateLanguageUtil.java +++ b/platform/core-api/src/com/intellij/psi/templateLanguages/TemplateLanguageUtil.java @@ -39,6 +39,11 @@ public class TemplateLanguageUtil { } } + public static PsiFile getBaseFile(@NotNull PsiFile file) { + FileViewProvider viewProvider = file.getViewProvider(); + return viewProvider.getPsi(viewProvider.getBaseLanguage()); + } + public static boolean isInsideTemplateFile(@NotNull PsiElement element) { return element.getContainingFile().getViewProvider() instanceof TemplateLanguageFileViewProvider; } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/template/postfix/templates/PostfixLiveTemplate.java b/platform/lang-impl/src/com/intellij/codeInsight/template/postfix/templates/PostfixLiveTemplate.java index a4c108495182..b90004fddd3d 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/template/postfix/templates/PostfixLiveTemplate.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/template/postfix/templates/PostfixLiveTemplate.java @@ -40,6 +40,7 @@ import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiFileFactory; import com.intellij.psi.impl.source.PsiFileImpl; +import com.intellij.psi.templateLanguages.TemplateLanguageUtil; import com.intellij.psi.util.PsiUtilCore; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; @@ -272,7 +273,7 @@ public class PostfixLiveTemplate extends CustomLiveTemplateBase { PsiFile copy = psiFileFactory.createFileFromText(file.getName(), file.getFileType(), fileContentWithoutKey); if (copy instanceof PsiFileImpl) { - ((PsiFileImpl) copy).setOriginalFile(file); + ((PsiFileImpl) copy).setOriginalFile(TemplateLanguageUtil.getBaseFile(file)); } VirtualFile vFile = copy.getVirtualFile();