Struct sixtyfps_compilerlib::parser::SyntaxNode[][src]

pub struct SyntaxNode {
    pub node: SyntaxNode<Language>,
    pub source_file: SourceFile,
}

Fields

node: SyntaxNode<Language>source_file: SourceFile

Implementations

impl SyntaxNode[src]

pub fn child_node(&self, kind: SyntaxKind) -> Option<SyntaxNode>[src]

pub fn child_token(&self, kind: SyntaxKind) -> Option<SyntaxToken>[src]

pub fn child_text(&self, kind: SyntaxKind) -> Option<String>[src]

pub fn kind(&self) -> SyntaxKind[src]

pub fn children(&self) -> impl Iterator<Item = SyntaxNode>[src]

pub fn children_with_tokens(&self) -> impl Iterator<Item = NodeOrToken>[src]

pub fn text(&self) -> SyntaxText[src]

pub fn parent(&self) -> Option<SyntaxNode>[src]

Methods from Deref<Target = SyntaxNode<Language>>

pub fn replace_with(&self, replacement: GreenNode) -> GreenNode[src]

Returns a green tree, equal to the green tree this node belongs two, except with this node substitute. The complexity of operation is proportional to the depth of the tree

pub fn kind(&self) -> <L as Language>::Kind[src]

pub fn text_range(&self) -> TextRange[src]

pub fn text(&self) -> SyntaxText[src]

pub fn green(&self) -> &GreenNodeData[src]

pub fn parent(&self) -> Option<SyntaxNode<L>>[src]

pub fn ancestors(&self) -> impl Iterator<Item = SyntaxNode<L>>[src]

pub fn children(&self) -> SyntaxNodeChildren<L>[src]

pub fn children_with_tokens(&self) -> SyntaxElementChildren<L>[src]

pub fn first_child(&self) -> Option<SyntaxNode<L>>[src]

pub fn last_child(&self) -> Option<SyntaxNode<L>>[src]

pub fn first_child_or_token(
    &self
) -> Option<NodeOrToken<SyntaxNode<L>, SyntaxToken<L>>>
[src]

pub fn last_child_or_token(
    &self
) -> Option<NodeOrToken<SyntaxNode<L>, SyntaxToken<L>>>
[src]

pub fn next_sibling(&self) -> Option<SyntaxNode<L>>[src]

pub fn prev_sibling(&self) -> Option<SyntaxNode<L>>[src]

pub fn next_sibling_or_token(
    &self
) -> Option<NodeOrToken<SyntaxNode<L>, SyntaxToken<L>>>
[src]

pub fn prev_sibling_or_token(
    &self
) -> Option<NodeOrToken<SyntaxNode<L>, SyntaxToken<L>>>
[src]

pub fn first_token(&self) -> Option<SyntaxToken<L>>[src]

Return the leftmost token in the subtree of this node.

pub fn last_token(&self) -> Option<SyntaxToken<L>>[src]

Return the rightmost token in the subtree of this node.

pub fn siblings(
    &self,
    direction: Direction
) -> impl Iterator<Item = SyntaxNode<L>>
[src]

pub fn siblings_with_tokens(
    &self,
    direction: Direction
) -> impl Iterator<Item = NodeOrToken<SyntaxNode<L>, SyntaxToken<L>>>
[src]

pub fn descendants(&self) -> impl Iterator<Item = SyntaxNode<L>>[src]

pub fn descendants_with_tokens(
    &self
) -> impl Iterator<Item = NodeOrToken<SyntaxNode<L>, SyntaxToken<L>>>
[src]

pub fn preorder(&self) -> Preorder<L>[src]

Traverse the subtree rooted at the current node (including the current node) in preorder, excluding tokens.

pub fn preorder_with_tokens(
    &self
) -> impl Iterator<Item = WalkEvent<NodeOrToken<SyntaxNode<L>, SyntaxToken<L>>>>
[src]

Traverse the subtree rooted at the current node (including the current node) in preorder, including tokens.

pub fn token_at_offset(&self, offset: TextSize) -> TokenAtOffset<SyntaxToken<L>>[src]

Find a token in the subtree corresponding to this node, which covers the offset. Precondition: offset must be withing node’s range.

pub fn covering_element(
    &self,
    range: TextRange
) -> NodeOrToken<SyntaxNode<L>, SyntaxToken<L>>
[src]

Return the deepest node or token in the current subtree that fully contains the range. If the range is empty and is contained in two leaf nodes, either one can be returned. Precondition: range must be contained withing the current node

pub fn child_or_token_at_range(
    &self,
    range: TextRange
) -> Option<NodeOrToken<SyntaxNode<L>, SyntaxToken<L>>>
[src]

Trait Implementations

impl Clone for SyntaxNode[src]

impl Debug for SyntaxNode[src]

impl Deref for SyntaxNode[src]

type Target = SyntaxNode<Language>

The resulting type after dereferencing.

impl From<Array> for SyntaxNode[src]

impl From<ArrayType> for SyntaxNode[src]

impl From<AtImageUrl> for SyntaxNode[src]

impl From<AtLinearGradient> for SyntaxNode[src]

impl From<BinaryExpression> for SyntaxNode[src]

impl From<Binding> for SyntaxNode[src]

impl From<BindingExpression> for SyntaxNode[src]

impl From<CallbackConnection> for SyntaxNode[src]

impl From<CallbackDeclaration> for SyntaxNode[src]

impl From<ChildrenPlaceholder> for SyntaxNode[src]

