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