Class JvmMemoryLocationMergeJoinOperator<ContentT extends AbstractState<ContentT>>
java.lang.Object
proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationMergeJoinOperator<ContentT>
- Type Parameters:
ContentT- The content of the jvm states for the traced analysis. For example, this can be aSetAbstractStateof taints for taint analysis or aValueAbstractStatefor value analysis.
- All Implemented Interfaces:
MergeOperator<JvmMemoryLocationAbstractState<ContentT>>
public final class JvmMemoryLocationMergeJoinOperator<ContentT extends AbstractState<ContentT>>
extends Object
implements MergeOperator<JvmMemoryLocationAbstractState<ContentT>>
This
MergeOperator applies the join operator to its arguments sharing the same memory
location.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionmerge(JvmMemoryLocationAbstractState<ContentT> abstractState1, JvmMemoryLocationAbstractState<ContentT> abstractState2, Precision precision) The operator uses theabstractState1to weakenabstractState2depending onprecision.
-
Constructor Details
-
JvmMemoryLocationMergeJoinOperator
public JvmMemoryLocationMergeJoinOperator()
-
-
Method Details
-
merge
public JvmMemoryLocationAbstractState<ContentT> merge(JvmMemoryLocationAbstractState<ContentT> abstractState1, JvmMemoryLocationAbstractState<ContentT> abstractState2, Precision precision) Description copied from interface:MergeOperatorThe operator uses theabstractState1to weakenabstractState2depending onprecision. Thus, it is asymmetric regarding its first two parameters. E.g., returnabstractState2for no merging. To guarantee the correct behavior of the algorithm implementations must have no side effects.- Specified by:
mergein interfaceMergeOperator<ContentT extends AbstractState<ContentT>>
-