soot.jimple.internal
Class AbstractInstanceFieldRef

java.lang.Object
  extended by soot.jimple.internal.AbstractInstanceFieldRef
All Implemented Interfaces:
Serializable, EquivTo, ConcreteRef, ConvertToBaf, FieldRef, InstanceFieldRef, Ref, Switchable, Value
Direct Known Subclasses:
GInstanceFieldRef, JInstanceFieldRef

public abstract class AbstractInstanceFieldRef
extends Object
implements InstanceFieldRef, ConvertToBaf

See Also:
Serialized Form

Field Summary
protected  SootFieldRef fieldRef
           
 
Constructor Summary
protected AbstractInstanceFieldRef(ValueBox baseBox, SootFieldRef fieldRef)
           
 
Method Summary
 void apply(Switch sw)
          Called when this object is visited.
abstract  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 getBase()
           
 ValueBox getBaseBox()
           
 SootField getField()
           
 SootFieldRef getFieldRef()
           
 Type getType()
          Returns the Soot type of this Value.
 List getUseBoxes()
          Returns a List of boxes corresponding to Values which are used by (ie contained within) this Value.
 void setBase(Value base)
           
 void setFieldRef(SootFieldRef fieldRef)
           
 String toString()
           
 void toString(UnitPrinter up)
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

fieldRef

protected SootFieldRef fieldRef
Constructor Detail

AbstractInstanceFieldRef

protected AbstractInstanceFieldRef(ValueBox baseBox,
                                   SootFieldRef fieldRef)
Method Detail

clone

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

Specified by:
clone in interface Value
Overrides:
clone in class Object

toString

public String toString()
Overrides:
toString in class Object

toString

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

getBase

public Value getBase()
Specified by:
getBase in interface InstanceFieldRef

getBaseBox

public ValueBox getBaseBox()
Specified by:
getBaseBox in interface InstanceFieldRef

setBase

public void setBase(Value base)
Specified by:
setBase in interface InstanceFieldRef

getFieldRef

public SootFieldRef getFieldRef()
Specified by:
getFieldRef in interface FieldRef

setFieldRef

public void setFieldRef(SootFieldRef fieldRef)
Specified by:
setFieldRef in interface FieldRef

getField

public SootField getField()
Specified by:
getField in interface FieldRef

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

getType

public Type getType()
Description copied from interface: Value
Returns the Soot type of this Value.

Specified by:
getType 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

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

equivHashCode

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

Specified by:
equivHashCode in interface EquivTo

convertToBaf

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