[Soot-list] Re(de)compilation of unmodified .class files

Eric Bodden eric.bodden at mail.mcgill.ca
Wed Apr 11 08:42:22 EDT 2007


By default transformers are applied to application classes but not
library classes. So you might get what you want by changing the set of
application classes on each call to Soot. That's at least something to
try IMHO.

Eric

On 11/04/07, Mario Mendez <mario at cs.unm.edu> wrote:
> For each .class C I want to generate another file C' in some arbitrary
> representation. So, for the example described so far, if the application
> is just files A and B, I will output A' and B'. Therefore, if B did not
> change, there is no point in generating the same B' again.
>
> Summary of my goal, then: for each classfile C that did change since
> last compilation, I want to generate a C'. That is independent of
> whether C is an application or library class: if it can be reached from
> the main and it changed, I would like to run my Transformer on it.
>
> The question, again, is whether this "on-demand" transform is provided
> already in Soot in some way.
>
> Patrick Lam wrote:
> > Eric Bodden wrote:
> >>> That functionality is not implemented in Soot.
> >> Patrick, if we know that B does not need to be processed can we not
> >> just set B as a library class in this case. I think that would
> >> automatically prevent B from being processed by transformers. (B would
> >> have to be loaded to signature level at the least though, I believe)
> >
> > Yes. But I don't know what Mario is trying to accomplish, so it's hard
> > to say. Perhaps he doesn't need to specify --app A.
> >
> > pat
>


-- 
Eric Bodden
Sable Research Group
McGill University, Montréal, Canada


More information about the Soot-list mailing list