Class ASTList<N extends JavaNode>

    • Method Detail

      • size

        public int size()
        Returns the number of nodes in this list. This must be the number of nodes yielded by the iterator().
      • isEmpty

        public boolean isEmpty()
      • toList

        public List<N> toList()
        Returns a list containing the element of this node.
      • toStream

        public NodeStream<N> toStream()
        Returns a node stream containing the same element this node contains.
      • orEmpty

        public static <N extends JavaNode> @NonNull List<N> orEmpty​(@Nullable ASTList<N> list)
        Returns an empty list if the parameter is null, otherwise returns its toList().
        Type Parameters:
        N - Type of elements
        Parameters:
        list - List node
        Returns:
        A non-null list
      • sizeOrZero

        public static int sizeOrZero​(@Nullable ASTList<?> list)
      • singleOrNull

        public static <N extends JavaNode> @Nullable N singleOrNull​(@Nullable ASTList<N> list)
        Returns the element if there is exactly one, otherwise returns null.
        Type Parameters:
        N - Type of elements
        Parameters:
        list - List node
        Returns:
        An element, or null.
      • acceptVisitor

        public final <P,​R> R acceptVisitor​(AstVisitor<? super P,​? extends R> visitor,
                                                 P data)
        Specified by:
        acceptVisitor in interface Node
      • acceptVisitor

        protected abstract <P,​R> R acceptVisitor​(JavaVisitor<? super P,​? extends R> visitor,
                                                       P data)
      • addChild

        protected void addChild​(net.sourceforge.pmd.lang.java.ast.AbstractJavaNode child,
                                int index)
        Overrides:
        addChild in class AbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,​JavaNode>
      • insertChild

        protected void insertChild​(net.sourceforge.pmd.lang.java.ast.AbstractJavaNode child,
                                   int index)
        Overrides:
        insertChild in class AbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,​JavaNode>
      • removeChildAtIndex

        protected void removeChildAtIndex​(int childIndex)
        Overrides:
        removeChildAtIndex in class AbstractNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,​JavaNode>
      • setChild

        protected void setChild​(net.sourceforge.pmd.lang.java.ast.AbstractJavaNode child,
                                int index)
        Overrides:
        setChild in class AbstractNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,​JavaNode>
      • getSymbolTable

        public @NonNull JSymbolTable getSymbolTable()
        Description copied from interface: JavaNode
        Returns the symbol table for the program point represented by this node.
        Specified by:
        getSymbolTable in interface JavaNode
      • getTypeSystem

        public TypeSystem getTypeSystem()
        Description copied from interface: JavaNode
        Returns the type system with which this node was created. This is the object responsible for representing types in the compilation unit.
        Specified by:
        getTypeSystem in interface JavaNode