mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-27 05:23:24 +00:00
visible_from -> is_visible_from
This commit is contained in:
parent
dfe95d735b
commit
9fd2c813ca
4 changed files with 10 additions and 10 deletions
|
@ -1053,8 +1053,8 @@ impl<T: Into<AttrDef> + Copy> Docs for T {
|
|||
|
||||
pub trait HasVisibility {
|
||||
fn visibility(&self, db: &impl HirDatabase) -> Visibility;
|
||||
fn visible_from(&self, db: &impl HirDatabase, module: Module) -> bool {
|
||||
fn is_visible_from(&self, db: &impl HirDatabase, module: Module) -> bool {
|
||||
let vis = self.visibility(db);
|
||||
vis.visible_from(db, module.id)
|
||||
vis.is_visible_from(db, module.id)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -378,7 +378,7 @@ where
|
|||
.resolutions()
|
||||
// only keep visible names...
|
||||
.map(|(n, res)| {
|
||||
(n, res.filter_visibility(|v| v.visible_from_other_crate()))
|
||||
(n, res.filter_visibility(|v| v.is_visible_from_other_crate()))
|
||||
})
|
||||
.filter(|(_, res)| !res.is_none())
|
||||
.collect::<Vec<_>>();
|
||||
|
@ -398,7 +398,7 @@ where
|
|||
(
|
||||
n,
|
||||
res.filter_visibility(|v| {
|
||||
v.visible_from_def_map(&self.def_map, module_id)
|
||||
v.is_visible_from_def_map(&self.def_map, module_id)
|
||||
}),
|
||||
)
|
||||
})
|
||||
|
@ -492,7 +492,7 @@ where
|
|||
for (glob_importing_module, glob_import_vis) in glob_imports {
|
||||
// we know all resolutions have the same visibility (`vis`), so we
|
||||
// just need to check that once
|
||||
if !vis.visible_from_def_map(&self.def_map, glob_importing_module) {
|
||||
if !vis.is_visible_from_def_map(&self.def_map, glob_importing_module) {
|
||||
continue;
|
||||
}
|
||||
self.update_recursive(glob_importing_module, resolutions, glob_import_vis, depth + 1);
|
||||
|
|
|
@ -81,7 +81,7 @@ pub enum Visibility {
|
|||
}
|
||||
|
||||
impl Visibility {
|
||||
pub fn visible_from(self, db: &impl DefDatabase, from_module: ModuleId) -> bool {
|
||||
pub fn is_visible_from(self, db: &impl DefDatabase, from_module: ModuleId) -> bool {
|
||||
let to_module = match self {
|
||||
Visibility::Module(m) => m,
|
||||
Visibility::Public => return true,
|
||||
|
@ -91,17 +91,17 @@ impl Visibility {
|
|||
return false;
|
||||
}
|
||||
let def_map = db.crate_def_map(from_module.krate);
|
||||
self.visible_from_def_map(&def_map, from_module.local_id)
|
||||
self.is_visible_from_def_map(&def_map, from_module.local_id)
|
||||
}
|
||||
|
||||
pub(crate) fn visible_from_other_crate(self) -> bool {
|
||||
pub(crate) fn is_visible_from_other_crate(self) -> bool {
|
||||
match self {
|
||||
Visibility::Module(_) => false,
|
||||
Visibility::Public => true,
|
||||
}
|
||||
}
|
||||
|
||||
pub(crate) fn visible_from_def_map(
|
||||
pub(crate) fn is_visible_from_def_map(
|
||||
self,
|
||||
def_map: &crate::nameres::CrateDefMap,
|
||||
from_module: crate::LocalModuleId,
|
||||
|
|
|
@ -38,7 +38,7 @@ pub(super) fn complete_dot(acc: &mut Completions, ctx: &CompletionContext) {
|
|||
fn complete_fields(acc: &mut Completions, ctx: &CompletionContext, receiver: &Type) {
|
||||
for receiver in receiver.autoderef(ctx.db) {
|
||||
for (field, ty) in receiver.fields(ctx.db) {
|
||||
if ctx.module.map_or(false, |m| !field.visible_from(ctx.db, m)) {
|
||||
if ctx.module.map_or(false, |m| !field.is_visible_from(ctx.db, m)) {
|
||||
// Skip private field. FIXME: If the definition location of the
|
||||
// field is editable, we should show the completion
|
||||
continue;
|
||||
|
|
Loading…
Reference in a new issue