Package proguard.analysis.cpa.bam
Interface RebuildOperator
- All Known Implementing Classes:
NoOpRebuildOperator
public interface RebuildOperator
This operator is used to avoid collision of program identifiers when returning from a procedure
call. This operator does not compute any abstraction, but just performs simple operations as
renaming variables, depending on the domain.
-
Method Summary
Modifier and TypeMethodDescription<ContentT extends AbstractState<ContentT>>
JvmAbstractState<ContentT>rebuild(JvmAbstractState<ContentT> predecessorCallState, JvmAbstractState<ContentT> expandedOutputState) Performs the rebuilding of the return state.
-
Method Details
-
rebuild
<ContentT extends AbstractState<ContentT>> JvmAbstractState<ContentT> rebuild(JvmAbstractState<ContentT> predecessorCallState, JvmAbstractState<ContentT> expandedOutputState) Performs the rebuilding of the return state.- Type Parameters:
ContentT- The content of the jvm states. For example, this can be aSetAbstractStateof taints for taint analysis or aValueAbstractStatefor value analysis.- Parameters:
predecessorCallState- the state of the caller at the moment of the procedure callexpandedOutputState- the output ofExpandOperator- Returns:
- The state of the caller after the procedure call
-