Trait rustc::hir::lowering::Resolver [−][src]
pub trait Resolver { fn resolve_hir_path(&mut self, path: &mut Path, is_value: bool); fn get_resolution(&mut self, id: NodeId) -> Option<PathResolution>; fn get_import(&mut self, id: NodeId) -> PerNS<Option<PathResolution>>; fn definitions(&mut self) -> &mut Definitions; fn resolve_str_path(
&mut self,
span: Span,
crate_root: Option<&str>,
components: &[&str],
is_value: bool
) -> Path; }
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Required Methods
fn resolve_hir_path(&mut self, path: &mut Path, is_value: bool)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Resolve a hir path generated by the lowerer when expanding for
, if let
, etc.
fn get_resolution(&mut self, id: NodeId) -> Option<PathResolution>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Obtain the resolution for a node id
fn get_import(&mut self, id: NodeId) -> PerNS<Option<PathResolution>>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Obtain the possible resolutions for the given use
statement.
fn definitions(&mut self) -> &mut Definitions
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
We must keep the set of definitions up to date as we add nodes that weren't in the AST.
This should only return None
during testing.
fn resolve_str_path(
&mut self,
span: Span,
crate_root: Option<&str>,
components: &[&str],
is_value: bool
) -> Path
&mut self,
span: Span,
crate_root: Option<&str>,
components: &[&str],
is_value: bool
) -> Path
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Given suffix ["b","c","d"], creates a HIR path for [::crate_root]::b::c::d
and resolves
it based on is_value
.