Trait ExpandDatabase
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<RustLanguage>;
fn parse_macro_expansion(
&self,
macro_file: MacroFileId,
) -> ValueResult<(Parse<SyntaxNode<RustLanguage>>, Arc<SpanMap<SyntaxContext>>), ExpandError>;
fn span_map(&self, file_id: HirFileId) -> SpanMap;
fn expansion_span_map(
&self,
file_id: MacroFileId,
) -> Arc<SpanMap<SyntaxContext>>;
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<SpanData<SyntaxContext>>>, SyntaxFixupUndoInfo, SpanData<SyntaxContext>);
fn macro_arg_considering_derives(
&self,
id: MacroCallId,
kind: &MacroCallKind,
) -> (Arc<TopSubtree<SpanData<SyntaxContext>>>, SyntaxFixupUndoInfo, SpanData<SyntaxContext>);
fn macro_expander(&self, id: MacroDefId) -> TokenExpander;
fn decl_macro_expander(
&self,
def_crate: Crate,
id: InFileWrapper<HirFileId, FileAstId<Macro>>,
) -> Arc<DeclarativeMacroExpander>;
fn expand_proc_macro(
&self,
call: MacroCallId,
) -> ValueResult<Arc<TopSubtree<SpanData<SyntaxContext>>>, ExpandError>;
fn proc_macro_span(
&self,
fun: InFileWrapper<HirFileId, FileAstId<Fn>>,
) -> SpanData<SyntaxContext>;
fn parse_macro_expansion_error(
&self,
macro_call: MacroCallId,
) -> Option<Arc<ValueResult<Arc<[SyntaxError]>, ExpandError>>>;
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,
);
}