[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

type assigner bug



Hi

When I run soot starting from a class file on the following java
program:

public class AssertTest2 {

    public static void main(String [] args){
       int x = 0;
       assert x == 0 : MyError.throwError("bug if error thrown");
       assert x < 2 ? true : false : MyError.throwError("bug if error
thrown");
    }
}
class MyError extends Error {
    MyError(String s) { super(s); }
    static boolean throwError(String s) {
        throw new MyError(s);
    }
}

I get the following type assigner error:

Exception in thread "main" java.lang.NullPointerException
        at
soot.jimple.toolkits.typing.TypeAssigner.typingFailed(TypeAssigner.java:82)
        at
soot.jimple.toolkits.typing.TypeAssigner.internalTransform(TypeAssigner.java:68)
        at soot.BodyTransformer.transform(BodyTransformer.java:51)
        at soot.Transform.apply(Transform.java:98)
        at soot.JimpleBodyPack.applyPhaseOptions(JimpleBodyPack.java:70)
        at soot.JimpleBodyPack.internalApply(JimpleBodyPack.java:93)
        at soot.Pack.apply(Pack.java:120)
        at
soot.coffi.CoffiMethodSource.getBody(CoffiMethodSource.java:115)
        at soot.SootMethod.getBodyFromMethodSource(SootMethod.java:79)
        at soot.SootMethod.retrieveActiveBody(SootMethod.java:302)
        at soot.PackManager.retrieveAllBodies(PackManager.java:670)
        at soot.PackManager.runPacks(PackManager.java:296)
        at soot.Main.run(Main.java:180)
        at soot.Main.main(Main.java:154)


Jennifer