Interface Tree

    • Field Detail

      • INVALID_NODE

        static final Tree INVALID_NODE
    • Method Detail

      • getChild

        Tree getChild​(int i)
      • getChildCount

        int getChildCount()
      • getParent

        Tree getParent()
      • setParent

        void setParent​(Tree t)
      • hasAncestor

        boolean hasAncestor​(int ttype)
        Is there is a node above with token type ttype?
      • getAncestor

        Tree getAncestor​(int ttype)
        Walk upwards and get first ancestor with this token type.
      • getAncestors

        List<?> getAncestors()
        Return a list of all ancestors of this node. The first node of list is the root and the last is the parent of this node.
      • getChildIndex

        int getChildIndex()
        This node is what child index? 0..n-1
      • setChildIndex

        void setChildIndex​(int index)
      • freshenParentAndChildIndexes

        void freshenParentAndChildIndexes()
        Set the parent and child index values for all children
      • addChild

        void addChild​(Tree t)
        Add t as a child to this node. If t is null, do nothing. If t is nil, add all children of t to this' children.
      • setChild

        void setChild​(int i,
                      Tree t)
        Set ith child (0..n-1) to t; t must be non-null and non-nil node
      • deleteChild

        Object deleteChild​(int i)
      • replaceChildren

        void replaceChildren​(int startChildIndex,
                             int stopChildIndex,
                             Object t)
        Delete children from start to stop and replace with t even if t is a list (nil-root tree). num of children can increase or decrease. For huge child lists, inserting children can force walking rest of children to set their childindex; could be slow.
      • isNil

        boolean isNil()
        Indicates the node is a nil node but may still have children, meaning the tree is a flat list.
      • getTokenStartIndex

        int getTokenStartIndex()
        What is the smallest token index (indexing from 0) for this node and its children?
      • setTokenStartIndex

        void setTokenStartIndex​(int index)
      • getTokenStopIndex

        int getTokenStopIndex()
        What is the largest token index (indexing from 0) for this node and its children?
      • setTokenStopIndex

        void setTokenStopIndex​(int index)
      • dupNode

        Tree dupNode()
      • getType

        int getType()
        Return a token type; needed for tree parsing
      • getLine

        int getLine()
        In case we don't have a token payload, what is the line for errors?
      • getCharPositionInLine

        int getCharPositionInLine()
      • toStringTree

        String toStringTree()