Package proguard.analysis.cpa.bam
Interface ExpandOperator<CfaNodeT extends CfaNode<CfaEdgeT,SignatureT>,CfaEdgeT extends CfaEdge<CfaNodeT>,SignatureT extends Signature>
-
- All Known Implementing Classes:
JvmDefaultExpandOperator
,JvmReferenceExpandOperator
,JvmTaintExpandOperator
,JvmValueExpandOperator
public interface ExpandOperator<CfaNodeT extends CfaNode<CfaEdgeT,SignatureT>,CfaEdgeT extends CfaEdge<CfaNodeT>,SignatureT extends Signature>
This operator is used to recover the information discarded when entering a procedure block depending on the domain-specific analysis.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description AbstractState
expand(AbstractState expandedInitialState, AbstractState reducedExitState, CfaNodeT blockEntryNode, Call call)
Reconstructs the state of the caller of a procedure using the information of the expanded initial state, the reduced exit state, the block entry node (that can be used to retrieve the CFA subgraph of the function), and the call to the procedure.
-
-
-
Method Detail
-
expand
AbstractState expand(AbstractState expandedInitialState, AbstractState reducedExitState, CfaNodeT blockEntryNode, Call call)
Reconstructs the state of the caller of a procedure using the information of the expanded initial state, the reduced exit state, the block entry node (that can be used to retrieve the CFA subgraph of the function), and the call to the procedure.- Parameters:
expandedInitialState
- the entry state of the called procedure before any reductionreducedExitState
- the state of the called procedure in its exit nodeblockEntryNode
- the entry node of the called procedurecall
- the information of the call to the procedure- Returns:
- The state of the caller after the procedure call, eventually with some collisions of
identifiers that need the
RebuildOperator
to be solved
-
-