in TransformCore/src/main/java/com/facebook/ads/injkit/model/Model.java [33:65]
Object annotationPropertyOfMethod(
String iName,
String name,
String methodDesc,
int access,
String annotationDesc,
String property);
boolean knowsAnnotation(String desc);
Map<String, Type> annotationProperties(String desc);
Object annotationDefaultValue(String desc, String property);
default Set<String> hierarchicalClosure(String iName) {
Set<String> done = new HashSet<>();
Set<String> pending = new HashSet<>();
pending.add(iName);
while (!pending.isEmpty()) {
String currentIName = pending.iterator().next();
done.add(currentIName);
if (knowsClass(currentIName)) {
pending.add(superClassOf(currentIName));
pending.addAll(interfacesOf(currentIName));
}
pending.removeAll(done);
}
return done;
}