[Soot-list] resolve From ClassFile

Saswat Anand saswat at cc.gatech.edu
Tue Jun 21 09:33:05 EDT 2005


Hello,

I am having some problem with soot.coffi.Util.resolveFromClassFile 
function. I dont know if it is a bug or some misunderstanding on my part 
about the usage of loadClassAndSupport.

I have a SceneTransformer that loads a class using loadClassAndSupport 
and I get the following exception. I see that soot.sootClass.addField() 
requires the class to be in SIGNATURES level. Whereas the 
resolveFromClassFile method is (transitively) called from 
soot.sootResolver.bringToHierarchy() where the level is set to HIERARCHY.

Btw I am using -w -f jimple options. Would appreciate a quick response 
very much!

Saswat


Exception in thread "main" java.lang.RuntimeException: This operation 
requires resolving level SIGNATURES but 
gov.nasa.jpf.symbolic.integer.SymbolicInteger is at resolving level 
HIERARCHY
         at soot.SootClass.checkLevel(SootClass.java:123)
         at soot.SootClass.addField(SootClass.java:185)
         at soot.coffi.Util.resolveFromClassFile(Util.java:150)
         at soot.CoffiClassSource.resolve(CoffiClassSource.java:37)
         at soot.SootResolver.bringToHierarchy(SootResolver.java:148)
         at soot.SootResolver.bringToSignatures(SootResolver.java:172)
         at soot.SootResolver.bringToBodies(SootResolver.java:214)
         at soot.SootResolver.processResolveWorklist(SootResolver.java:100)
         at soot.SootResolver.resolveClass(SootResolver.java:89)
         at soot.Scene.loadClass(Scene.java:329)
         at soot.Scene.loadClassAndSupport(Scene.java:314)
         at 
instrumenter.JPFInterface.loadSymbolicClasses(JPFInterface.java:40)
         at 
instrumenter.Instrumenter.internalTransform(Instrumenter.java:24)
         at soot.SceneTransformer.transform(SceneTransformer.java:39)
         at soot.Transform.apply(Transform.java:89)
         at soot.ScenePack.internalApply(ScenePack.java:44)
         at soot.Pack.apply(Pack.java:110)
         at soot.PackManager.runWholeProgramPacks(PackManager.java:350)
         at soot.PackManager.runPacks(PackManager.java:300)
         at soot.Main.run(Main.java:179)
         at soot.Main.main(Main.java:153)
         at instrumenter.Main.main(Main.java:13)



More information about the Soot-list mailing list