public interface ReduceOperator<CfaNodeT extends CfaNode<CfaEdgeT,SignatureT>,CfaEdgeT extends CfaEdge<CfaNodeT>,SignatureT extends Signature>
Modifier and Type | Method and Description |
---|---|
default AbstractState |
onMethodEntry(AbstractState reducedState,
boolean isStatic)
Performs additional operations on the reduced state (i.e.
|
default AbstractState |
reduce(AbstractState expandedInitialState,
CfaNodeT blockEntryNode,
Call call)
Accumulates the reduction procedure by calling the method to create the initial state of the
called procedure discarding the useless information from the state of the caller and calling a
method that performs additional operations on the created state if any are specified by an
implementing class.
|
AbstractState |
reduceImpl(AbstractState expandedInitialState,
CfaNodeT blockEntryNode,
Call call)
Creates the initial state of the called procedure discarding the useless information from the
state of the caller.
|
default AbstractState reduce(AbstractState expandedInitialState, CfaNodeT blockEntryNode, Call call)
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 procedureAbstractState reduceImpl(AbstractState expandedInitialState, CfaNodeT blockEntryNode, Call call)
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 proceduredefault AbstractState onMethodEntry(AbstractState reducedState, boolean isStatic)
reducedState
- reduced state (i.e., the entry state of the called method)isStatic
- is the called method static