Class ReachingDefinitionNode
- java.lang.Object
-
- org.checkerframework.dataflow.reachingdef.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.
-
-
Field Summary
Fields Modifier and Type Field Description protected AssignmentNode
def
A reaching definition is represented by a node, which can only be aAssignmentNode
.
-
Constructor Summary
Constructors Constructor Description ReachingDefinitionNode(AssignmentNode n)
Create a new reaching definition.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(@Nullable java.lang.Object obj)
int
hashCode()
java.lang.String
toString()
-
-
-
Field Detail
-
def
protected final AssignmentNode def
A reaching definition is represented by a node, which can only be aAssignmentNode
.
-
-
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 classjava.lang.Object
-
equals
public boolean equals(@Nullable java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-