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,
);
}