Package edu.umd.cs.findbugs.ba.vna
Class MergeTree
- java.lang.Object
-
- edu.umd.cs.findbugs.ba.vna.MergeTree
-
public class MergeTree extends java.lang.Object
Data structure to keep track of which input ValueNumbers were combined to produce which other output ValueNumbers.
-
-
Field Summary
Fields Modifier and Type Field Description static boolean
DEBUG
private ValueNumberFactory
factory
private java.util.Map<ValueNumber,java.util.BitSet>
outputToInputMap
-
Constructor Summary
Constructors Constructor Description MergeTree(ValueNumberFactory factory)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.BitSet
getInputSet(ValueNumber output)
Get the set of input ValueNumbers which directly contributed to the given output ValueNumber.private java.util.BitSet
getOutputSet(int valueNumber)
java.util.BitSet
getTransitiveInputSet(ValueNumber output)
Get the transitive set of input ValueNumbers which contributed (directly or indirectly) to the given output ValueNumber.java.util.BitSet
getTransitiveOutputSet(int input)
void
mapInputToOutput(ValueNumber input, ValueNumber output)
Map an input ValueNumber to an output ValueNumber.
-
-
-
Field Detail
-
DEBUG
public static final boolean DEBUG
-
factory
private final ValueNumberFactory factory
-
outputToInputMap
private final java.util.Map<ValueNumber,java.util.BitSet> outputToInputMap
-
-
Constructor Detail
-
MergeTree
public MergeTree(ValueNumberFactory factory)
Constructor.- Parameters:
factory
- the ValueNumberFactory
-
-
Method Detail
-
mapInputToOutput
public void mapInputToOutput(ValueNumber input, ValueNumber output)
Map an input ValueNumber to an output ValueNumber.- Parameters:
input
- the input ValueNumberoutput
- the output ValueNumber
-
getInputSet
public java.util.BitSet getInputSet(ValueNumber output)
Get the set of input ValueNumbers which directly contributed to the given output ValueNumber.- Parameters:
output
- the output ValueNumber- Returns:
- the set of direct input ValueNumbers
-
getTransitiveInputSet
public java.util.BitSet getTransitiveInputSet(ValueNumber output)
Get the transitive set of input ValueNumbers which contributed (directly or indirectly) to the given output ValueNumber.- Parameters:
output
- the output ValueNumber- Returns:
- the transitive set of input ValueNumbers
-
getTransitiveOutputSet
public java.util.BitSet getTransitiveOutputSet(int input)
-
getOutputSet
private java.util.BitSet getOutputSet(int valueNumber)
-
-