Fix for issue reported by Haichen Shen:

Hi Eric,

I'm Haichen, a PhD student at University of Washington. Recently I've been using soot to do some static analysis on Android apps. I found that a recent commit by you caused some problem. The tag of commit is "Bugfix" (SHA1 ID: f1a3a38ac28b3aa29a8f4b8c376725861ed822b6).

The problem is that you put the writeOutput() from soot.Main.main(String[] args) into soot.PackManager.runPacks(). However, inside writeOutput(), it will call releaseBodies( reachableClasses() ) (Line 435) which deletes all the bodies. If I don't want to call the Main.main(args) but PackManager.v().runPacks() to make soot transform the code from java to jimple, and to make further use of jimple bodies, I will be no longer able to do that.

I'm not sure this issue would be a serious problem. And might there's another way to do this. If so, could you tell me? Otherwise, could you fix it? Thanks.

Best,
Haichen