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 java.lang.Object implements MergeOperator<JvmMemoryLocationAbstractState<ContentT>>
ThisMergeOperatorapplies the join operator to its arguments sharing the same memory location.
-
-
Constructor Summary
Constructors Constructor Description JvmMemoryLocationMergeJoinOperator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description JvmMemoryLocationAbstractState<ContentT>merge(JvmMemoryLocationAbstractState<ContentT> abstractState1, JvmMemoryLocationAbstractState<ContentT> abstractState2, Precision precision)The operator uses theabstractState1to weakenabstractState2depending onprecision.
-
-
-
Method Detail
-
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>>
-
-