Class TypeFrame
java.lang.Object
edu.umd.cs.findbugs.ba.Frame<org.apache.bcel.generic.Type>
edu.umd.cs.findbugs.ba.type.TypeFrame
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidClear the exact type set.voidMake this Frame exactly the same as the one given as a parameter.static org.apache.bcel.generic.TypeGet the single instance of the "Bottom" type.static org.apache.bcel.generic.TypeGet the single instance of the "DoubleExtra" type.static org.apache.bcel.generic.TypeGet the single instance of the "LongExtra" type.static org.apache.bcel.generic.TypeGet the single instance of the "Null" type.static org.apache.bcel.generic.TypeGet the single instance of the "Top" type.booleanisExact(int slot) Get whether or not a type in a given slot is exact.org.apache.bcel.generic.TypepopValue()Pop a value off of the Java operand stack.voidpushValue(org.apache.bcel.generic.Type value) Push a value onto the Java operand stack.voidsetExact(int slot, boolean isExact) Set whether or not a type in a given slot is exact.voidsetTop()Make this frame the special "TOP" value.toString()Convert to string.protected StringvalueToString(org.apache.bcel.generic.Type value) Subclasses may override this if they want to do something special to convert Value objects to Strings.Methods inherited from class Frame
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
-
Field Details
-
exactTypeSet
-
-
Constructor Details
-
TypeFrame
public TypeFrame(int numLocals) Constructor.
-
-
Method Details
-
setExact
public void setExact(int slot, boolean isExact) Set whether or not a type in a given slot is exact.- Parameters:
slot- the slotisExact- true if the slot contains an exact type, false if just an upper bound
-
isExact
public boolean isExact(int slot) Get whether or not a type in a given slot is exact.- Parameters:
slot- the slot- Returns:
- true if the slot contains an exact type, false if just an upper bound
-
clearExactSet
public void clearExactSet()Clear the exact type set. The result is that all slots will be assumed not to contain an exact type. -
setTop
-
copyFrom
-
valueToString
Description copied from class:FrameSubclasses may override this if they want to do something special to convert Value objects to Strings. By default, we just call toString() on the values.- Overrides:
valueToStringin classFrame<org.apache.bcel.generic.Type>
-
getTopType
public static org.apache.bcel.generic.Type getTopType()Get the single instance of the "Top" type. -
getBottomType
public static org.apache.bcel.generic.Type getBottomType()Get the single instance of the "Bottom" type. -
getLongExtraType
public static org.apache.bcel.generic.Type getLongExtraType()Get the single instance of the "LongExtra" type. -
getDoubleExtraType
public static org.apache.bcel.generic.Type getDoubleExtraType()Get the single instance of the "DoubleExtra" type. -
getNullType
public static org.apache.bcel.generic.Type getNullType()Get the single instance of the "Null" type. -
pushValue
-
popValue
Pop a value off of the Java operand stack.- Overrides:
popValuein classFrame<org.apache.bcel.generic.Type>- Returns:
- the value that was popped
- Throws:
DataflowAnalysisException- if the Java operand stack is empty
-
toString
-