Trait syntax::ext::base::Resolver
[−]
[src]
pub trait Resolver { fn next_node_id(&mut self) -> NodeId; fn get_module_scope(&mut self, id: NodeId) -> Mark; fn eliminate_crate_var(&mut self, item: P<Item>) -> P<Item>; fn is_whitelisted_legacy_custom_derive(&self, name: Name) -> bool; fn visit_expansion(&mut self,
mark: Mark,
expansion: &Expansion,
derives: &[Mark]); fn add_builtin(&mut self, ident: Ident, ext: Rc<SyntaxExtension>); fn resolve_imports(&mut self); fn find_legacy_attr_invoc(&mut self,
attrs: &mut Vec<Attribute>)
-> Option<Attribute>; fn resolve_invoc(&mut self,
invoc: &mut Invocation,
scope: Mark,
force: bool)
-> Result<Option<Rc<SyntaxExtension>>, Determinacy>; fn resolve_macro(&mut self,
scope: Mark,
path: &Path,
kind: MacroKind,
force: bool)
-> Result<Rc<SyntaxExtension>, Determinacy>; }
🔬 This is a nightly-only experimental API. (
rustc_private
)Required Methods
fn next_node_id(&mut self) -> NodeId
🔬 This is a nightly-only experimental API. (
rustc_private
)fn get_module_scope(&mut self, id: NodeId) -> Mark
🔬 This is a nightly-only experimental API. (
rustc_private
)fn eliminate_crate_var(&mut self, item: P<Item>) -> P<Item>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn is_whitelisted_legacy_custom_derive(&self, name: Name) -> bool
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_expansion(&mut self,
mark: Mark,
expansion: &Expansion,
derives: &[Mark])
mark: Mark,
expansion: &Expansion,
derives: &[Mark])
🔬 This is a nightly-only experimental API. (
rustc_private
)fn add_builtin(&mut self, ident: Ident, ext: Rc<SyntaxExtension>)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn resolve_imports(&mut self)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn find_legacy_attr_invoc(&mut self,
attrs: &mut Vec<Attribute>)
-> Option<Attribute>
attrs: &mut Vec<Attribute>)
-> Option<Attribute>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn resolve_invoc(&mut self,
invoc: &mut Invocation,
scope: Mark,
force: bool)
-> Result<Option<Rc<SyntaxExtension>>, Determinacy>
invoc: &mut Invocation,
scope: Mark,
force: bool)
-> Result<Option<Rc<SyntaxExtension>>, Determinacy>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn resolve_macro(&mut self,
scope: Mark,
path: &Path,
kind: MacroKind,
force: bool)
-> Result<Rc<SyntaxExtension>, Determinacy>
scope: Mark,
path: &Path,
kind: MacroKind,
force: bool)
-> Result<Rc<SyntaxExtension>, Determinacy>
🔬 This is a nightly-only experimental API. (
rustc_private
)Implementors
impl Resolver for DummyResolver