Trait Server
pub trait Server
Associated Types
type TokenStream: 'static + Clone + Default;type Span: 'static + Copy + Eq + Hash;type Symbol: 'static;
Required Methods
fn globals(&mut self) -> ExpnGlobals<Self::Span>fn intern_symbol(ident: &str) -> Self::SymbolIntern a symbol received from RPC
fn with_symbol_string(symbol: &Self::Symbol, f: impl FnOnce(&str))Recover the string value of a symbol, and invoke a callback with it.
fn track_env_var(&mut self, var: &str, value: Option<&str>)fn track_path(&mut self, path: &str)fn literal_from_str(&mut self, s: &str) -> Result<Literal<Self::Span, Self::Symbol>, String>fn emit_diagnostic(&mut self, diagnostic: Diagnostic<Self::Span>)fn ts_drop(&mut self, stream: Self::TokenStream)fn ts_clone(&mut self, stream: &Self::TokenStream) -> Self::TokenStreamfn ts_is_empty(&mut self, stream: &Self::TokenStream) -> boolfn ts_expand_expr(&mut self, stream: &Self::TokenStream) -> Result<Self::TokenStream, ()>fn ts_from_str(&mut self, src: &str) -> Result<Self::TokenStream, String>fn ts_to_string(&mut self, stream: &Self::TokenStream) -> Stringfn ts_from_token_tree(&mut self, tree: TokenTree<Self::TokenStream, Self::Span, Self::Symbol>) -> Self::TokenStreamfn ts_concat_trees(&mut self, base: Option<Self::TokenStream>, trees: Vec<TokenTree<Self::TokenStream, Self::Span, Self::Symbol>>) -> Self::TokenStreamfn ts_concat_streams(&mut self, base: Option<Self::TokenStream>, streams: Vec<Self::TokenStream>) -> Self::TokenStreamfn ts_into_trees(&mut self, stream: Self::TokenStream) -> Vec<TokenTree<Self::TokenStream, Self::Span, Self::Symbol>>fn span_debug(&mut self, span: Self::Span) -> Stringfn span_parent(&mut self, span: Self::Span) -> Option<Self::Span>fn span_source(&mut self, span: Self::Span) -> Self::Spanfn span_byte_range(&mut self, span: Self::Span) -> Range<usize>fn span_start(&mut self, span: Self::Span) -> Self::Spanfn span_end(&mut self, span: Self::Span) -> Self::Spanfn span_line(&mut self, span: Self::Span) -> usizefn span_column(&mut self, span: Self::Span) -> usizefn span_file(&mut self, span: Self::Span) -> Stringfn span_local_file(&mut self, span: Self::Span) -> Option<String>fn span_join(&mut self, span: Self::Span, other: Self::Span) -> Option<Self::Span>fn span_subspan(&mut self, span: Self::Span, start: Bound<usize>, end: Bound<usize>) -> Option<Self::Span>fn span_resolved_at(&mut self, span: Self::Span, at: Self::Span) -> Self::Spanfn span_source_text(&mut self, span: Self::Span) -> Option<String>fn span_save_span(&mut self, span: Self::Span) -> usizefn span_recover_proc_macro_span(&mut self, id: usize) -> Self::Spanfn symbol_normalize_and_validate_ident(&mut self, string: &str) -> Result<Self::Symbol, ()>