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 className)
Returns an abstract representation of a reference value
object . |
ValueAbstractState |
getAbstractReferenceValue(java.lang.String internalType,
Clazz referencedClazz,
boolean mayBeExtension,
boolean mayBeNull)
Returns an abstract representation of a reference value
object . |
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() |
void |
invokeMethod(JvmAbstractState<ValueAbstractState> state,
Call call,
java.util.List<ValueAbstractState> operands)
The default implementation computes join over its arguments.
|
calculateArithmeticInstruction, computeIncrement, getAbstractSuccessorForInstruction, getEdgeAbstractSuccessor, isInstanceOf, processCall
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getEdges
getAbstractSuccessors
public final ExecutingInvocationUnit executingInvocationUnit
public JvmValueTransferRelation(ValueFactory valueFactory, ExecutingInvocationUnit executingInvocationUnit)
public ValueFactory getValueFactory()
public ValueAbstractState getAbstractDefault()
JvmTransferRelation
getAbstractDefault
in class JvmTransferRelation<ValueAbstractState>
public ValueAbstractState getAbstractByteConstant(byte b)
JvmTransferRelation
b
.getAbstractByteConstant
in class JvmTransferRelation<ValueAbstractState>
public java.util.List<ValueAbstractState> getAbstractDoubleConstant(double d)
JvmTransferRelation
d
.getAbstractDoubleConstant
in class JvmTransferRelation<ValueAbstractState>
public ValueAbstractState getAbstractFloatConstant(float f)
JvmTransferRelation
f
.getAbstractFloatConstant
in class JvmTransferRelation<ValueAbstractState>
public ValueAbstractState getAbstractIntegerConstant(int i)
JvmTransferRelation
i
.getAbstractIntegerConstant
in class JvmTransferRelation<ValueAbstractState>
public java.util.List<ValueAbstractState> getAbstractLongConstant(long l)
JvmTransferRelation
l
.getAbstractLongConstant
in class JvmTransferRelation<ValueAbstractState>
public ValueAbstractState getAbstractNull()
JvmTransferRelation
getAbstractNull
in class JvmTransferRelation<ValueAbstractState>
public ValueAbstractState getAbstractShortConstant(short s)
JvmTransferRelation
s
.getAbstractShortConstant
in class JvmTransferRelation<ValueAbstractState>
public ValueAbstractState getAbstractReferenceValue(java.lang.String className)
JvmTransferRelation
object
.getAbstractReferenceValue
in class JvmTransferRelation<ValueAbstractState>
public ValueAbstractState getAbstractReferenceValue(java.lang.String internalType, Clazz referencedClazz, boolean mayBeExtension, boolean mayBeNull)
JvmTransferRelation
object
.getAbstractReferenceValue
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)
JvmTransferRelation
object
.getAbstractReferenceValue
in class JvmTransferRelation<ValueAbstractState>
public void invokeMethod(JvmAbstractState<ValueAbstractState> state, Call call, java.util.List<ValueAbstractState> operands)
JvmTransferRelation
invokeMethod
in class JvmTransferRelation<ValueAbstractState>