in src/main/java/com/googlesource/gerrit/plugins/scripting/scala/ScalaPluginScriptEngine.java [111:134]
private Set<String> scanTree(String packageName, Map<String, AbstractFile> tree) {
Set<String> classNames = Sets.newHashSet();
for (Iterator<Tuple2<String, AbstractFile>> keysIter = tree.toIterator();
keysIter.hasNext(); ) {
Tuple2<String, AbstractFile> node = keysIter.next();
String fileName = node._1;
AbstractFile fileContent = node._2;
if (fileName.endsWith(CLASS_EXTENSION)) {
classNames.add(
nameWithPackage(
packageName,
fileName.substring(0, fileName.length() - CLASS_EXTENSION.length())));
} else if (VirtualDirectory.class.isAssignableFrom(fileContent.getClass())) {
VirtualDirectory subNode = (VirtualDirectory) node._2;
classNames.addAll(
scanTree(
nameWithPackage(packageName, fileName),
subNode.scala$reflect$io$VirtualDirectory$$files()));
}
}
return classNames;
}