track in which multiple-tree file PsiAnchor was created (EA-33146)
[idea/community.git] / platform / lang-impl / src / com / intellij / psi / PsiAnchor.java
index c3a4289e08e931c75a67188a04ed4fdd61f6abb0..042dbf6bd1fc87f3dc4928803d195244f6112e47 100644 (file)
@@ -141,6 +141,7 @@ public abstract class PsiAnchor {
     private final VirtualFile myVirtualFile;
     private final Project myProject;
     private final Language myLanguage;
+    private final Language myFileLanguage;
     private final int myStartOffset;
     private final int myEndOffset;
     private final Class myClass;
@@ -157,6 +158,7 @@ public abstract class PsiAnchor {
       myEndOffset = endOffset;
       myClass = aClass;
       myLanguage = language;
+      myFileLanguage = file.getLanguage();
     }
 
     @Override
@@ -178,8 +180,9 @@ public abstract class PsiAnchor {
     }
 
     @Override
+    @Nullable
     public PsiFile getFile() {
-      return SelfElementInfo.restoreFileFromVirtual(myVirtualFile, myProject);
+      return SelfElementInfo.restoreFileFromVirtual(myVirtualFile, myProject, myLanguage);
     }
 
     @Override