if (maybeSourcePath != null) {
maybeSourcePath = ClojureCore.toOSAbsoluteIPath(maybeSourcePath);
if (maybeSourcePath.toFile().isFile()) {
result.add(new ExternalArchiveSourceContainer(maybeSourcePath.toOSString(), false));
} else {
result.add(new DirectorySourceContainer(maybeSourcePath, false));
}
}
// unconditionnally add the path of the archive, *after* the sourcePath, so that cljs in sourcePath
// take precedence over cljs in "bin" path
if (sc.getPackageFragmentRoot().isExternal()) {
if (sc.getPackageFragmentRoot().isArchive()) {
result.add(new ExternalArchiveSourceContainer(sc.getPackageFragmentRoot().getPath().toOSString(), false));
} else {
result.add(new DirectorySourceContainer(sc.getPackageFragmentRoot().getPath(), false));
}
} else {
if (sc.getPackageFragmentRoot().isArchive()) {
result.add(new ArchiveSourceContainer((IFile) sc.getPackageFragmentRoot().getCorrespondingResource(), false));
} else {