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()) {

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…