Interface INode

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      BidiTreeIterable<INode> getAsTreeIterable()
      Returns a tree iterable that uses this node as its origin and root instance.
      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.
      org.eclipse.emf.ecore.EObject getGrammarElement()
      Returns the grammar element that created 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.
      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 hasDirectSemanticElement()
      Returns true if this node as a directly associated semantic element.
      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.
    • Method Detail

      • getParent

        ICompositeNode getParent()
        Returns the parent of the node or null if and only if this is the root node.
        Returns:
        the parent of this node or null.
      • hasPreviousSibling

        boolean hasPreviousSibling()
        Returns true if this node is not the first child of its parent.
        Returns:
        true if this node has a previous sibling thus getPreviousSibling() will not return null.
      • hasNextSibling

        boolean hasNextSibling()
        Returns true if this node is not the last child of its parent.
        Returns:
        true if this node has a next sibling thus getNextSibling() will not return null.
      • getPreviousSibling

        INode getPreviousSibling()
        Returns the previous sibling or null. The result has the same parent as this node if it is not null.
        Returns:
        the previous sibling or null.
        See Also:
        hasPreviousSibling(), hasSiblings()
      • getNextSibling

        INode getNextSibling()
        Returns the next sibling or null. The result has the same parent as this node if it is not null.
        Returns:
        the next sibling or null.
        See Also:
        hasNextSibling(), hasSiblings()
      • getRootNode

        ICompositeNode getRootNode()
        Returns the root node of this parse tree. Will not return null in a consistent tree.
        Returns:
        the root node of this parse tree. Will not return null in a consistent tree.
      • getLeafNodes

        java.lang.Iterable<ILeafNode> getLeafNodes()
        Returns an iterable for all contained leaf nodes. Never null.
        Returns:
        an iterable for all contained leaf nodes. Never null.
      • getTotalOffset

        int getTotalOffset()
        Returns the offset of this node including hidden tokens.
        Returns:
        the offset of this node including hidden tokens.
      • getOffset

        int getOffset()
        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.
        Returns:
        the offset of this node excluding hidden tokens.
      • getTotalLength

        int getTotalLength()
        Returns the length of this node including hidden tokens.
        Returns:
        the length of this node including hidden tokens.
      • getLength

        int getLength()
        Returns the length of this node excluding hidden tokens. If this node is a hidden leaf node, the total length is returned.
        Returns:
        the length of this node excluding hidden tokens.
      • getTotalEndOffset

        int getTotalEndOffset()
        Returns the end offset (exclusive) of this node including hidden tokens. Yields the same result as offset + length but may be more efficient.
        Returns:
        the end offset (exclusive) of this node including hidden tokens.
      • getEndOffset

        int getEndOffset()
        Returns the end offset (exclusive) of this node excluding hidden tokens. Yields the same result as offset + length but may be more efficient.
        Returns:
        the end offset (exclusive) of this node excluding hidden tokens.
        Since:
        2.5
      • getTotalStartLine

        int getTotalStartLine()
        Returns the line number relative to the complete input where the node begins (one based, including hidden tokens).
        Returns:
        the line number relative to the complete input where the node begins.
      • getStartLine

        int getStartLine()
        Returns the line number relative to the complete input where the node begins (one based, excluding hidden tokens).
        Returns:
        the line number relative to the complete input where the node begins.
      • getTotalEndLine

        int getTotalEndLine()
        Returns the line number relative to the complete input where the node ends (one based, including hidden tokens).
        Returns:
        the line number relative to the complete input where the node ends.
      • getEndLine

        int getEndLine()
        Returns the line number relative to the complete input where the node ends (one based, excluding hidden tokens).
        Returns:
        the line number relative to the complete input where the node ends.
      • getText

        java.lang.String getText()
        Returns the parsed text that is covered by this node (including hidden tokens). The result is never null but may be empty.
        Returns:
        the parsed text that is covered by this node (including hidden tokens). Never null.
        Throws:
        java.lang.IllegalStateException - if the text is not available. A possible reason is, that the node is not part of a valid node model.
      • getGrammarElement

        org.eclipse.emf.ecore.EObject getGrammarElement()
        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.
        Returns:
        the grammar element that created this node. May return null.
      • getSemanticElement

        org.eclipse.emf.ecore.EObject getSemanticElement()
        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.
        Returns:
        the nearest semantic object that is associated with the subtree of this node. May return null.
        See Also:
        hasDirectSemanticElement(), NodeModelUtils.findActualSemanticObjectFor(INode)
      • hasDirectSemanticElement

        boolean hasDirectSemanticElement()
        Returns true if this node as a directly associated semantic element.
        Returns:
        true if this node as a directly associated semantic element.
        See Also:
        getSemanticElement()
      • getSyntaxErrorMessage

        SyntaxErrorMessage getSyntaxErrorMessage()
        Returns the directly associated syntax error message or null if none.
        Returns:
        the directly associated syntax error message. May return null.
      • getAsTreeIterable

        BidiTreeIterable<INode> getAsTreeIterable()
        Returns a tree iterable that uses this node as its origin and root instance. Its iterator will not return any siblings of this root. However, the first element returned by BidiTreeIterator.previous() or BidiTreeIterator.next() will be this instance.
        Returns:
        a tree iterable where this node represents the root instance.
      • getTextRegion

        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.

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

        Returns:
        a region for this node excluding hidden tokens
        Since:
        2.5
      • getTotalTextRegion

        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.

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

        Returns:
        a region for this node including hidden tokens
        Since:
        2.5
      • getTextRegionWithLineInformation

        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.

        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.

        Returns:
        a region with line information for this node excluding hidden tokens
        Since:
        2.5
      • getTotalTextRegionWithLineInformation

        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.

        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.

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