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 aSetAbstractState
of taints for taint analysis or aValueAbstractState
for value analysis.
- All Implemented Interfaces:
MergeOperator<JvmMemoryLocationAbstractState<ContentT>>
public final class JvmMemoryLocationMergeJoinOperator<ContentT extends AbstractState<ContentT>> extends java.lang.Object implements MergeOperator<JvmMemoryLocationAbstractState<ContentT>>
ThisMergeOperator
applies 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 theabstractState1
to weakenabstractState2
depending onprecision
.
-
-
-
Method Detail
-
merge
public JvmMemoryLocationAbstractState<ContentT> merge(JvmMemoryLocationAbstractState<ContentT> abstractState1, JvmMemoryLocationAbstractState<ContentT> abstractState2, Precision precision)
Description copied from interface:MergeOperator
The operator uses theabstractState1
to weakenabstractState2
depending onprecision
. Thus, it is asymmetric regarding its first two parameters. E.g., returnabstractState2
for no merging. To guarantee the correct behavior of the algorithm implementations must have no side effects.- Specified by:
merge
in interfaceMergeOperator<ContentT extends AbstractState<ContentT>>
-
-