public class InvokeExpr extends AbstractInvokeExpr
VT#INVOKE_INTERFACE
,VT#INVOKE_SPECIAL
or VT#INVOKE_VIRTUAL
the first element of ops is the owner object,To
represent a VT#INVOKE_NEW
or VT#INVOKE_STATIC
all ops are arguments. The return
type of VT#INVOKE_NEW
is owner instead of retVT#INVOKE_INTERFACE
,
VT#INVOKE_NEW
,
VT#INVOKE_SPECIAL
,
VT#INVOKE_STATIC
,
VT#INVOKE_VIRTUAL
Value.E0Expr, Value.E1Expr, Value.E2Expr, Value.EnExpr, Value.VT
Modifier and Type | Field and Description |
---|---|
Method |
method |
ops
Constructor and Description |
---|
InvokeExpr(Value.VT type,
Value[] args,
Method method) |
InvokeExpr(Value.VT type,
Value[] args,
java.lang.String ownerType,
java.lang.String methodName,
java.lang.String[] argmentTypes,
java.lang.String returnType) |
Modifier and Type | Method and Description |
---|---|
InvokeExpr |
clone() |
InvokeExpr |
clone(LabelAndLocalMapper mapper) |
java.lang.String[] |
getArgs() |
java.lang.String |
getName() |
java.lang.String |
getOwner() |
Proto |
getProto() |
java.lang.String |
getRet() |
protected void |
releaseMemory()
clean resource used by this value,release memory
|
java.lang.String |
toString0() |
cloneOps, cloneOps, getOps, setOps
public Method method
public InvokeExpr(Value.VT type, Value[] args, java.lang.String ownerType, java.lang.String methodName, java.lang.String[] argmentTypes, java.lang.String returnType)
protected void releaseMemory()
Value
releaseMemory
in class AbstractInvokeExpr
public Proto getProto()
getProto
in class AbstractInvokeExpr
public InvokeExpr clone()
public InvokeExpr clone(LabelAndLocalMapper mapper)
public java.lang.String getOwner()
public java.lang.String getRet()
public java.lang.String getName()
public java.lang.String[] getArgs()