Class SyntheticCompositeNode

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object obj)  
      BidiTreeIterable<INode> getAsTreeIterable()
      Returns a tree iterable that uses this node as its origin and root instance.
      BidiIterable<INode> getChildren()
      Returns an iterable that provides access to the children of the composite node.
      int getEndLine()
      Returns the line number relative to the complete input where the node ends (one based, excluding hidden tokens).
      int getEndOffset()
      Returns the end offset (exclusive) of this node excluding hidden tokens.
      INode getFirstChild()
      Returns the first child of this node.
      org.eclipse.emf.ecore.EObject getGrammarElement()
      Returns the grammar element that created this node.
      INode getLastChild()
      Returns the last child of this node.
      java.lang.Iterable<ILeafNode> getLeafNodes()
      Returns an iterable for all contained leaf nodes.
      int getLength()
      Returns the length of this node excluding hidden tokens.
      int getLookAhead()
      Return the number of tokens that the parser had to peek before it could decide to create this node.
      INode getNextSibling()
      Returns the next sibling or null.
      int getOffset()
      Returns the offset of this node excluding hidden tokens.
      ICompositeNode getParent()
      Returns the parent of the node or null if and only if this is the root node.
      INode getPreviousSibling()
      Returns the previous sibling or null.
      ICompositeNode getRootNode()
      Returns the root node of this parse tree.
      org.eclipse.emf.ecore.EObject getSemanticElement()
      Returns the nearest semantic object that is associated with the subtree of this node.
      int getStartLine()
      Returns the line number relative to the complete input where the node begins (one based, excluding hidden tokens).
      SyntaxErrorMessage getSyntaxErrorMessage()
      Returns the directly associated syntax error message or null if none.
      java.lang.String getText()
      Returns the parsed text that is covered by this node (including hidden tokens).
      org.eclipse.xtext.util.ITextRegion getTextRegion()
      Returns a region for this node excluding hidden tokens: an offset of this region is the same as an offset of this node; and a length of this region is the same as a length of this node.
      org.eclipse.xtext.util.ITextRegionWithLineInformation getTextRegionWithLineInformation()
      Returns a region with line information for this node excluding hidden tokens: an offset of this region is the same as an offset of this node; a length of this region is the same as a length of this node; a line number of this region is the same as a start line of this node; an end line number of this region is the same as an end line of this node.
      int getTotalEndLine()
      Returns the line number relative to the complete input where the node ends (one based, including hidden tokens).
      int getTotalEndOffset()
      Returns the end offset (exclusive) of this node including hidden tokens.
      int getTotalLength()
      Returns the length of this node including hidden tokens.
      int getTotalOffset()
      Returns the offset of this node including hidden tokens.
      int getTotalStartLine()
      Returns the line number relative to the complete input where the node begins (one based, including hidden tokens).
      org.eclipse.xtext.util.ITextRegion getTotalTextRegion()
      Returns a region for this node including hidden tokens: an offset of this region is the same as a total offset of this node; and a length of this region is the same as a total length of this node.
      org.eclipse.xtext.util.ITextRegionWithLineInformation getTotalTextRegionWithLineInformation()
      Returns a region with line information for this node including hidden tokens: an offset of this region is the same as a total offset of this node; a length of this region is the same as a total length of this node; a line number of this region is the same as a total start line of this node; an end line number of this region is the same as a total end line of this node.
      boolean hasChildren()
      Returns true if this node has any children.
      boolean hasDirectSemanticElement()
      Returns true if this node as a directly associated semantic element.
      int hashCode()  
      boolean hasNextSibling()
      Returns true if this node is not the last child of its parent.
      boolean hasPreviousSibling()
      Returns true if this node is not the first child of its parent.
      boolean hasSiblings()
      Returns true if this node has any siblings.
      BidiTreeIterator<INode> iterator()
      Returns a tree iterator that can be used forwards and backwards.
      BidiTreeIterable<INode> reverse()
      Returns a reverse version of this iterable that can be used forwards and backwards.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.lang.Iterable

        forEach, spliterator
    • Constructor Detail

      • SyntheticCompositeNode

        protected SyntheticCompositeNode​(CompositeNode delegate,
                                         int grammarElementIdx)
    • Method Detail

      • getParent

        public ICompositeNode getParent()
        Description copied from interface: INode
        Returns the parent of the node or null if and only if this is the root node.
        Specified by:
        getParent in interface INode
        Returns:
        the parent of this node or null.
      • hasPreviousSibling

        public boolean hasPreviousSibling()
        Description copied from interface: INode
        Returns true if this node is not the first child of its parent.
        Specified by:
        hasPreviousSibling in interface INode
        Returns:
        true if this node has a previous sibling thus INode.getPreviousSibling() will not return null.
      • hasNextSibling

        public boolean hasNextSibling()
        Description copied from interface: INode
        Returns true if this node is not the last child of its parent.
        Specified by:
        hasNextSibling in interface INode
        Returns:
        true if this node has a next sibling thus INode.getNextSibling() will not return null.
      • getRootNode

        public ICompositeNode getRootNode()
        Description copied from interface: INode
        Returns the root node of this parse tree. Will not return null in a consistent tree.
        Specified by:
        getRootNode in interface INode
        Returns:
        the root node of this parse tree. Will not return null in a consistent tree.
      • getTotalOffset

        public int getTotalOffset()
        Description copied from interface: INode
        Returns the offset of this node including hidden tokens.
        Specified by:
        getTotalOffset in interface INode
        Returns:
        the offset of this node including hidden tokens.
      • getOffset

        public int getOffset()
        Description copied from interface: INode
        Returns the offset of this node excluding hidden tokens. If this node is a hidden leaf node or a composite node that does only contain hidden leaf nodes, the total offset is returned.
        Specified by:
        getOffset in interface INode
        Returns:
        the offset of this node excluding hidden tokens.
      • getLength

        public int getLength()
        Description copied from interface: INode
        Returns the length of this node excluding hidden tokens. If this node is a hidden leaf node, the total length is returned.
        Specified by:
        getLength in interface INode
        Returns:
        the length of this node excluding hidden tokens.
      • getTotalStartLine

        public int getTotalStartLine()
        Description copied from interface: INode
        Returns the line number relative to the complete input where the node begins (one based, including hidden tokens).
        Specified by:
        getTotalStartLine in interface INode
        Returns:
        the line number relative to the complete input where the node begins.
      • getEndLine

        public int getEndLine()
        Description copied from interface: INode
        Returns the line number relative to the complete input where the node ends (one based, excluding hidden tokens).
        Specified by:
        getEndLine in interface INode
        Returns:
        the line number relative to the complete input where the node ends.
      • getStartLine

        public int getStartLine()
        Description copied from interface: INode
        Returns the line number relative to the complete input where the node begins (one based, excluding hidden tokens).
        Specified by:
        getStartLine in interface INode
        Returns:
        the line number relative to the complete input where the node begins.
      • getTotalEndLine

        public int getTotalEndLine()
        Description copied from interface: INode
        Returns the line number relative to the complete input where the node ends (one based, including hidden tokens).
        Specified by:
        getTotalEndLine in interface INode
        Returns:
        the line number relative to the complete input where the node ends.
      • getTotalLength

        public int getTotalLength()
        Description copied from interface: INode
        Returns the length of this node including hidden tokens.
        Specified by:
        getTotalLength in interface INode
        Returns:
        the length of this node including hidden tokens.
      • getTotalEndOffset

        public int getTotalEndOffset()
        Description copied from interface: INode
        Returns the end offset (exclusive) of this node including hidden tokens. Yields the same result as offset + length but may be more efficient.
        Specified by:
        getTotalEndOffset in interface INode
        Returns:
        the end offset (exclusive) of this node including hidden tokens.
      • getText

        public java.lang.String getText()
        Description copied from interface: INode
        Returns the parsed text that is covered by this node (including hidden tokens). The result is never null but may be empty.
        Specified by:
        getText in interface INode
        Returns:
        the parsed text that is covered by this node (including hidden tokens). Never null.
      • getGrammarElement

        public org.eclipse.emf.ecore.EObject getGrammarElement()
        Description copied from interface: INode
        Returns the grammar element that created this node. May return null in case of unrecoverable syntax errors. This happens usually when a keyword occurred at an unexpected offset.
        Specified by:
        getGrammarElement in interface INode
        Returns:
        the grammar element that created this node. May return null.
      • getSemanticElement

        public org.eclipse.emf.ecore.EObject getSemanticElement()
        Description copied from interface: INode
        Returns the nearest semantic object that is associated with the subtree of this node. May return null whenever the parser refused to create any objects due to unrecoverable errors. Implementations will usually walk up the node tree to find the semantic object. As the node model structure does not reflect the containment structure of the semantic object graph, clients should usually use the utilities in NodeModelUtils to obtain the semantic instance.
        Specified by:
        getSemanticElement in interface INode
        Returns:
        the nearest semantic object that is associated with the subtree of this node. May return null.
        See Also:
        INode.hasDirectSemanticElement(), NodeModelUtils.findActualSemanticObjectFor(INode)
      • hasDirectSemanticElement

        public boolean hasDirectSemanticElement()
        Description copied from interface: INode
        Returns true if this node as a directly associated semantic element.
        Specified by:
        hasDirectSemanticElement in interface INode
        Returns:
        true if this node as a directly associated semantic element.
        See Also:
        INode.getSemanticElement()
      • getSyntaxErrorMessage

        public SyntaxErrorMessage getSyntaxErrorMessage()
        Description copied from interface: INode
        Returns the directly associated syntax error message or null if none.
        Specified by:
        getSyntaxErrorMessage in interface INode
        Returns:
        the directly associated syntax error message. May return null.
      • getLeafNodes

        public java.lang.Iterable<ILeafNode> getLeafNodes()
        Description copied from interface: INode
        Returns an iterable for all contained leaf nodes. Never null.
        Specified by:
        getLeafNodes in interface INode
        Returns:
        an iterable for all contained leaf nodes. Never null.
      • getLookAhead

        public int getLookAhead()
        Description copied from interface: ICompositeNode
        Return the number of tokens that the parser had to peek before it could decide to create this node. Never negative. Clients will usually not have to deal with ICompositeNode.getLookAhead().
        Specified by:
        getLookAhead in interface ICompositeNode
        Returns:
        the number of tokens that the parser had to peek before it could decide to create this node.
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • getTextRegion

        public org.eclipse.xtext.util.ITextRegion getTextRegion()
        Description copied from interface: INode

        Returns a region for this node excluding hidden tokens:

        • an offset of this region is the same as an offset of this node;
        • and a length of this region is the same as a length of this node.

        This method could be more efficient than calculating an offset and a length of this node separately.

        Specified by:
        getTextRegion in interface INode
        Returns:
        a region for this node excluding hidden tokens
        Since:
        2.5
      • getTotalTextRegion

        public org.eclipse.xtext.util.ITextRegion getTotalTextRegion()
        Description copied from interface: INode

        Returns a region for this node including hidden tokens:

        • an offset of this region is the same as a total offset of this node;
        • and a length of this region is the same as a total length of this node.

        This method could be more efficient than calculating a total offset and a total length of this node separately.

        Specified by:
        getTotalTextRegion in interface INode
        Returns:
        a region for this node including hidden tokens
        Since:
        2.5
      • getTextRegionWithLineInformation

        public org.eclipse.xtext.util.ITextRegionWithLineInformation getTextRegionWithLineInformation()
        Description copied from interface: INode

        Returns a region with line information for this node excluding hidden tokens:

        • an offset of this region is the same as an offset of this node;
        • a length of this region is the same as a length of this node;
        • a line number of this region is the same as a start line of this node;
        • an end line number of this region is the same as an end line of this node.

        A line number and an end line number of the returned region are one based.

        This method could be more efficient than calculating an offset, a length, a start line and an end line of this node separately.

        Specified by:
        getTextRegionWithLineInformation in interface INode
        Returns:
        a region with line information for this node excluding hidden tokens
        Since:
        2.5
      • getTotalTextRegionWithLineInformation

        public org.eclipse.xtext.util.ITextRegionWithLineInformation getTotalTextRegionWithLineInformation()
        Description copied from interface: INode

        Returns a region with line information for this node including hidden tokens:

        • an offset of this region is the same as a total offset of this node;
        • a length of this region is the same as a total length of this node;
        • a line number of this region is the same as a total start line of this node;
        • an end line number of this region is the same as a total end line of this node.

        A line number and an end line number of the returned region are one based.

        This method could be more efficient than calculating a total offset, a total length, a total start line and a total end line of this node separately.

        Specified by:
        getTotalTextRegionWithLineInformation in interface INode
        Returns:
        a region with line information for this node including hidden tokens
        Since:
        2.5
      • getEndOffset

        public int getEndOffset()
        Description copied from interface: INode
        Returns the end offset (exclusive) of this node excluding hidden tokens. Yields the same result as offset + length but may be more efficient.
        Specified by:
        getEndOffset in interface INode
        Returns:
        the end offset (exclusive) of this node excluding hidden tokens.
        Since:
        2.5