impl From<CodeBlock> for SyntaxNode[src]

impl From<Component> for SyntaxNode[src]

impl From<ConditionalElement> for SyntaxNode[src]

impl From<ConditionalExpression> for SyntaxNode[src]

impl From<DeclaredIdentifier> for SyntaxNode[src]

impl From<Document> for SyntaxNode[src]

impl From<Element> for SyntaxNode[src]

impl From<ExportIdentifier> for SyntaxNode[src]

impl From<ExportName> for SyntaxNode[src]

impl From<ExportSpecifier> for SyntaxNode[src]

impl From<ExportsList> for SyntaxNode[src]

impl From<Expression> for SyntaxNode[src]

impl From<ExternalName> for SyntaxNode[src]

impl From<FunctionCallExpression> for SyntaxNode[src]

impl From<ImportIdentifier> for SyntaxNode[src]

impl From<ImportIdentifierList> for SyntaxNode[src]

impl From<ImportSpecifier> for SyntaxNode[src]

impl From<InternalName> for SyntaxNode[src]

impl From<ObjectLiteral> for SyntaxNode[src]

impl From<ObjectMember> for SyntaxNode[src]

impl From<ObjectType> for SyntaxNode[src]

impl From<ObjectTypeMember> for SyntaxNode[src]

impl From<PropertyAnimation> for SyntaxNode[src]

impl From<PropertyDeclaration> for SyntaxNode[src]

impl From<QualifiedName> for SyntaxNode[src]

impl From<RepeatedElement> for SyntaxNode[src]

impl From<RepeatedIndex> for SyntaxNode[src]

impl From<ReturnStatement> for SyntaxNode[src]

impl From<ReturnType> for SyntaxNode[src]

impl From<SelfAssignment> for SyntaxNode[src]

impl From<State> for SyntaxNode[src]

impl From<StatePropertyChange> for SyntaxNode[src]

impl From<States> for SyntaxNode[src]

impl From<StringTemplate> for SyntaxNode[src]

impl From<StructDeclaration> for SyntaxNode[src]

impl From<SubElement> for SyntaxNode[src]

impl From<SyntaxNode> for Document[src]

impl From<SyntaxNode> for Component[src]

impl From<SyntaxNode> for PropertyDeclaration[src]

impl From<SyntaxNode> for PropertyAnimation[src]

impl From<SyntaxNode> for QualifiedName[src]

impl From<SyntaxNode> for DeclaredIdentifier[src]

impl From<SyntaxNode> for ChildrenPlaceholder[src]

impl From<SyntaxNode> for Binding[src]

impl From<SyntaxNode> for TwoWayBinding[src]

impl From<SyntaxNode> for BindingExpression[src]

impl From<SyntaxNode> for CodeBlock[src]

impl From<SyntaxNode> for ReturnStatement[src]

impl From<SyntaxNode> for SubElement[src]

impl From<SyntaxNode> for Expression[src]

impl From<SyntaxNode> for StringTemplate[src]

impl From<SyntaxNode> for AtImageUrl[src]

impl From<SyntaxNode> for AtLinearGradient[src]

impl From<SyntaxNode> for FunctionCallExpression[src]

impl From<SyntaxNode> for SelfAssignment[src]

impl From<SyntaxNode> for ConditionalExpression[src]

impl From<SyntaxNode> for BinaryExpression[src]

impl From<SyntaxNode> for UnaryOpExpression[src]

impl From<SyntaxNode> for Array[src]

impl From<SyntaxNode> for Element[src]

impl From<SyntaxNode> for ObjectLiteral[src]

impl From<SyntaxNode> for ObjectMember[src]

impl From<SyntaxNode> for States[src]

impl From<SyntaxNode> for State[src]

impl From<SyntaxNode> for StatePropertyChange[src]

impl From<SyntaxNode> for Transitions[src]

impl From<SyntaxNode> for Transition[src]

impl From<SyntaxNode> for ExportsList[src]

impl From<SyntaxNode> for ExportSpecifier[src]

impl From<SyntaxNode> for ExportIdentifier[src]

impl From<SyntaxNode> for RepeatedElement[src]

impl From<SyntaxNode> for ExportName[src]

impl From<SyntaxNode> for ImportSpecifier[src]

impl From<SyntaxNode> for ImportIdentifierList[src]

impl From<SyntaxNode> for ImportIdentifier[src]

impl From<SyntaxNode> for ExternalName[src]

impl From<SyntaxNode> for InternalName[src]

impl From<SyntaxNode> for Type[src]

impl From<SyntaxNode> for ObjectType[src]

impl From<SyntaxNode> for ObjectTypeMember[src]

impl From<SyntaxNode> for ArrayType[src]

impl From<SyntaxNode> for RepeatedIndex[src]

impl From<SyntaxNode> for StructDeclaration[src]

impl From<SyntaxNode> for NodeOrToken[src]

impl From<SyntaxNode> for ConditionalElement[src]

impl From<SyntaxNode> for CallbackDeclaration[src]

impl From<SyntaxNode> for ReturnType[src]

impl From<SyntaxNode> for CallbackConnection[src]

impl From<Transition> for SyntaxNode[src]

impl From<Transitions> for SyntaxNode[src]

impl From<TwoWayBinding> for SyntaxNode[src]

impl From<Type> for SyntaxNode[src]

impl From<UnaryOpExpression> for SyntaxNode[src]

impl Spanned for SyntaxNode[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.