[java] filters invalid directories before checking a language level (EA-88041)

This commit is contained in:
Roman Shevchenko
2016-09-06 16:51:52 +03:00
parent e3babadd95
commit 43ae9b3f82
@@ -53,7 +53,7 @@ public class CreateModuleInfoAction extends CreateFromTemplateActionBase {
DataContext ctx = e.getDataContext();
boolean available = Optional.ofNullable(LangDataKeys.IDE_VIEW.getData(ctx))
.map(view -> getTargetDirectory(ctx, view))
.filter(dir -> PsiUtil.isLanguageLevel9OrHigher(dir) && JavaDirectoryService.getInstance().isSourceRoot(dir))
.filter(dir -> JavaDirectoryService.getInstance().isSourceRoot(dir) && PsiUtil.isLanguageLevel9OrHigher(dir))
.map(ModuleUtilCore::findModuleForPsiElement)
.map(module -> FilenameIndex.getVirtualFilesByName(module.getProject(), MODULE_INFO_FILE, new ModulesScope(module)).isEmpty())
.orElse(false);