Class DeconstructorPatternNode

  • All Implemented Interfaces:
    org.plumelib.util.UniqueId

    public class DeconstructorPatternNode
    extends Node
    A node for a deconstrutor pattern.
    • Field Detail

      • deconstructorPattern

        protected final com.sun.source.tree.Tree deconstructorPattern
        The DeconstructorPatternTree, declared as Tree to permit this file to compile under JDK 20 and earlier.
      • nestedPatterns

        protected final java.util.List<Node> nestedPatterns
        A list of nested pattern nodes.
    • Constructor Detail

      • DeconstructorPatternNode

        public DeconstructorPatternNode​(javax.lang.model.type.TypeMirror type,
                                        com.sun.source.tree.Tree deconstructorPattern,
                                        java.util.List<Node> nestedPatterns)
        Creates a DeconstructorPatternNode.
        Parameters:
        type - the type of the node
        deconstructorPattern - the DeconstructorPatternTree
        nestedPatterns - a list of nested pattern nodes
    • Method Detail

      • getTree

        @Pure
        public @Nullable com.sun.source.tree.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
      • getNestedPatterns

        @Pure
        public java.util.List<Node> getNestedPatterns()
        Returns the nested patterns.
        Returns:
        the nested patterns
      • 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
      • getOperands

        @Pure
        public java.util.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
      • getBindingVariables

        public java.util.List<LocalVariableNode> getBindingVariables()
        Return all the binding variables in this pattern.
        Returns:
        all the binding variables in this pattern