Trait Tokens

Source
pub trait Tokens: Tokens<TokenAndSpan> {
    // Required methods
    fn clone_token_value(&self) -> Option<TokenValue>;
    fn take_token_value(&mut self) -> Option<TokenValue>;
    fn get_token_value(&self) -> Option<&TokenValue>;
    fn set_token_value(&mut self, token_value: Option<TokenValue>);
    fn scan_jsx_token(
        &mut self,
        allow_multiline_jsx_text: bool,
    ) -> Option<TokenAndSpan>;
    fn scan_jsx_open_el_terminal_token(&mut self) -> Option<TokenAndSpan>;
    fn rescan_jsx_open_el_terminal_token(
        &mut self,
        reset: BytePos,
    ) -> Option<TokenAndSpan>;
    fn rescan_jsx_token(
        &mut self,
        allow_multiline_jsx_text: bool,
        reset: BytePos,
    ) -> Option<TokenAndSpan>;
    fn scan_jsx_identifier(&mut self, start: BytePos) -> TokenAndSpan;
    fn scan_jsx_attribute_value(&mut self) -> Option<TokenAndSpan>;
    fn rescan_template_token(
        &mut self,
        start: BytePos,
        start_with_back_tick: bool,
    ) -> Option<TokenAndSpan>;
}
Expand description

Clone should be cheap if you are parsing typescript because typescript syntax requires backtracking.

Required Methods§

Source

fn clone_token_value(&self) -> Option<TokenValue>

Source

fn take_token_value(&mut self) -> Option<TokenValue>

Source

fn get_token_value(&self) -> Option<&TokenValue>

Source

fn set_token_value(&mut self, token_value: Option<TokenValue>)

Source

fn scan_jsx_token( &mut self, allow_multiline_jsx_text: bool, ) -> Option<TokenAndSpan>

Source

fn scan_jsx_open_el_terminal_token(&mut self) -> Option<TokenAndSpan>

Source

fn rescan_jsx_open_el_terminal_token( &mut self, reset: BytePos, ) -> Option<TokenAndSpan>

Source

fn rescan_jsx_token( &mut self, allow_multiline_jsx_text: bool, reset: BytePos, ) -> Option<TokenAndSpan>

Source

fn scan_jsx_identifier(&mut self, start: BytePos) -> TokenAndSpan

Source

fn scan_jsx_attribute_value(&mut self) -> Option<TokenAndSpan>

Source

fn rescan_template_token( &mut self, start: BytePos, start_with_back_tick: bool, ) -> Option<TokenAndSpan>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Tokens for Lexer<'_>

Source§

impl<I: Tokens> Tokens for Capturing<I>