INNER CODE UNIT · Java

soakDangling

anggrayudi/android-hidden-api · cli/ClosureVerify.java:139

    public static Set<String> soakDangling(Map<String, ClassNode> all) {
        ClassLoader jdk = ClassLoader.getSystemClassLoader();
        Map<String, Boolean> jdkCache = new HashMap<>();
        Set<String> present = new HashSet<>(all.keySet());
        Set<String> removed = new HashSet<>();
        boolean changed = true;
        while (changed) {
            changed = false;
            List<String> drop = new ArrayList<>();
            for (String name : present) {
                for (String r : supers(all.get(name))) {
                    if (present.contains(r) || jdkLoadable(r, jdk, jdkCache)) continue;
                    drop.add(name);
                    break;
                }
            }
            if (!drop.isEmpty()) {
                present.removeAll(drop);

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…