LanguageLevel (@NotNull Project project, @NotNull VirtualFile virtualFile) { if (virtualFile instanceof VirtualFileWindow) { virtualFile = ((VirtualFileWindow)virtualFile).getDelegate(); } virtualFile = BackedVirtualFile.getOriginFileIfBacked(virtualFile); final LanguageLevel forced = LanguageLevel.FORCE_LANGUAGE_LEVEL; if (ApplicationManager.getApplication().isUnitTestMode() && forced != null) return forced; final LanguageLevel specified = specifiedFileLanguageLevel(virtualFile); if (specified != null) return specified; final Sdk sdk = virtualFile instanceof LightVirtualFile ? null : getFileSdk(project, virtualFile); if (sdk != null) return PythonRuntimeService.getInstance().getLanguageLevelForSdk(sdk); return guessLanguageLevelWithCaching(project, () -> getPythonModuleSdks(project).values()); }