[Soot-list] loading class files with Soot in abc

Oege de Moor Oege.de.Moor at comlab.ox.ac.uk
Sun Feb 5 11:37:54 EST 2006


In abc, we load *.class files for weaving with this bit of code
(in abc.main.Main.loadJars)

       jari = OptionsParser.v().inpath().iterator();
         while (jari.hasNext()) {
             String jar = (String)jari.next();
             List/*String*/ this_jar_classes =
                soot.SourceLocator.v().getClassesUnder(jar);
             jar_classes.addAll(this_jar_classes);
         }

Unfortunately, the call to getClassesUnder(..) picks up not
only *.class files, but also *.java and *.jimple, which we
do not want: it should pick up *.class and nothing else.

Any suggestions on what to do? Might it be possible to

This is the root of bug #60 on abc bugzilla: if you happen
to have both X.java and X.class in the same directory, X will
end up appearing twice in the list of weavable classes,
and so all advice is applied twice.

Ta,

-Oege








More information about the Soot-list mailing list