Class AssertionErrorNode

java.lang.Object
org.checkerframework.dataflow.cfg.node.Node
org.checkerframework.dataflow.cfg.node.AssertionErrorNode
All Implemented Interfaces:
org.plumelib.util.UniqueId

public class AssertionErrorNode extends Node
A node for the AssertionError when an assertion fails or when a method call marked AssertMethod fails.
   assert condition : detail ;
 
  • Field Details

    • tree

      protected final Tree tree
      Tree for the assert statement or assert method.
    • condition

      protected final Node condition
      The condition that if it is false, the assertion exception is thrown.
    • detail

      protected final @Nullable Node detail
      The node for the expression after : in the assert statement, or null.
  • Constructor Details

    • AssertionErrorNode

      public AssertionErrorNode(Tree tree, Node condition, @Nullable Node detail, TypeMirror type)
      Creates an AssertionErrorNode.
      Parameters:
      tree - tree for the assert statement or assert method
      condition - the node of the condition when if false the assertion exception is thrown
      detail - node for the expression after : in the assert statement, or null
      type - the type of the exception thrown
  • Method Details

    • getCondition

      @Pure public Node getCondition()
      The node of the condition that if it is false, the assertion exception is thrown.
      Returns:
      the node of the condition that if it is false, the assertion exception is thrown
    • getDetail

      @Pure public @Nullable Node getDetail()
      The node for the expression after : in the assert statement, or null.
      Returns:
      node for the expression after : in the assert statement, or null
    • getTree

      public Tree 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
    • accept

      public <R, P> R accept(NodeVisitor<R,P> visitor, P p)
      Description copied from class: Node
      Accept method of the visitor pattern.
      Specified by:
      accept in class Node
      Type Parameters:
      R - result type of the operation
      P - parameter type
      Parameters:
      visitor - the visitor to be applied to this node
      p - the parameter for this operation
    • 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