Trait rustc_expand::base::ResolverExpand [−][src]
pub trait ResolverExpand {
Show 13 methods
fn next_node_id(&mut self) -> NodeId;
fn resolve_dollar_crates(&mut self);
fn visit_ast_fragment_with_placeholders(
&mut self,
expn_id: LocalExpnId,
fragment: &AstFragment
);
fn register_builtin_macro(&mut self, name: Symbol, ext: SyntaxExtensionKind);
fn expansion_for_ast_pass(
&mut self,
call_site: Span,
pass: AstPass,
features: &[Symbol],
parent_module_id: Option<NodeId>
) -> LocalExpnId;
fn resolve_imports(&mut self);
fn resolve_macro_invocation(
&mut self,
invoc: &Invocation,
eager_expansion_root: LocalExpnId,
force: bool
) -> Result<Lrc<SyntaxExtension>, Indeterminate>;
fn check_unused_macros(&mut self);
fn has_derive_copy(&self, expn_id: LocalExpnId) -> bool;
fn resolve_derives(
&mut self,
expn_id: LocalExpnId,
force: bool,
derive_paths: &dyn Fn() -> DeriveResolutions
) -> Result<(), Indeterminate>;
fn take_derive_resolutions(
&mut self,
expn_id: LocalExpnId
) -> Option<DeriveResolutions>;
fn cfg_accessible(
&mut self,
expn_id: LocalExpnId,
path: &Path
) -> Result<bool, Indeterminate>;
fn get_proc_macro_quoted_span(&self, krate: CrateNum, id: usize) -> Span;
}Required methods
fn next_node_id(&mut self) -> NodeId
fn resolve_dollar_crates(&mut self)
fn visit_ast_fragment_with_placeholders(
&mut self,
expn_id: LocalExpnId,
fragment: &AstFragment
)
fn register_builtin_macro(&mut self, name: Symbol, ext: SyntaxExtensionKind)
fn expansion_for_ast_pass(
&mut self,
call_site: Span,
pass: AstPass,
features: &[Symbol],
parent_module_id: Option<NodeId>
) -> LocalExpnId
fn resolve_imports(&mut self)
fn resolve_macro_invocation(
&mut self,
invoc: &Invocation,
eager_expansion_root: LocalExpnId,
force: bool
) -> Result<Lrc<SyntaxExtension>, Indeterminate>
fn check_unused_macros(&mut self)
fn has_derive_copy(&self, expn_id: LocalExpnId) -> bool
fn has_derive_copy(&self, expn_id: LocalExpnId) -> bool
Does #[derive(...)] attribute with the given ExpnId have built-in Copy inside it?
fn resolve_derives(
&mut self,
expn_id: LocalExpnId,
force: bool,
derive_paths: &dyn Fn() -> DeriveResolutions
) -> Result<(), Indeterminate>
fn resolve_derives(
&mut self,
expn_id: LocalExpnId,
force: bool,
derive_paths: &dyn Fn() -> DeriveResolutions
) -> Result<(), Indeterminate>
Resolve paths inside the #[derive(...)] attribute with the given ExpnId.
fn take_derive_resolutions(
&mut self,
expn_id: LocalExpnId
) -> Option<DeriveResolutions>
fn take_derive_resolutions(
&mut self,
expn_id: LocalExpnId
) -> Option<DeriveResolutions>
Take resolutions for paths inside the #[derive(...)] attribute with the given ExpnId
back from resolver.
fn cfg_accessible(
&mut self,
expn_id: LocalExpnId,
path: &Path
) -> Result<bool, Indeterminate>
fn cfg_accessible(
&mut self,
expn_id: LocalExpnId,
path: &Path
) -> Result<bool, Indeterminate>
Path resolution logic for #[cfg_accessible(path)].
fn get_proc_macro_quoted_span(&self, krate: CrateNum, id: usize) -> Span
fn get_proc_macro_quoted_span(&self, krate: CrateNum, id: usize) -> Span
Decodes the proc-macro quoted span in the specified crate, with the specified id. No caching is performed.