[Soot-list] Class java.util.HashMap doesn't have method hash([int])?

Xinwei Xie xinweix at cse.unsw.edu.au
Fri Aug 3 04:30:55 EDT 2012


What happened to this. I ran it on my Macbook Pro with java version
1.6.0_33 and soot 2.5.0

java -Xmx4G -jar lib/soot-2.5.0.jar  -w -app -cp
.:/Users/xinweix/Documents/workspace/hedc/bin/:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jce.jar
 -p cg.spark  enabled:true Tester

I got the following error: (is it because the incorrect version of java I
am using?)

[Spark] Type masks in 3.2 seconds.
[Spark] Pointer Graph simplified in 0.0 seconds.
Exception in thread "main"
soot.SootMethodRefImpl$ClassResolutionFailedException: Class
java.util.HashMap doesn't have method hash([int]) : int; failed to resolve
in superclasses and interfacesLooking in java.util.HashMap which has
methods [<java.util.HashMap: void <init>()>, <java.util.HashMap: void
<init>(java.util.Map)>, <java.util.HashMap: void <init>(int)>,
<java.util.HashMap: void <init>(int,float)>, <java.util.HashMap: int
size()>, <java.util.HashMap: boolean isEmpty()>, <java.util.HashMap:
boolean containsValue(java.lang.Object)>, <java.util.HashMap: boolean
containsKey(java.lang.Object)>, <java.util.HashMap: java.lang.Object
get(java.lang.Object)>, <java.util.HashMap: java.lang.Object
put(java.lang.Object,java.lang.Object)>, <java.util.HashMap:
java.lang.Object remove(java.lang.Object)>, <java.util.HashMap: void
putAll(java.util.Map)>, <java.util.HashMap: void clear()>,
<java.util.HashMap: java.lang.Object clone()>, <java.util.HashMap:
java.util.Set keySet()>, <java.util.HashMap: java.util.Collection
values()>, <java.util.HashMap: java.util.Set entrySet()>,
<java.util.HashMap: int hash(java.lang.Object)>, <java.util.HashMap:
java.util.HashMap$Entry getEntry(java.util.Map$Entry)>, <java.util.HashMap:
void rehash()>, <java.util.HashMap: java.util.HashMap$Entry
access$0(java.util.HashMap,java.util.Map$Entry)>]
Looking in java.util.AbstractMap which has methods [<java.util.AbstractMap:
void <init>()>, <java.util.AbstractMap: void clear()>,
<java.util.AbstractMap: boolean containsKey(java.lang.Object)>,
<java.util.AbstractMap: boolean containsValue(java.lang.Object)>,
<java.util.AbstractMap: java.util.Set entrySet()>, <java.util.AbstractMap:
boolean equals(java.lang.Object)>, <java.util.AbstractMap: java.lang.Object
get(java.lang.Object)>, <java.util.AbstractMap: int hashCode()>,
<java.util.AbstractMap: boolean isEmpty()>, <java.util.AbstractMap:
java.util.Set keySet()>, <java.util.AbstractMap: java.lang.Object
put(java.lang.Object,java.lang.Object)>, <java.util.AbstractMap: void
putAll(java.util.Map)>, <java.util.AbstractMap: java.lang.Object
remove(java.lang.Object)>, <java.util.AbstractMap: int size()>,
<java.util.AbstractMap: java.lang.String toString()>,
<java.util.AbstractMap: java.util.Collection values()>]
Looking in java.lang.Object which has methods [<java.lang.Object: void
<init>()>, <java.lang.Object: void registerNatives()>, <java.lang.Object:
java.lang.Class getClass()>, <java.lang.Object: int hashCode()>,
<java.lang.Object: boolean equals(java.lang.Object)>, <java.lang.Object:
java.lang.Object clone()>, <java.lang.Object: java.lang.String toString()>,
<java.lang.Object: void notify()>, <java.lang.Object: void notifyAll()>,
<java.lang.Object: void wait(long)>, <java.lang.Object: void
wait(long,int)>, <java.lang.Object: void wait()>, <java.lang.Object: void
finalize()>, <java.lang.Object: void <clinit>()>]
Looking in java.util.Map which has methods [<java.util.Map: void clear()>,
<java.util.Map: boolean containsKey(java.lang.Object)>, <java.util.Map:
boolean containsValue(java.lang.Object)>, <java.util.Map: java.util.Set
entrySet()>, <java.util.Map: boolean equals(java.lang.Object)>,
<java.util.Map: java.lang.Object get(java.lang.Object)>, <java.util.Map:
java.lang.Object put(java.lang.Object,java.lang.Object)>, <java.util.Map:
int hashCode()>, <java.util.Map: boolean isEmpty()>, <java.util.Map:
java.util.Set keySet()>, <java.util.Map: void putAll(java.util.Map)>,
<java.util.Map: java.lang.Object remove(java.lang.Object)>, <java.util.Map:
int size()>, <java.util.Map: java.util.Collection values()>]
Looking in java.lang.Cloneable which has methods []
Looking in java.io.Serializable which has methods []
Looking in java.util.Map which has methods [<java.util.Map: void clear()>,
<java.util.Map: boolean containsKey(java.lang.Object)>, <java.util.Map:
boolean containsValue(java.lang.Object)>, <java.util.Map: java.util.Set
entrySet()>, <java.util.Map: boolean equals(java.lang.Object)>,
<java.util.Map: java.lang.Object get(java.lang.Object)>, <java.util.Map:
java.lang.Object put(java.lang.Object,java.lang.Object)>, <java.util.Map:
int hashCode()>, <java.util.Map: boolean isEmpty()>, <java.util.Map:
java.util.Set keySet()>, <java.util.Map: void putAll(java.util.Map)>,
<java.util.Map: java.lang.Object remove(java.lang.Object)>, <java.util.Map:
int size()>, <java.util.Map: java.util.Collection values()>]

