AnalysisScope (@NotNull Project defaultProject, @NotNull Set<? extends Module> modules) { if (modules.isEmpty()) { return new AnalysisScope(defaultProject); } Module[] allModules = ModuleManager.getInstance(defaultProject).getModules(); Set<Module> modulesToAnalyze = new HashSet<>(); for (Module module : modules) { modulesToAnalyze.addAll(getDirectBackwardDependencies(module, allModules)); modulesToAnalyze.addAll(getExportBackwardDependencies(module, allModules)); modulesToAnalyze.add(module); } return new AnalysisScope(modulesToAnalyze.toArray(Module.EMPTY_ARRAY)); }