Struct rustfmt_nightly::modules::ModResolver [−][src]
pub(crate) struct ModResolver<'ast, 'sess> {
parse_sess: &'sess ParseSess,
directory: Directory,
file_map: BTreeMap<FileName, Module<'ast>>,
recursive: bool,
}
Expand description
Maps each module to the corresponding file.
Fields
parse_sess: &'sess ParseSess
directory: Directory
file_map: BTreeMap<FileName, Module<'ast>>
recursive: bool
Implementations
pub(crate) fn new(
parse_sess: &'sess ParseSess,
directory_ownership: DirOwnership,
recursive: bool
) -> Self
pub(crate) fn new(
parse_sess: &'sess ParseSess,
directory_ownership: DirOwnership,
recursive: bool
) -> Self
Creates a new ModResolver
.
pub(crate) fn visit_crate(
self,
krate: &'ast Crate
) -> Result<BTreeMap<FileName, Module<'ast>>, ModuleResolutionError>
pub(crate) fn visit_crate(
self,
krate: &'ast Crate
) -> Result<BTreeMap<FileName, Module<'ast>>, ModuleResolutionError>
Creates a map that maps a file name to the module in AST.
Visit cfg_if
macro and look for module declarations.
Visit modules defined inside macro calls.
fn visit_mod_from_ast(
&mut self,
items: &'ast Vec<P<Item>>
) -> Result<(), ModuleResolutionError>
fn visit_mod_from_ast(
&mut self,
items: &'ast Vec<P<Item>>
) -> Result<(), ModuleResolutionError>
Visit modules from AST.
fn visit_sub_mod(
&mut self,
item: &'c Item,
sub_mod: Module<'ast>
) -> Result<(), ModuleResolutionError>
fn peek_sub_mod(
&self,
item: &'c Item,
sub_mod: &Module<'ast>
) -> Result<Option<SubModKind<'c, 'ast>>, ModuleResolutionError>
fn peek_sub_mod(
&self,
item: &'c Item,
sub_mod: &Module<'ast>
) -> Result<Option<SubModKind<'c, 'ast>>, ModuleResolutionError>
Inspect the given sub-module which we are about to visit and returns its kind.
fn insert_sub_mod(
&mut self,
sub_mod_kind: SubModKind<'c, 'ast>
) -> Result<(), ModuleResolutionError>
fn visit_sub_mod_inner(
&mut self,
sub_mod: Module<'ast>,
sub_mod_kind: SubModKind<'c, 'ast>
) -> Result<(), ModuleResolutionError>
fn visit_sub_mod_after_directory_update(
&mut self,
sub_mod: Module<'ast>,
directory: Option<Directory>
) -> Result<(), ModuleResolutionError>
fn find_external_module(
&self,
mod_name: Ident,
attrs: &[Attribute],
sub_mod: &Module<'ast>
) -> Result<Option<SubModKind<'c, 'ast>>, ModuleResolutionError>
fn find_external_module(
&self,
mod_name: Ident,
attrs: &[Attribute],
sub_mod: &Module<'ast>
) -> Result<Option<SubModKind<'c, 'ast>>, ModuleResolutionError>
Find a file path in the filesystem which corresponds to the given module.
Auto Trait Implementations
impl<'ast, 'sess> !RefUnwindSafe for ModResolver<'ast, 'sess>
impl<'ast, 'sess> !Send for ModResolver<'ast, 'sess>
impl<'ast, 'sess> !Sync for ModResolver<'ast, 'sess>
impl<'ast, 'sess> Unpin for ModResolver<'ast, 'sess>
impl<'ast, 'sess> !UnwindSafe for ModResolver<'ast, 'sess>
Blanket Implementations
Layout
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 80 bytes