ContentT - The content of the jvm states. For example, this can be a SetAbstractState of taints for taint analysis or a ValueAbstractState for value analysis.public interface ReduceOperator<ContentT extends AbstractState<ContentT>>
| Modifier and Type | Method and Description |
|---|---|
default JvmAbstractState<ContentT> |
onMethodEntry(JvmAbstractState<ContentT> reducedState,
boolean isStatic)
Performs additional operations on the reduced state (i.e.
|
default JvmAbstractState<ContentT> |
reduce(JvmAbstractState<ContentT> expandedInitialState,
JvmCfaNode 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.
|
JvmAbstractState<ContentT> |
reduceImpl(JvmAbstractState<ContentT> expandedInitialState,
JvmCfaNode blockEntryNode,
Call call)
Creates the initial state of the called procedure discarding the useless information from the
state of the caller.
|
default JvmAbstractState<ContentT> reduce(JvmAbstractState<ContentT> expandedInitialState, JvmCfaNode 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 procedureJvmAbstractState<ContentT> reduceImpl(JvmAbstractState<ContentT> expandedInitialState, JvmCfaNode 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 JvmAbstractState<ContentT> onMethodEntry(JvmAbstractState<ContentT> reducedState, boolean isStatic)
reducedState - reduced state (i.e., the entry state of the called method)isStatic - is the called method static