diff --git a/platform/projectModel-api/src/com/intellij/openapi/module/ModuleUtilCore.java b/platform/projectModel-api/src/com/intellij/openapi/module/ModuleUtilCore.java index 12a18d9fd1d9..f5c18dcab0aa 100644 --- a/platform/projectModel-api/src/com/intellij/openapi/module/ModuleUtilCore.java +++ b/platform/projectModel-api/src/com/intellij/openapi/module/ModuleUtilCore.java @@ -15,10 +15,10 @@ */ package com.intellij.openapi.module; -import com.intellij.openapi.application.ReadAction; -import com.intellij.openapi.application.Result; +import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.*; +import com.intellij.openapi.util.Computable; import com.intellij.openapi.util.Key; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vfs.VirtualFile; @@ -34,9 +34,9 @@ import org.jetbrains.annotations.Nullable; import java.util.*; public class ModuleUtilCore { - public static final Key KEY_MODULE = new Key("Module"); + public static final Key KEY_MODULE = new Key<>("Module"); - public static boolean projectContainsFile(final Project project, VirtualFile file, boolean isLibraryElement) { + public static boolean projectContainsFile(@NotNull Project project, @NotNull VirtualFile file, boolean isLibraryElement) { ProjectFileIndex projectFileIndex = ProjectFileIndex.SERVICE.getInstance(project); if (isLibraryElement) { List orders = projectFileIndex.getOrderEntriesForFile(file); @@ -53,16 +53,12 @@ public class ModuleUtilCore { } } + @NotNull public static String getModuleNameInReadAction(@NotNull final Module module) { - return new ReadAction(){ - @Override - protected void run(@NotNull final Result result) throws Throwable { - result.setResult(module.getName()); - } - }.execute().getResultObject(); + return ApplicationManager.getApplication().runReadAction((Computable)module::getName); } - public static boolean isModuleDisposed(PsiElement element) { + public static boolean isModuleDisposed(@NotNull PsiElement element) { if (!element.isValid()) return true; final Project project = element.getProject(); ProjectFileIndex projectFileIndex = ProjectFileIndex.SERVICE.getInstance(project); @@ -109,7 +105,7 @@ public class ModuleUtilCore { if (orderEntries.size() == 1) { return orderEntries.get(0).getOwnerModule(); } - Set modules = new HashSet(); + Set modules = new HashSet<>(); for (OrderEntry orderEntry : orderEntries) { modules.add(orderEntry.getOwnerModule()); } @@ -146,7 +142,7 @@ public class ModuleUtilCore { } //ignores export flag - public static void getDependencies(@NotNull Module module, Set modules) { + public static void getDependencies(@NotNull Module module, @NotNull Set modules) { if (modules.contains(module)) return; modules.add(module); Module[] dependencies = ModuleRootManager.getInstance(module).getDependencies(); @@ -160,7 +156,7 @@ public class ModuleUtilCore { * @param module to find dependencies on * @param result resulted set */ - public static void collectModulesDependsOn(@NotNull final Module module, final Set result) { + public static void collectModulesDependsOn(@NotNull final Module module, @NotNull Set result) { if (result.contains(module)) return; result.add(module); final ModuleManager moduleManager = ModuleManager.getInstance(module.getProject()); @@ -185,7 +181,7 @@ public class ModuleUtilCore { @NotNull public static List getAllDependentModules(@NotNull Module module) { - final ArrayList list = new ArrayList(); + final ArrayList list = new ArrayList<>(); final Graph graph = ModuleManager.getInstance(module.getProject()).moduleGraph(); for (Iterator i = graph.getOut(module); i.hasNext();) { list.add(i.next()); @@ -193,7 +189,7 @@ public class ModuleUtilCore { return list; } - public static boolean visitMeAndDependentModules(@NotNull final Module module, final ModuleVisitor visitor) { + public static boolean visitMeAndDependentModules(@NotNull final Module module, @NotNull ModuleVisitor visitor) { if (!visitor.visit(module)) { return false; } @@ -206,7 +202,7 @@ public class ModuleUtilCore { return true; } - public static boolean moduleContainsFile(@NotNull final Module module, VirtualFile file, boolean isLibraryElement) { + public static boolean moduleContainsFile(@NotNull final Module module, @NotNull VirtualFile file, boolean isLibraryElement) { ModuleRootManager moduleRootManager = ModuleRootManager.getInstance(module); if (isLibraryElement) { OrderEntry orderEntry = moduleRootManager.getFileIndex().getOrderEntryForFile(file); @@ -231,12 +227,12 @@ public class ModuleUtilCore { return PathUtilRt.getParentPath(module.getModuleFilePath()); } + @FunctionalInterface public interface ModuleVisitor { /** - * * @param module module to be visited. * @return false to stop visiting. */ - boolean visit(final Module module); + boolean visit(@NotNull Module module); } } diff --git a/plugins/devkit/src/dom/impl/ActionOrGroupResolveConverter.java b/plugins/devkit/src/dom/impl/ActionOrGroupResolveConverter.java index bbe5b0417b43..7f3f8538f655 100644 --- a/plugins/devkit/src/dom/impl/ActionOrGroupResolveConverter.java +++ b/plugins/devkit/src/dom/impl/ActionOrGroupResolveConverter.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2015 JetBrains s.r.o. + * Copyright 2000-2016 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -158,7 +158,7 @@ public class ActionOrGroupResolveConverter extends ResolvingConverter dependenciesAndLibs = IdeaPluginConverter.getPlugins(project, module.getModuleRuntimeScope(false)); return processPlugins(dependenciesAndLibs, processor);