Class LabeledStatement

    • Constructor Detail

      • LabeledStatement

        public LabeledStatement()
      • LabeledStatement

        public LabeledStatement​(int pos)
      • LabeledStatement

        public LabeledStatement​(int pos,
                                int len)
    • Method Detail

      • getLabels

        public List<Label> getLabels()
        Returns label list
      • setLabels

        public void setLabels​(List<Label> labels)
        Sets label list, setting the parent of each label in the list. Replaces any existing labels.
        IllegalArgumentException - } if labels is null
      • addLabel

        public void addLabel​(Label label)
        Adds a label and sets its parent to this node.
        IllegalArgumentException - } if label is null
      • getStatement

        public AstNode getStatement()
        Returns the labeled statement
      • getLabelByName

        public Label getLabelByName​(String name)
        Returns label with specified name from the label list for this labeled statement. Returns null if there is no label with that name in the list.
      • setStatement

        public void setStatement​(AstNode statement)
        Sets the labeled statement, and sets its parent to this node.
        IllegalArgumentException - if statement is null
      • getFirstLabel

        public Label getFirstLabel()
      • toSource

        public String toSource​(int depth)
        Description copied from class: AstNode
        Emits source code for this node. Callee is responsible for calling this function recursively on children, incrementing indent as appropriate.

        Note: if the parser was in error-recovery mode, some AST nodes may have null children that are expected to be non-null when no errors are present. In this situation, the behavior of the toSource method is undefined: toSource implementations may assume that the AST node is error-free, since it is intended to be invoked only at runtime after a successful parse.

        Specified by:
        toSource in class AstNode
        depth - the current recursion depth, typically beginning at 0 when called on the root node.
      • visit

        public void visit​(NodeVisitor v)
        Visits this node, then each label in the label-list, and finally the statement.
        Specified by:
        visit in class AstNode
        v - the object to call with this node and its children