Class ValueLiteralNode

java.lang.Object
org.checkerframework.dataflow.cfg.node.Node
org.checkerframework.dataflow.cfg.node.ValueLiteralNode
All Implemented Interfaces:
org.plumelib.util.UniqueId
Direct Known Subclasses:
BooleanLiteralNode, CharacterLiteralNode, DoubleLiteralNode, FloatLiteralNode, IntegerLiteralNode, LongLiteralNode, NullLiteralNode, ShortLiteralNode, StringLiteralNode

public abstract class ValueLiteralNode extends Node
A node for a literals that have some form of value:
  • integer literal
  • long literal
  • char literal
  • string literal
  • float literal
  • double literal
  • boolean literal
  • null literal
  • Field Details

    • tree

      protected final LiteralTree tree
      The tree for the value literal.
  • Constructor Details

    • ValueLiteralNode

      protected ValueLiteralNode(LiteralTree tree)
  • Method Details

    • getValue

      public abstract @Nullable Object getValue()
      Returns the value of the literal, null for the null literal.
      Returns:
      the value of the literal, null for the null literal
    • getTree

      public LiteralTree getTree()
      Description copied from class: Node
      Returns the Tree in the abstract syntax tree, or null if no corresponding tree exists. For instance, this is the case for an ImplicitThisNode.
      Specified by:
      getTree in class Node
      Returns:
      the corresponding Tree or null
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(@Nullable Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • getOperands

      @SideEffectFree public Collection<Node> getOperands()
      Description copied from class: Node
      Returns a collection containing all of the operand Nodes of this Node.
      Specified by:
      getOperands in class Node
      Returns:
      a collection containing all of the operand Nodes of this Node