edu.umd.cs.findbugs.ba
Class ValueNumberFrame
java.lang.Object
edu.umd.cs.findbugs.ba.Frame<ValueNumber>
edu.umd.cs.findbugs.ba.ValueNumberFrame
- All Implemented Interfaces:
- Debug, ValueNumberAnalysisFeatures
public class ValueNumberFrame
- extends Frame<ValueNumber>
- implements ValueNumberAnalysisFeatures
A dataflow value representing a Java stack frame with value number
information.
- Author:
- David Hovemeyer
- See Also:
ValueNumber
,
ValueNumberAnalysis
Methods inherited from class edu.umd.cs.findbugs.ba.Frame |
clearStack, getInstance, getNumLocals, getNumSlots, getStackDepth, getStackValue, getTopStackWords, getTopValue, getValue, isBottom, isTop, isValid, popValue, pushValue, sameAs, setBottom, setTop, setValid, setValue, valueToString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
mergedValueList
private java.util.ArrayList<ValueNumber> mergedValueList
availableLoadMap
private java.util.Map<AvailableLoad,ValueNumber[]> availableLoadMap
ValueNumberFrame
public ValueNumberFrame(int numLocals,
ValueNumberFactory factory)
getAvailableLoad
public ValueNumber[] getAvailableLoad(AvailableLoad availableLoad)
- Look for an available load.
- Parameters:
availableLoad
- the AvailableLoad (reference and field)
- Returns:
- the value(s) available, or null if no matching entry is found
addAvailableLoad
public void addAvailableLoad(AvailableLoad availableLoad,
ValueNumber[] value)
- Add an available load.
- Parameters:
availableLoad
- the AvailableLoad (reference and field)value
- the value(s) loaded
killLoadsOfField
public void killLoadsOfField(XField field)
- Kill all loads of given field.
- Parameters:
field
- the field
mergeAvailableLoadSets
void mergeAvailableLoadSets(ValueNumberFrame other)
getMergedValue
ValueNumber getMergedValue(int slot)
setMergedValue
void setMergedValue(int slot,
ValueNumber value)
copyFrom
public void copyFrom(Frame<ValueNumber> other)
- Description copied from class:
Frame
- Make this Frame exactly the same as the one given as a parameter.
- Overrides:
copyFrom
in class Frame<ValueNumber>
- Parameters:
other
- the Frame to make this object the same as
toString
public java.lang.String toString()
- Description copied from class:
Frame
- Convert to string.
- Overrides:
toString
in class Frame<ValueNumber>
valueToString
private static java.lang.String valueToString(ValueNumber[] valueNumberList)