|| matchStatus == ScanSpecPathMatch.ANCESTOR_OF_WHITELISTED_PATH) { scanDir(classpathElt, fileInDir, ignorePrefixLen, inWhitelistedPath, scannedCanonicalPaths, dirLog); if (dirLog != null) { classfileMatches.add(newClasspathResource(classpathElt, fileInDirRelativePath, fileInDirRelativePath, fileInDir)); if (fileMatchProcessorWrapper.filePathMatches(fileInDirRelativePath, subLog)) { fileMatches.put(fileMatchProcessorWrapper, newClasspathResource(classpathElt, fileInDirRelativePath, fileInDirRelativePath, fileInDir));
/** Hierarchically scan directory structure for classfiles and matching files. */ @Override public void scanPaths(final LogNode log) { final String path = classpathEltPath.getResolvedPath(); String canonicalPath = path; try { canonicalPath = classpathEltPath.getCanonicalPath(log); } catch (final IOException e) { } final LogNode logNode = log == null ? null : log.log(canonicalPath, "Scanning directory classpath entry " + classpathEltPath + (path.equals(canonicalPath) ? "" : " ; canonical path: " + canonicalPath)); final HashSet<String> scannedCanonicalPaths = new HashSet<>(); scanDir(dir, dir, /* ignorePrefixLen = */ dir.getPath().length() + 1, /* inWhitelistedPath = */ false, scannedCanonicalPaths, logNode); if (logNode != null) { logNode.addElapsedTime(); } }
? new ClasspathElementModule(classpathRelativePath, scanSpec, scanFiles, nestedJarHandler, interruptionChecker, subLog) : isDir ? new ClasspathElementDir(classpathRelativePath, scanSpec, scanFiles, interruptionChecker, subLog) : new ClasspathElementZip(classpathRelativePath, scanSpec, scanFiles, nestedJarHandler,