Trait ExpandDatabase

Source
pub trait ExpandDatabase: RootQueryDb {
Show 20 methods // Required methods fn proc_macros(&self) -> Arc<ProcMacros>; fn proc_macros_for_crate( &self, krate: Crate, ) -> Option<Arc<CrateProcMacros>>; fn ast_id_map(&self, file_id: HirFileId) -> Arc<AstIdMap>; fn parse_or_expand(&self, file_id: HirFileId) -> SyntaxNode; fn parse_macro_expansion( &self, macro_file: MacroFileId, ) -> ExpandResult<(Parse<SyntaxNode>, Arc<ExpansionSpanMap>)>; fn span_map(&self, file_id: HirFileId) -> SpanMap; fn expansion_span_map(&self, file_id: MacroFileId) -> Arc<ExpansionSpanMap>; fn real_span_map(&self, file_id: EditionedFileId) -> Arc<RealSpanMap>; fn intern_macro_call(&self, macro_call: MacroCallLoc) -> MacroCallId; fn lookup_intern_macro_call(&self, macro_call: MacroCallId) -> MacroCallLoc; fn macro_arg( &self, id: MacroCallId, ) -> (Arc<TopSubtree>, SyntaxFixupUndoInfo, Span); fn macro_arg_considering_derives( &self, id: MacroCallId, kind: &MacroCallKind, ) -> (Arc<TopSubtree>, SyntaxFixupUndoInfo, Span); fn macro_expander(&self, id: MacroDefId) -> TokenExpander; fn decl_macro_expander( &self, def_crate: Crate, id: AstId<Macro>, ) -> Arc<DeclarativeMacroExpander>; fn expand_proc_macro( &self, call: MacroCallId, ) -> ExpandResult<Arc<TopSubtree>>; fn proc_macro_span(&self, fun: AstId<Fn>) -> Span; fn parse_macro_expansion_error( &self, macro_call: MacroCallId, ) -> Option<Arc<ExpandResult<Arc<[SyntaxError]>>>>; fn syntax_context(&self, file: HirFileId, edition: Edition) -> SyntaxContext; fn set_proc_macros(&mut self, __value: Arc<ProcMacros>); fn set_proc_macros_with_durability( &mut self, __value: Arc<ProcMacros>, durability: Durability, );
}

Required Methods§

Source

fn proc_macros(&self) -> Arc<ProcMacros>

Source

fn proc_macros_for_crate(&self, krate: Crate) -> Option<Arc<CrateProcMacros>>

Source

fn ast_id_map(&self, file_id: HirFileId) -> Arc<AstIdMap>

Source

fn parse_or_expand(&self, file_id: HirFileId) -> SyntaxNode

Source

fn parse_macro_expansion( &self, macro_file: MacroFileId, ) -> ExpandResult<(Parse<SyntaxNode>, Arc<ExpansionSpanMap>)>

Source

fn span_map(&self, file_id: HirFileId) -> SpanMap

Source

fn expansion_span_map(&self, file_id: MacroFileId) -> Arc<ExpansionSpanMap>

Source

fn real_span_map(&self, file_id: EditionedFileId) -> Arc<RealSpanMap>

Source

fn intern_macro_call(&self, macro_call: MacroCallLoc) -> MacroCallId

Source

fn lookup_intern_macro_call(&self, macro_call: MacroCallId) -> MacroCallLoc

Source

fn macro_arg( &self, id: MacroCallId, ) -> (Arc<TopSubtree>, SyntaxFixupUndoInfo, Span)

Source

fn macro_arg_considering_derives( &self, id: MacroCallId, kind: &MacroCallKind, ) -> (Arc<TopSubtree>, SyntaxFixupUndoInfo, Span)

Source

fn macro_expander(&self, id: MacroDefId) -> TokenExpander

Source

fn decl_macro_expander( &self, def_crate: Crate, id: AstId<Macro>, ) -> Arc<DeclarativeMacroExpander>

Source

fn expand_proc_macro(&self, call: MacroCallId) -> ExpandResult<Arc<TopSubtree>>

Source

fn proc_macro_span(&self, fun: AstId<Fn>) -> Span

Source

fn parse_macro_expansion_error( &self, macro_call: MacroCallId, ) -> Option<Arc<ExpandResult<Arc<[SyntaxError]>>>>

Source

fn syntax_context(&self, file: HirFileId, edition: Edition) -> SyntaxContext

Source

fn set_proc_macros(&mut self, __value: Arc<ProcMacros>)

Source

fn set_proc_macros_with_durability( &mut self, __value: Arc<ProcMacros>, durability: Durability, )

Implementors§

Source§

impl<DB> ExpandDatabase for DB
where DB: RootQueryDb,