Class ReachingDefinitionNode


  • public class ReachingDefinitionNode
    extends java.lang.Object
    A ReachingDefinitionNode contains a CFG node, which can only be a AssignmentNode. It is used to represent the estimate of a reaching definition at certain CFG block during dataflow analysis. We override `.equals` in this class to compare Nodes by value equality rather than reference equality. We want two different nodes with the same values (that is, the two nodes refer to the same reaching definition in the program) to be regarded as the same here.
    • Constructor Detail

      • ReachingDefinitionNode

        public ReachingDefinitionNode​(AssignmentNode n)
        Create a new reaching definition.
        Parameters:
        n - an assignment node
    • Method Detail

      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(@Nullable java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object