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

Re: invokeexpr's



InvokeExpr's are split into two types: StaticInvokeExpr and
InstanceInvokeExpr. A StaticInvokeExpr is used to call a static method,
so it does not use a receiver object. InstanceInvokeExpr is used to call
non-static methods.

InstanceInvokeExpr are further subdivided into InterfaceInvokeExpr,
VirtualInvokeExpr, and SpecialInvokeExpr. These correspond to the
three bytecodes invokeinterface, invokevirtual, and invokespecial,
respectively. The first is used to call a method declared in an
interface, the second a method declared in a class, and the third to
call a constructor.

Hope that helps.

Ondrej


On Tue, May 07, 2002 at 04:21:14PM -0400, Jerry Hom wrote:
> 
> Hi!  I'm relatively new to Soot.  I'm wondering if someone could
> explain the differences between the various InvokeExpr's and their
> uses (or point me to some documentation).  I've read through all the
> tutorials and searched the mailing list archives, but haven't found an
> explanation.  Thanks!
> 
> -- 
> Jerry Hom
>