Skip to main content

TokenSource

Trait TokenSource 

Source
pub trait TokenSource {
    // Required methods
    fn next_token(&mut self) -> Result<Token>;
    fn unget_token(&mut self, token: Token);
    fn interner(&self) -> &StringInterner;
    fn interner_mut(&mut self) -> &mut StringInterner;
    fn files(&self) -> &FileRegistry;

    // Provided method
    fn is_file_in_target(&self, file_id: FileId) -> bool { ... }
}
Expand description

トークンを供給するソースの抽象化

Required Methods§

Source

fn next_token(&mut self) -> Result<Token>

次のトークンを取得

Source

fn unget_token(&mut self, token: Token)

トークンを先読みバッファに戻す

Source

fn interner(&self) -> &StringInterner

StringInterner への参照を取得

Source

fn interner_mut(&mut self) -> &mut StringInterner

StringInterner への可変参照を取得

Source

fn files(&self) -> &FileRegistry

FileRegistry への参照を取得

Provided Methods§

Source

fn is_file_in_target(&self, file_id: FileId) -> bool

指定されたファイルがターゲットディレクトリ内かどうかを判定 デフォルト実装は常に false を返す(TokenSlice など)

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl TokenSource for Preprocessor

TokenSource trait の実装

Parser がプリプロセッサをトークンソースとして使用できるようにする

Source§

impl TokenSource for TokenSlice

Source§

impl<'a> TokenSource for TokenSliceRef<'a>