public class JvmCompositeHeapReduceOperator extends java.lang.Object implements ReduceOperator<JvmCfaNode,JvmCfaEdge,MethodSignature>
ReduceOperator
s applying them elementwise to CompositeHeapJvmAbstractState
s.
Also discards from the heap state all nodes not in a subtree of references in method's call arguments or static variables.
Constructor and Description |
---|
JvmCompositeHeapReduceOperator(java.util.List<? extends ReduceOperator<JvmCfaNode,JvmCfaEdge,MethodSignature>> wrappedReducedOperators)
Create a composite reduce operator from a list of reduce operators.
|
Modifier and Type | Method and Description |
---|---|
CompositeHeapJvmAbstractState |
reduceImpl(AbstractState expandedInitialState,
JvmCfaNode blockEntryNode,
Call call)
Creates the initial state of the called procedure discarding the useless information from the
state of the caller.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
onMethodEntry, reduce
public JvmCompositeHeapReduceOperator(java.util.List<? extends ReduceOperator<JvmCfaNode,JvmCfaEdge,MethodSignature>> wrappedReducedOperators)
wrappedReducedOperators
- a list of reduce operators with the order matching the structure
of the target JvmReferenceAbstractState
spublic CompositeHeapJvmAbstractState reduceImpl(AbstractState expandedInitialState, JvmCfaNode blockEntryNode, Call call)
ReduceOperator
reduceImpl
in interface ReduceOperator<JvmCfaNode,JvmCfaEdge,MethodSignature>
expandedInitialState
- the entry state of the called procedure before any reductionblockEntryNode
- the entry node of the called procedurecall
- the information of the call to the procedure