public class JvmValueTransferRelation extends JvmTransferRelation<ValueAbstractState>
JvmTransferRelation that tracks values.JvmTransferRelation.InstructionAbstractInterpreter| Modifier and Type | Field and Description |
|---|---|
ExecutingInvocationUnit |
executingInvocationUnit |
| Constructor and Description |
|---|
JvmValueTransferRelation(ValueFactory valueFactory,
ExecutingInvocationUnit executingInvocationUnit) |
| Modifier and Type | Method and Description |
|---|---|
ValueAbstractState |
getAbstractByteConstant(byte b)
Returns an abstract representation of a byte constant
b. |
ValueAbstractState |
getAbstractDefault()
Returns a default abstract state.
|
java.util.List<ValueAbstractState> |
getAbstractDoubleConstant(double d)
Returns an abstract representation of a double constant
d. |
ValueAbstractState |
getAbstractFloatConstant(float f)
Returns an abstract representation of a float constant
f. |
ValueAbstractState |
getAbstractIntegerConstant(int i)
Returns an abstract representation of an integer constant
i. |
java.util.List<ValueAbstractState> |
getAbstractLongConstant(long l)
Returns an abstract representation of a long constant
l. |
ValueAbstractState |
getAbstractNull()
Returns an abstract representation of a null reference.
|
ValueAbstractState |
getAbstractReferenceValue(java.lang.String internalType,
Clazz referencedClazz,
boolean mayBeExtension,
boolean mayBeNull,
Clazz creationClass,
Method creationMethod,
int creationOffset,
java.lang.Object value)
Returns an abstract representation of a reference value
object. |
ValueAbstractState |
getAbstractShortConstant(short s)
Returns an abstract representation of a short constant
s. |
ValueFactory |
getValueFactory() |
protected ValueAbstractState |
handleCheckCast(ValueAbstractState state,
java.lang.String internalName)
Returns an abstract state representing the result of the
checkcast operation. |
void |
invokeMethod(JvmAbstractState<ValueAbstractState> state,
Call call,
java.util.List<ValueAbstractState> operands)
The default implementation computes join over its arguments.
|
protected void |
processCall(JvmAbstractState<ValueAbstractState> state,
Call call)
Pops the arguments from the operand stack and passes them to
invokeMethod. |
calculateArithmeticInstruction, computeIncrement, generateEdgeAbstractSuccessor, generateEdgeAbstractSuccessors, getAbstractSuccessorForInstruction, isInstanceOfclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetEdgesgenerateAbstractSuccessors, wrapAbstractSuccessorInCollectionpublic final ExecutingInvocationUnit executingInvocationUnit
public JvmValueTransferRelation(ValueFactory valueFactory, ExecutingInvocationUnit executingInvocationUnit)
public ValueFactory getValueFactory()
public ValueAbstractState getAbstractDefault()
JvmTransferRelationgetAbstractDefault in class JvmTransferRelation<ValueAbstractState>public ValueAbstractState getAbstractByteConstant(byte b)
JvmTransferRelationb.getAbstractByteConstant in class JvmTransferRelation<ValueAbstractState>public java.util.List<ValueAbstractState> getAbstractDoubleConstant(double d)
JvmTransferRelationd.getAbstractDoubleConstant in class JvmTransferRelation<ValueAbstractState>public ValueAbstractState getAbstractFloatConstant(float f)
JvmTransferRelationf.getAbstractFloatConstant in class JvmTransferRelation<ValueAbstractState>public ValueAbstractState getAbstractIntegerConstant(int i)
JvmTransferRelationi.getAbstractIntegerConstant in class JvmTransferRelation<ValueAbstractState>public java.util.List<ValueAbstractState> getAbstractLongConstant(long l)
JvmTransferRelationl.getAbstractLongConstant in class JvmTransferRelation<ValueAbstractState>public ValueAbstractState getAbstractNull()
JvmTransferRelationgetAbstractNull in class JvmTransferRelation<ValueAbstractState>public ValueAbstractState getAbstractShortConstant(short s)
JvmTransferRelations.getAbstractShortConstant in class JvmTransferRelation<ValueAbstractState>public ValueAbstractState getAbstractReferenceValue(java.lang.String internalType, Clazz referencedClazz, boolean mayBeExtension, boolean mayBeNull, Clazz creationClass, Method creationMethod, int creationOffset, java.lang.Object value)
JvmTransferRelationobject.getAbstractReferenceValue in class JvmTransferRelation<ValueAbstractState>protected void processCall(JvmAbstractState<ValueAbstractState> state, Call call)
JvmTransferRelationinvokeMethod.processCall in class JvmTransferRelation<ValueAbstractState>public void invokeMethod(JvmAbstractState<ValueAbstractState> state, Call call, java.util.List<ValueAbstractState> operands)
JvmTransferRelationinvokeMethod in class JvmTransferRelation<ValueAbstractState>protected ValueAbstractState handleCheckCast(ValueAbstractState state, java.lang.String internalName)
JvmTransferRelationcheckcast operation.handleCheckCast in class JvmTransferRelation<ValueAbstractState>