in TransformCore/src/main/java/com/facebook/ads/injkit/AnnotationProcessorImpl.java [124:154]
private void updateModel(List<File> files) throws IOException, AnnotationProcessingException {
for (File file : files) {
if (file.isDirectory()) {
updateModel(Arrays.asList(file.listFiles()));
return;
}
ZipRecursionHandler.handle(
file,
new ZipRecursionHandler.FileConsumer() {
@Override
public void consumeFile(boolean isClass, InputStream input)
throws IOException, AnnotationProcessingException {
if (isClass) {
classFileProcessor.updateModel(input, model);
}
}
@Override
public void consumeZip(ZipRecursionHandler.ZipHandler handler)
throws IOException, AnnotationProcessingException {
handler.handleZip(
(String path, boolean isClass, InputStream input) -> {
if (isClass) {
classFileProcessor.updateModel(input, model);
}
});
}
});
}
}