INNER CODE UNIT · Java
verify
anggrayudi/android-hidden-api · cli/ClosureVerify.java:87
private static int verify(Map<String, ClassNode> all) {
ClassLoader jdk = ClassLoader.getSystemClassLoader();
Map<String, Boolean> jdkCache = new HashMap<>();
List<String> hard = new ArrayList<>();
TreeMap<String, Integer> soft = new TreeMap<>();
for (ClassNode cn : all.values()) {
for (String r : supers(cn)) {
if (all.containsKey(r) || jdkLoadable(r, jdk, jdkCache)) continue;
if (isHardNs(r)) { if (hard.size() < 50) hard.add(cn.name + " -> " + r); }
else soft.merge(namespace(r), 1, Integer::sum);
}
}
int softN = 0;
for (int v : soft.values()) softN += v;
System.err.println("[closure] scanned " + all.size() + " classes: "
+ hard.size() + " hard, " + softN + " soft (intentionally-dropped internals)");
if (softN > 0) System.err.println("[closure] soft (ok): " + join(soft));
if (!hard.isEmpty()) {