Class Reduction

    • Field Detail

    • Constructor Detail

      • Reduction

        public Reduction​(Token root)
        Initializes the Reduction with the specified root.
    • Method Detail

      • newContainer

        public static Reduction newContainer()
        Creates a new Reduction with Token.NULL as it's root.
      • isEmpty

        public boolean isEmpty()
        Returns true if the node is completely empty (no root, even).
        Overrides:
        isEmpty in class CSTNode
      • size

        public int size()
        Returns the number of elements in the node.
        Specified by:
        size in class CSTNode
      • get

        public CSTNode get​(int index)
        Returns the specified element, or null.
        Specified by:
        get in class CSTNode
      • getRoot

        public Token getRoot()
        Returns the root of the node, the Token that indicates it's type. Returns null if there is no root (usually only if the node is a placeholder of some kind -- see isEmpty()).
        Specified by:
        getRoot in class CSTNode
      • markAsExpression

        public void markAsExpression()
        Marks the node a complete expression.
        Overrides:
        markAsExpression in class CSTNode
      • isAnExpression

        public boolean isAnExpression()
        Returns true if the node is a complete expression.
        Overrides:
        isAnExpression in class CSTNode
      • set

        public CSTNode set​(int index,
                           CSTNode element)
        Sets an element in at the specified index.
        Overrides:
        set in class CSTNode
      • remove

        public CSTNode remove​(int index)
        Removes a node from the Reduction. You cannot remove the root node (index 0).
      • asReduction

        public Reduction asReduction()
        Creates a Reduction from this node. Returns self if the node is already a Reduction.
        Specified by:
        asReduction in class CSTNode