Struct rustfmt_nightly::modules::ModResolver
source · 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§
source§impl<'ast, 'sess, 'c> ModResolver<'ast, 'sess>
impl<'ast, 'sess, 'c> ModResolver<'ast, 'sess>
sourcepub(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
.
sourcepub(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.
sourcefn visit_cfg_if(
&mut self,
item: Cow<'ast, Item>
) -> Result<(), ModuleResolutionError>
fn visit_cfg_if( &mut self, item: Cow<'ast, Item> ) -> Result<(), ModuleResolutionError>
Visit cfg_if
macro and look for module declarations.
sourcefn visit_mod_outside_ast(
&mut self,
items: ThinVec<P<Item>>
) -> Result<(), ModuleResolutionError>
fn visit_mod_outside_ast( &mut self, items: ThinVec<P<Item>> ) -> Result<(), ModuleResolutionError>
Visit modules defined inside macro calls.
sourcefn visit_mod_from_ast(
&mut self,
items: &'ast [P<Item>]
) -> Result<(), ModuleResolutionError>
fn visit_mod_from_ast( &mut self, items: &'ast [P<Item>] ) -> Result<(), ModuleResolutionError>
Visit modules from AST.
fn visit_sub_mod( &mut self, item: &'c Item, sub_mod: Module<'ast> ) -> Result<(), ModuleResolutionError>
sourcefn 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>
sourcefn 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.
fn push_inline_mod_directory(&mut self, id: Ident, attrs: &[Attribute])
fn find_mods_outside_of_ast( &self, attrs: &[Attribute], sub_mod: &Module<'ast> ) -> Vec<(PathBuf, DirOwnership, Module<'ast>)>
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§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
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