Class MergeTree

java.lang.Object
edu.umd.cs.findbugs.ba.vna.MergeTree

public class MergeTree extends Object
Data structure to keep track of which input ValueNumbers were combined to produce which other output ValueNumbers.
Author:
David Hovemeyer
  • Field Details

    • DEBUG

      public static final boolean DEBUG
  • Constructor Details

    • MergeTree

      public MergeTree(ValueNumberFactory factory)
      Constructor.
      Parameters:
      factory - the ValueNumberFactory
  • Method Details

    • mapInputToOutput

      public void mapInputToOutput(ValueNumber input, ValueNumber output)
      Map an input ValueNumber to an output ValueNumber.
      Parameters:
      input - the input ValueNumber
      output - the output ValueNumber
    • getInputSet

      public 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 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 BitSet getTransitiveOutputSet(int input)