private Collection getCompilerOutputPaths()

in src/main/java/org/jetbrains/plugins/spotbugs/core/FindBugsProjects.java [168:208]


	private Collection<VirtualFile> getCompilerOutputPaths(@NotNull final Module module, final boolean includeTests) {

    final Set<Module> modules = new HashSet<>();
		ModuleUtilCore.getDependencies(module, modules);
		modules.add(module);

		final List<VirtualFile> ret = new ArrayList<>(modules.size());
		boolean projectFallbackExecuted = false;

		for (final Module m : modules) {
			boolean added = false;
			final CompilerModuleExtension extension = CompilerModuleExtension.getInstance(m);
			if (extension != null) {
				VirtualFile path = extension.getCompilerOutputPath();
				if (path != null) {
					ret.add(path);
					added = true;
				}
				if (includeTests) {
					path = extension.getCompilerOutputPathForTests();
					if (path != null) {
						ret.add(path);
						added = true;
					}
				}
			}
			if (!added) {
				if (!projectFallbackExecuted) {
					projectFallbackExecuted = true;
					final CompilerProjectExtension compilerProjectExtension = CompilerProjectExtension.getInstance(project);
					if (compilerProjectExtension != null) {
						final VirtualFile path = compilerProjectExtension.getCompilerOutput();
						if (path != null) {
							ret.add(path);
						}
					}
				}
			}
		}
		return ret;
	}