From ee5acf1fcd50d39a71dc89ab39787bc75ff45711 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Tue, 11 Sep 2012 20:04:04 +0400 Subject: [PATCH] distinguish different file roots in file pointers (IDEA-91353) --- .../psi/impl/smartPointers/FileElementInfo.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/psi/impl/smartPointers/FileElementInfo.java b/platform/lang-impl/src/com/intellij/psi/impl/smartPointers/FileElementInfo.java index 628dd65c6005..f8d65182518c 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/smartPointers/FileElementInfo.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/smartPointers/FileElementInfo.java @@ -15,6 +15,7 @@ */ package com.intellij.psi.impl.smartPointers; +import com.intellij.lang.Language; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.RangeMarker; import com.intellij.openapi.project.Project; @@ -32,13 +33,19 @@ import org.jetbrains.annotations.NotNull; class FileElementInfo implements SmartPointerElementInfo { protected final VirtualFile myVirtualFile; protected final Project myProject; + protected final Language myLanguage; public FileElementInfo(@NotNull PsiFile file) { - this(file.getProject(), file.getVirtualFile()); + this(file.getProject(), file.getVirtualFile(), file.getLanguage()); } protected FileElementInfo(@NotNull Project project, VirtualFile virtualFile) { + this(project, virtualFile, null); + } + + protected FileElementInfo(@NotNull Project project, VirtualFile virtualFile, Language lang) { myVirtualFile = virtualFile; myProject = project; + myLanguage = lang; } @Override @@ -60,7 +67,7 @@ class FileElementInfo implements SmartPointerElementInfo { @Override public PsiElement restoreElement() { - return SelfElementInfo.restoreFileFromVirtual(myVirtualFile, myProject); + return SelfElementInfo.restoreFileFromVirtual(myVirtualFile, myProject, myLanguage); } @Override