soot.jimple.internal
Class JDynamicInvokeExpr

java.lang.Object
  extended by soot.jimple.internal.AbstractInvokeExpr
      extended by soot.jimple.internal.JDynamicInvokeExpr
All Implemented Interfaces:
Serializable, EquivTo, ConvertToBaf, DynamicInvokeExpr, Expr, InvokeExpr, Switchable, Value

public class JDynamicInvokeExpr
extends AbstractInvokeExpr
implements DynamicInvokeExpr, ConvertToBaf

See Also:
Serialized Form

Field Summary
protected  ValueBox[] bsmArgBoxes
           
protected  SootMethodRef bsmRef
           
 
Fields inherited from class soot.jimple.internal.AbstractInvokeExpr
argBoxes, methodRef
 
Constructor Summary
JDynamicInvokeExpr(SootMethodRef bootstrapMethodRef, List<Value> bootstrapArgs, SootMethodRef methodRef, List<Value> methodArgs)
           
 
Method Summary
 void apply(Switch sw)
          Called when this object is visited.
 Object clone()
          Returns a clone of this Value.
 void convertToBaf(JimpleToBafContext context, List<Unit> out)
           
 int equivHashCode()
          Returns a hash code for this object, consistent with structural equality.
 boolean equivTo(Object o)
          Returns true if this object is equivalent to o.
 Value getBootstrapArg(int index)
           
 int getBootstrapArgCount()
           
 List getBootstrapArgs()
           
 SootMethod getBootstrapMethod()
           
 SootMethodRef getBootstrapMethodRef()
           
 List getUseBoxes()
          Returns a List of boxes corresponding to Values which are used by (ie contained within) this Value.
 String toString()
           
 void toString(UnitPrinter up)
           
 
Methods inherited from class soot.jimple.internal.AbstractInvokeExpr
getArg, getArgBox, getArgCount, getArgs, getMethod, getMethodRef, getType, setArg, setMethodRef
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface soot.jimple.InvokeExpr
getArg, getArgBox, getArgCount, getArgs, getMethod, getMethodRef, getType, setArg, setMethodRef
 

Field Detail

bsmRef

protected SootMethodRef bsmRef

bsmArgBoxes

protected ValueBox[] bsmArgBoxes
Constructor Detail

JDynamicInvokeExpr

public JDynamicInvokeExpr(SootMethodRef bootstrapMethodRef,
                          List<Value> bootstrapArgs,
                          SootMethodRef methodRef,
                          List<Value> methodArgs)
Method Detail

getBootstrapArgCount

public int getBootstrapArgCount()

getBootstrapArg

public Value getBootstrapArg(int index)

clone

public Object clone()
Description copied from interface: Value
Returns a clone of this Value.

Specified by:
clone in interface Value
Specified by:
clone in class AbstractInvokeExpr

equivTo

public boolean equivTo(Object o)
Description copied from interface: EquivTo
Returns true if this object is equivalent to o.

Specified by:
equivTo in interface EquivTo

getBootstrapMethod

public SootMethod getBootstrapMethod()

equivHashCode

public int equivHashCode()
Returns a hash code for this object, consistent with structural equality.

Specified by:
equivHashCode in interface EquivTo

toString

public String toString()
Overrides:
toString in class Object

toString

public void toString(UnitPrinter up)
Specified by:
toString in interface Value

apply

public void apply(Switch sw)
Description copied from interface: Switchable
Called when this object is visited.

Specified by:
apply in interface Switchable

getUseBoxes

public List getUseBoxes()
Description copied from interface: Value
Returns a List of boxes corresponding to Values which are used by (ie contained within) this Value.

Specified by:
getUseBoxes in interface Value

convertToBaf

public void convertToBaf(JimpleToBafContext context,
                         List<Unit> out)
Specified by:
convertToBaf in interface ConvertToBaf

getBootstrapMethodRef

public SootMethodRef getBootstrapMethodRef()
Specified by:
getBootstrapMethodRef in interface DynamicInvokeExpr

getBootstrapArgs

public List getBootstrapArgs()
Specified by:
getBootstrapArgs in interface DynamicInvokeExpr