public class JvmCompositeHeapReduceOperator extends java.lang.Object implements ReduceOperator<JvmCfaNode,JvmCfaEdge,MethodSignature>
ReduceOperators applying them elementwise to CompositeHeapJvmAbstractStates.
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 |
reduce(AbstractState expandedInitialState,
JvmCfaNode blockEntryNode,
Call call)
Creates the initial state of the called procedure discarding the useless information from the state of the caller.
|
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 JvmReferenceAbstractStatespublic CompositeHeapJvmAbstractState reduce(AbstractState expandedInitialState, JvmCfaNode blockEntryNode, Call call)
ReduceOperatorreduce 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