[][src]Struct ra_ap_hir::Module

pub struct Module { /* fields omitted */ }

Implementations

impl Module[src]

pub fn name(self, db: &dyn HirDatabase) -> Option<Name>[src]

Name of this module.

pub fn krate(self) -> Crate[src]

Returns the crate this module is part of.

pub fn crate_root(self, db: &dyn HirDatabase) -> Module[src]

Topmost parent of this module. Every module has a crate_root, but some might be missing krate. This can happen if a module's file is not included in the module tree of any target in Cargo.toml.

pub fn children(self, db: &dyn HirDatabase) -> impl Iterator<Item = Module>[src]

Iterates over all child modules.

pub fn parent(self, db: &dyn HirDatabase) -> Option<Module>[src]

Finds a parent module.

pub fn path_to_root(self, db: &dyn HirDatabase) -> Vec<Module>[src]

pub fn scope(
    self,
    db: &dyn HirDatabase,
    visible_from: Option<Module>
) -> Vec<(Name, ScopeDef)>
[src]

Returns a ModuleScope: a set of items, visible in this module.

pub fn visibility_of(
    self,
    db: &dyn HirDatabase,
    def: &ModuleDef
) -> Option<Visibility>
[src]

pub fn diagnostics(self, db: &dyn HirDatabase, sink: &mut DiagnosticSink<'_>)[src]

pub fn declarations(self, db: &dyn HirDatabase) -> Vec<ModuleDef>[src]

pub fn impl_defs(self, db: &dyn HirDatabase) -> Vec<ImplDef>[src]

pub fn find_use_path(
    self,
    db: &dyn DefDatabase,
    item: impl Into<ItemInNs>
) -> Option<ModPath>
[src]

Finds a path that can be used to refer to the given item from within this module, if possible.

impl Module[src]

NB: Module is !HasSource, because it has two source nodes at the same time: definition and declaration.

pub fn definition_source(self, db: &dyn HirDatabase) -> InFile<ModuleSource>[src]

Returns a node which defines this module. That is, a file or a mod foo {} with items.

pub fn is_mod_rs(self, db: &dyn HirDatabase) -> bool[src]

pub fn declaration_source(self, db: &dyn HirDatabase) -> Option<InFile<Module>>[src]

Returns a node which declares this module, either a mod foo; or a mod foo {}. None for the crate root.

Trait Implementations

impl Clone for Module[src]

impl Copy for Module[src]

impl Debug for Module[src]

impl Eq for Module[src]

impl From<Module> for ModuleId[src]

impl From<Module> for ModuleDef[src]

impl From<ModuleId> for Module[src]

impl HasAttrs for Module[src]

impl Hash for Module[src]

impl PartialEq<Module> for Module[src]

impl StructuralEq for Module[src]

impl StructuralPartialEq for Module[src]

Auto Trait Implementations

impl RefUnwindSafe for Module

impl Send for Module

impl Sync for Module

impl Unpin for Module

impl UnwindSafe for Module

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Any for T where
    T: Any

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Cast for T

impl<T> CloneAny for T where
    T: Clone + Any

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.