LLVM-but-worse / maple-ir

Industrial IR-based static analysis framework for Java bytecode
GNU General Public License v3.0
153 stars 16 forks source link

fix org.mapleir.app.service.ClassTree#getAllBranches #6

Open InkerBot opened 5 months ago

InkerBot commented 5 months ago

For example, we have three classes

public class Abst {
    public int apply(int a) {
        return a + 3;
    }
}
public interface Inte {
    int apply(int a);
}
public class Top extends Abst implements Inte {

    public void run() {
        if (((Inte) this).apply(3) == 6) {
            System.out.println("SUCCESS");
        } else {
            System.out.println("FAILURE");
        }
    }
}

If call this with Inte, it should return all these classes and java.lang.Object, but now it won't return Abst