public class TypeFrame extends Frame<org.apache.bcel.generic.Type>
Frame
for determining the types of values in the
Java stack frame (locals and operand stack).Frame
,
TypeAnalysis
Constructor and Description |
---|
TypeFrame(int numLocals)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
clearExactSet()
Clear the exact type set.
|
void |
copyFrom(Frame<org.apache.bcel.generic.Type> other_)
Make this Frame exactly the same as the one given as a parameter.
|
static org.apache.bcel.generic.Type |
getBottomType()
Get the single instance of the "Bottom" type.
|
static org.apache.bcel.generic.Type |
getDoubleExtraType()
Get the single instance of the "DoubleExtra" type.
|
static org.apache.bcel.generic.Type |
getLongExtraType()
Get the single instance of the "LongExtra" type.
|
static org.apache.bcel.generic.Type |
getNullType()
Get the single instance of the "Null" type.
|
static org.apache.bcel.generic.Type |
getTopType()
Get the single instance of the "Top" type.
|
boolean |
isExact(int slot)
Get whether or not a type in a given slot is exact.
|
org.apache.bcel.generic.Type |
popValue()
Pop a value off of the Java operand stack.
|
void |
pushValue(org.apache.bcel.generic.Type value)
Push a value onto the Java operand stack.
|
void |
setExact(int slot,
boolean isExact)
Set whether or not a type in a given slot is exact.
|
void |
setTop()
Make this frame the special "TOP" value.
|
java.lang.String |
toString()
Convert to string.
|
protected java.lang.String |
valueToString(org.apache.bcel.generic.Type value)
Subclasses may override this if they want to do something special to
convert Value objects to Strings.
|
allSlots, clearStack, contains, getArgument, getArgument, getArgumentSet, getArgumentSlot, getInstance, getInstanceSlot, getInstanceStackLocation, getLastUpdateTimestamp, getNumArguments, getNumArgumentsIncludingObjectInstance, getNumLocals, getNumSlots, getOperand, getStackDepth, getStackLocation, getStackValue, getTopStackWords, getTopValue, getValue, isBottom, isTop, isValid, sameAs, setBottom, setLastUpdateTimestamp, setValid, setValue
public void setExact(int slot, boolean isExact)
slot
- the slotisExact
- true if the slot contains an exact type, false if just an
upper boundpublic boolean isExact(int slot)
slot
- the slotpublic void clearExactSet()
public void setTop()
Frame
public void copyFrom(Frame<org.apache.bcel.generic.Type> other_)
Frame
protected java.lang.String valueToString(org.apache.bcel.generic.Type value)
Frame
valueToString
in class Frame<org.apache.bcel.generic.Type>
public static org.apache.bcel.generic.Type getTopType()
public static org.apache.bcel.generic.Type getBottomType()
public static org.apache.bcel.generic.Type getLongExtraType()
public static org.apache.bcel.generic.Type getDoubleExtraType()
public static org.apache.bcel.generic.Type getNullType()
public void pushValue(org.apache.bcel.generic.Type value)
Frame
public org.apache.bcel.generic.Type popValue() throws DataflowAnalysisException
popValue
in class Frame<org.apache.bcel.generic.Type>
DataflowAnalysisException
- if the Java operand stack is emptyFindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.