pub trait LspHelpers<'db>: Database {
// Provided methods
fn methods_in_module(
&'db self,
module_id: ModuleId<'db>,
type_filter: TypeFilter<'db>,
) -> Arc<Vec<TraitFunctionId<'db>>> { ... }
fn methods_in_crate(
&'db self,
crate_id: CrateId<'db>,
type_filter: TypeFilter<'db>,
) -> Arc<Vec<TraitFunctionId<'db>>> { ... }
fn visible_importables_from_module(
&'db self,
module_id: ModuleId<'db>,
) -> Option<Arc<OrderedHashMap<ImportableId<'db>, String>>> { ... }
fn visible_importables_in_module(
&'db self,
module_id: ModuleId<'db>,
user_module_id: ModuleId<'db>,
include_parent: bool,
) -> Arc<Vec<(ImportableId<'db>, String)>> { ... }
fn visible_importables_in_crate(
&'db self,
crate_id: CrateId<'db>,
user_module_id: ModuleId<'db>,
) -> Arc<Vec<(ImportableId<'db>, String)>> { ... }
fn visible_traits_from_module(
&'db self,
module_id: ModuleId<'db>,
) -> Option<Arc<OrderedHashMap<TraitId<'db>, String>>> { ... }
fn inline_macro_expansion_files(
&'db self,
module_id: ModuleId<'db>,
) -> &'db Vec<FileId<'db>> { ... }
fn accumulate_inline_macro_expansion(&'db self, file: &FileLongId<'db>) { ... }
}Expand description
Trait for LSP helpers.
Provided Methods§
Sourcefn methods_in_module(
&'db self,
module_id: ModuleId<'db>,
type_filter: TypeFilter<'db>,
) -> Arc<Vec<TraitFunctionId<'db>>>
fn methods_in_module( &'db self, module_id: ModuleId<'db>, type_filter: TypeFilter<'db>, ) -> Arc<Vec<TraitFunctionId<'db>>>
Returns all methods in a module that match the given type filter.
Sourcefn methods_in_crate(
&'db self,
crate_id: CrateId<'db>,
type_filter: TypeFilter<'db>,
) -> Arc<Vec<TraitFunctionId<'db>>>
fn methods_in_crate( &'db self, crate_id: CrateId<'db>, type_filter: TypeFilter<'db>, ) -> Arc<Vec<TraitFunctionId<'db>>>
Returns all methods in a crate that match the given type filter.
Sourcefn visible_importables_from_module(
&'db self,
module_id: ModuleId<'db>,
) -> Option<Arc<OrderedHashMap<ImportableId<'db>, String>>>
fn visible_importables_from_module( &'db self, module_id: ModuleId<'db>, ) -> Option<Arc<OrderedHashMap<ImportableId<'db>, String>>>
Returns all the importables visible from a module, alongside a visible use path to the trait.
Sourcefn visible_importables_in_module(
&'db self,
module_id: ModuleId<'db>,
user_module_id: ModuleId<'db>,
include_parent: bool,
) -> Arc<Vec<(ImportableId<'db>, String)>>
fn visible_importables_in_module( &'db self, module_id: ModuleId<'db>, user_module_id: ModuleId<'db>, include_parent: bool, ) -> Arc<Vec<(ImportableId<'db>, String)>>
Returns all visible importables in a module, alongside a visible use path to the trait.
user_module_id is the module from which the importables should be visible. If
include_parent is true, the parent module of module_id is also considered.
Sourcefn visible_importables_in_crate(
&'db self,
crate_id: CrateId<'db>,
user_module_id: ModuleId<'db>,
) -> Arc<Vec<(ImportableId<'db>, String)>>
fn visible_importables_in_crate( &'db self, crate_id: CrateId<'db>, user_module_id: ModuleId<'db>, ) -> Arc<Vec<(ImportableId<'db>, String)>>
Returns all visible importables in a crate, alongside a visible use path to the trait.
user_module_id is the module from which the importables should be visible.
Sourcefn visible_traits_from_module(
&'db self,
module_id: ModuleId<'db>,
) -> Option<Arc<OrderedHashMap<TraitId<'db>, String>>>
fn visible_traits_from_module( &'db self, module_id: ModuleId<'db>, ) -> Option<Arc<OrderedHashMap<TraitId<'db>, String>>>
Returns all the traits visible from a module, alongside a visible use path to the trait.
Sourcefn inline_macro_expansion_files(
&'db self,
module_id: ModuleId<'db>,
) -> &'db Vec<FileId<'db>>
fn inline_macro_expansion_files( &'db self, module_id: ModuleId<'db>, ) -> &'db Vec<FileId<'db>>
Returns all files generated by inline macro expansion inside provided module.
Sourcefn accumulate_inline_macro_expansion(&'db self, file: &FileLongId<'db>)
fn accumulate_inline_macro_expansion(&'db self, file: &FileLongId<'db>)
Marks file as result of inline macro expansion.