[][src]Struct rslint_parser::CompletedMarker

pub struct CompletedMarker { /* fields omitted */ }

A structure signifying a completed node

Implementations

impl CompletedMarker[src]

pub fn new(start_pos: u32, finish_pos: u32, kind: SyntaxKind) -> Self[src]

pub fn change_kind(&mut self, p: &mut Parser<'_>, new_kind: SyntaxKind)[src]

Change the kind of node this marker represents

pub fn offset_range(&self, p: &Parser<'_>, range: TextRange) -> TextRange[src]

pub fn range(&self, p: &Parser<'_>) -> TextRange[src]

Get the range of the marker

pub fn text<'a>(&self, p: &'a Parser<'_>) -> &'a str[src]

Get the underlying text of a marker

pub fn precede(self, p: &mut Parser<'_>) -> Marker[src]

This method allows to create a new node which starts before the current one. That is, parser could start node A, then complete it, and then after parsing the whole A, decide that it should have started some node B before starting A. precede allows to do exactly that. See also docs about forward_parent in Event::Start.

Given completed events [START, FINISH] and its corresponding CompletedMarker(pos: 0, _). Append a new START events as [START, FINISH, NEWSTART], then mark NEWSTART as START's parent with saving its relative distance to NEWSTART into forward_parent(=2 in this case);

pub fn undo_completion(self, p: &mut Parser<'_>) -> Marker[src]

Undo this completion and turns into a Marker

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

Trait Implementations

impl Clone for CompletedMarker[src]

impl Copy for CompletedMarker[src]

impl Debug for CompletedMarker[src]

impl Eq for CompletedMarker[src]

impl Hash for CompletedMarker[src]

impl PartialEq<CompletedMarker> for CompletedMarker[src]

impl StructuralEq for CompletedMarker[src]

impl StructuralPartialEq for CompletedMarker[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> Erasable for T

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.