[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problem with 1.2.4 classfiles.. ?



Etienne M. Gagnon wrote:
> > > > The Jimple code has:
> > > > $z0 = virtualinvoke r0.<soot.ValueBox: boolean canContainValue(soot.Value)>(r1);
> > > 
> > > Isn't "soot.ValueBox" an interface? 
> > 
> > Yes, soot.ValueBox is an interface. Strange...
> 
> This definitely looks as a Java compiler bug to me.  Does anybody know
> if Sun has released an updates to the JVM specification that would
> justify such invalid looking method invocation?

Don't look at the Jimple code, look at the classfile itself.
It has: INVOKEVIRTUAL AbstractValueBox.canContainValue().

This makes slightly more sense, if you think of an abstract class
that implements an interface as having "implicit" abstract methods
for all unimplimented interface methods.

-Archie

__________________________________________________________________________
Archie Cobbs     *     Packet Design     *     http://www.packetdesign.com