at soot.SootMethodRefImpl.resolve(SootMethodRefImpl.java:183)
at soot.SootMethodRefImpl.resolve(SootMethodRefImpl.java:109)
at
soot.jimple.internal.AbstractInvokeExpr.getMethod(AbstractInvokeExpr.java:54)
at
soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.findReceivers(OnFlyCallGraphBuilder.java:553)
at
soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processNewMethod(OnFlyCallGraphBuilder.java:533)
at
soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processReachables(OnFlyCallGraphBuilder.java:426)
at soot.jimple.spark.solver.OnFlyCallGraph.build(OnFlyCallGraph.java:55)
at
soot.jimple.spark.solver.PropWorklist.handleVarNode(PropWorklist.java:123)
at soot.jimple.spark.solver.PropWorklist.propagate(PropWorklist.java:53)
at
soot.jimple.spark.SparkTransformer.internalTransform(SparkTransformer.java:152)
at soot.SceneTransformer.transform(SceneTransformer.java:39)
at soot.Transform.apply(Transform.java:89)
at soot.RadioScenePack.internalApply(RadioScenePack.java:57)
at
soot.jimple.toolkits.callgraph.CallGraphPack.internalApply(CallGraphPack.java:49)
at soot.Pack.apply(Pack.java:114)
at soot.PackManager.runWholeProgramPacks(PackManager.java:417)
at soot.PackManager.runPacks(PackManager.java:336)
at soot.Main.run(Main.java:198)
at soot.Main.main(Main.java:141)


-- 
Xinwei XIE
PhD Candidate, School of Computer Science and Engineering
University of New South Wales, Sydney, Australia, 2052
Email: xinweix at cse.unsw.edu.au
Homepage: www.cse.unsw.edu.au/~xinweix
Mobile: +61 0432 679315
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20120803/9a261f78/attachment.html 


More information about the Soot-list mailing list