diff --git a/platform/projectModel-api/src/com/intellij/lang/PerFileMappingsBase.java b/platform/projectModel-api/src/com/intellij/lang/PerFileMappingsBase.java index 2b7608a27f8c..206fc2f631a4 100644 --- a/platform/projectModel-api/src/com/intellij/lang/PerFileMappingsBase.java +++ b/platform/projectModel-api/src/com/intellij/lang/PerFileMappingsBase.java @@ -107,16 +107,20 @@ public abstract class PerFileMappingsBase implements PersistentStateComponent if (t != null) return t; t = getMappingForHierarchy(originalFile, mappings); if (t != null) return t; - Project project = getProject(); - if (project == null || file == null || - file.getFileSystem() instanceof NonPhysicalFileSystem || - ProjectFileIndex.getInstance(project).isInContent(file)) { - return mappings.get(null); - } - return null; + return getNotInHierarchy(file, mappings); } } + @Nullable + protected T getNotInHierarchy(@Nullable VirtualFile file, @NotNull Map mappings) { + if (getProject() == null || file == null || + file.getFileSystem() instanceof NonPhysicalFileSystem || + ProjectFileIndex.getInstance(getProject()).isInContent(file)) { + return mappings.get(null); + } + return null; + } + private static T getMappingForHierarchy(@Nullable VirtualFile file, @NotNull Map mappings) { for (VirtualFile cur = file; cur != null; cur = cur.getParent()) { T t = mappings.get(cur);