[Soot-list] Excluding classes

David Mohr dmohr at cs.unm.edu
Tue Nov 3 16:16:01 EST 2009


On Tue, Nov 3, 2009 at 12:44 AM, Eric Bodden
<bodden at st.informatik.tu-darmstadt.de> wrote:
> Hi David.
>
> The -x option merely changes classes (or packages) from being modified
> by Soot, by changing them into "library classes". Soot still tries to
> load library classes, it just won't process them in any of its
> transformers.

Ah ok. Is there any difference from just not specifying the class on
the CLI and having it get picked up by the dependencies? It would seem
that would have the same effect as specifying -x.

> When you allow phantom refs then the resolver will skip classes that
> it cannot find, modeling them as "phantom classes". However, all
> analyses that you then use have to be aware of these phantom classes
> and treat them accordingly. Most analyses within Soot are not designed
> with phantom classes in mind.

I was hoping for is to say "class Foo should be a phantom class",
without making every unresolved dependency a phantom class (i.e. so
that I could track some of the other ones down for inclusion on the
classpath). I guess implementing that is probably not worth the effort
if most parts of Soot fail in the presence of phantom classes any way
though.

I ended up just removing the class which pulled in the unresolved
dependency from the analysis. Not the best solution, but it does work.

Thanks Eric for always explaining things, it is very helpful!

~David


More information about the Soot-list mailing list