Struct glsl_lang::parse::builder::ParseBuilder
source · pub struct ParseBuilder<'i, 'o, 'c, 'p, L: LangLexer<'i>, T: HasParser> {
source: L::Input,
opts: Option<&'o ParseOptions>,
context: Option<&'c ParseContext>,
lexer: Option<L>,
parser: Option<&'p T::Parser>,
}
Expand description
Builder structure for a parsing operation
Fields§
§source: L::Input
§opts: Option<&'o ParseOptions>
§context: Option<&'c ParseContext>
§lexer: Option<L>
§parser: Option<&'p T::Parser>
Implementations§
source§impl<'i, 'o, 'c, 'p, L: LangLexer<'i>, T: HasParser> ParseBuilder<'i, 'o, 'c, 'p, L, T>
impl<'i, 'o, 'c, 'p, L: LangLexer<'i>, T: HasParser> ParseBuilder<'i, 'o, 'c, 'p, L, T>
sourcepub fn opts(self, opts: &'o ParseOptions) -> Self
pub fn opts(self, opts: &'o ParseOptions) -> Self
Set the parse options for this parse
sourcepub fn context(self, ctx: &'c ParseContext) -> Self
pub fn context(self, ctx: &'c ParseContext) -> Self
Set the parse options for this parse
sourcepub fn parser(self, parser: &'p T::Parser) -> Self
pub fn parser(self, parser: &'p T::Parser) -> Self
Set the parser instance to use for this parse
sourcefn parse_source(
source: L::Input,
opts: Option<&'o ParseOptions>,
context: Option<&'c ParseContext>,
lexer: Option<L>,
parser: Option<&'p T::Parser>,
) -> ParseResult<L::Iter, <L::Iter as HasLexerError>::Error, T>
fn parse_source( source: L::Input, opts: Option<&'o ParseOptions>, context: Option<&'c ParseContext>, lexer: Option<L>, parser: Option<&'p T::Parser>, ) -> ParseResult<L::Iter, <L::Iter as HasLexerError>::Error, T>
Execute the parsing operation
sourcepub fn parse(self) -> ParseResult<L::Iter, <L::Iter as HasLexerError>::Error, T>
pub fn parse(self) -> ParseResult<L::Iter, <L::Iter as HasLexerError>::Error, T>
Execute the parsing operation
sourcepub fn extract<U: Extractable<T>>(
self,
) -> ParseResult<L::Iter, <L::Iter as HasLexerError>::Error, Option<U>>
pub fn extract<U: Extractable<T>>( self, ) -> ParseResult<L::Iter, <L::Iter as HasLexerError>::Error, Option<U>>
Execute the parsing operation, and extract the wanted node
source§impl<'i, 'o, 'c, 'p, T: HasParser> ParseBuilder<'i, 'o, 'c, 'p, DefaultLexer<'i>, T>
impl<'i, 'o, 'c, 'p, T: HasParser> ParseBuilder<'i, 'o, 'c, 'p, DefaultLexer<'i>, T>
sourcepub fn default(source: <DefaultLexer<'i> as LangLexer<'i>>::Input) -> Self
pub fn default(source: <DefaultLexer<'i> as LangLexer<'i>>::Input) -> Self
Create a new parse builder from the given input string
Auto Trait Implementations§
impl<'i, 'o, 'c, 'p, L, T> Freeze for ParseBuilder<'i, 'o, 'c, 'p, L, T>
impl<'i, 'o, 'c, 'p, L, T> !RefUnwindSafe for ParseBuilder<'i, 'o, 'c, 'p, L, T>
impl<'i, 'o, 'c, 'p, L, T> !Send for ParseBuilder<'i, 'o, 'c, 'p, L, T>
impl<'i, 'o, 'c, 'p, L, T> !Sync for ParseBuilder<'i, 'o, 'c, 'p, L, T>
impl<'i, 'o, 'c, 'p, L, T> Unpin for ParseBuilder<'i, 'o, 'c, 'p, L, T>
impl<'i, 'o, 'c, 'p, L, T> !UnwindSafe for ParseBuilder<'i, 'o, 'c, 'p, L, T>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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