[Soot-list] Class java.util.Collections$EmptySet doesn't have
method <init>([java.util.Collections$1]) : void;
failed to resolve in superclasses and interfaces
Aiwu Shi
aiwu_shi at hotmail.com
Thu Jan 26 12:44:26 EST 2006
I am not extending Soot in the recommended way, but just calling into
Soot/Spark directly.
so, I add the following lines before my loading application classes into
Scene.
soot.options.Options.v().set_whole_program(true);
Scene.v().loadBasicClasses();
it sounds work, the Spark can begin to execute, but before finishing
successfully, the same-like error is show again.
the error message goes below:
[Call Graph] For information on where the call graph may be incomplete, use
the verbose option to the cg phase.
Total methods: 40361
Initially reachable methods: 148
Classes with at least one reachable method: 71
[Spark] Pointer Assignment Graph in 2.8 seconds.
Total types: 5359
[Spark] Type masks in 0.9 seconds.
VarNodes: 1392
FieldRefNodes: 31
AllocNodes: 327
Cleaning up graph for merged nodes
Done cleaning up graph for merged nodes
[Spark] Pointer Graph simplified in 0.0 seconds.
Worklist has 328 nodes.
Class soot.jimple.Jimple doesn't have method
newVirtualInvokeExpr([soot.Local, soot.SootMethod, java.util.List]) :
soot.jimple.VirtualInvokeExpr; failed to resolve in superclasses and
interfaces
so, if I need set up some other options? or something wrong else?
thanks for your help and quick response
Aiwu
>From: Ondrej Lhotak <olhotak at uwaterloo.ca>
>To: Aiwu Shi <aiwu_shi at hotmail.com>
>CC: soot-list at sable.mcgill.ca
>Subject: Re: [Soot-list] Class java.util.Collections$EmptySet doesn't have
>method <init>([java.util.Collections$1]) : void; failed to resolve in
>superclasses and interfaces
>Date: Thu, 26 Jan 2006 07:54:02 -0500
>
>What command-line options have you set?
>
>One possible cause of this is trying to do whole-program analyses
>without putting Soot in whole-program mode (with the -whole-program
>option).
>
>The default "fast" abc resolver only resolves classes needed for
>intra-procedural analyses. Whole-program mode switches to the full
>resolver which resolves everything needed.
>
>Ondrej
>
>On Wed, Jan 25, 2006 at 05:10:53PM -0500, Aiwu Shi wrote:
> >
> > hi,
> > I am using the Spark/soot for points-to analysis. when I execute the
> > SparkTransformer.v().transform("cg.spark", sparkOptions), I got the
>error
> > message like:
> >
> > Class java.util.Collections$EmptySet doesn't have method <init>(
> > [java.util.Collections$1]) : void; failed to resolve in superclasses and
> > interfaces
> >
> > actually, all the library jar files are in the soot class path.
> > if I manually load the class, e.g., Scene.v().loadClassAndSupport
> > ("java.util.Collections$EmptySet ") before executing SparkTransformer,
> the
> > error message disappear.
> >
> > I dont know why? how to fix the problem?
> >
> > thanks
> >
> > Aiwu
> >
>
> > _______________________________________________
> > Soot-list mailing list
> > Soot-list at sable.mcgill.ca
> > http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>
More information about the Soot-list
mailing list