Skip to main content

Parse

Struct Parse 

Source
pub struct Parse { /* private fields */ }
Expand description

The result of a parse operation.

A parse result always contains a syntax tree, even if errors occurred. This is essential for IDE use cases where we need to provide feedback even on incomplete or invalid code.

Implementations§

Source§

impl Parse

Source

pub fn syntax(&self) -> SyntaxNode

Get the root syntax node.

Source

pub fn errors(&self) -> &[ParseError]

Get the parse errors.

Source

pub fn is_ok(&self) -> bool

Check if the parse was successful (no errors).

Source

pub fn ok(self) -> Result<SyntaxNode, Vec<ParseError>>

Convert to a Result, returning the syntax node on success or errors on failure.

Auto Trait Implementations§

§

impl Freeze for Parse

§

impl RefUnwindSafe for Parse

§

impl Send for Parse

§

impl Sync for Parse

§

impl Unpin for Parse

§

impl UnsafeUnpin for Parse

§

impl UnwindSafe for Parse

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.