]> git.lizzy.rs Git - rust.git/commitdiff
Privatise nameres
authorAleksey Kladov <aleksey.kladov@gmail.com>
Sat, 23 Nov 2019 13:53:16 +0000 (16:53 +0300)
committerAleksey Kladov <aleksey.kladov@gmail.com>
Sat, 23 Nov 2019 14:12:49 +0000 (17:12 +0300)
crates/ra_hir/src/code_model.rs
crates/ra_hir_def/src/lib.rs
crates/ra_hir_def/src/nameres.rs
crates/ra_hir_def/src/nameres/collector.rs
crates/ra_hir_def/src/nameres/path_resolution.rs
crates/ra_hir_def/src/nameres/per_ns.rs [deleted file]
crates/ra_hir_def/src/per_ns.rs [new file with mode: 0644]
crates/ra_hir_def/src/resolver.rs

index 2442fb6a527ab2e0f2646816317f91250a9966d6..cd178bf887b1f747c815a92ae1d49c9e53cdc665 100644 (file)
@@ -9,7 +9,7 @@
     body::scope::ExprScopes,
     builtin_type::BuiltinType,
     docs::Documentation,
-    nameres::per_ns::PerNs,
+    per_ns::PerNs,
     resolver::{HasResolver, TypeNs},
     type_ref::TypeRef,
     ContainerId, HasModule, ImplId, LocalEnumVariantId, LocalImportId, LocalModuleId,
index 2cfe68701d4ddd28b1b3824c6ad41c46c48c5e6f..11ae9cdc0f369f7dc75d61a2c121cc4daa9b2a4a 100644 (file)
 pub mod data;
 pub mod lang_item;
 pub mod docs;
+pub mod per_ns;
 
 mod trace;
+mod nameres;
 
 #[cfg(test)]
 mod test_db;
 #[cfg(test)]
 mod marks;
 
-// FIXME: this should be private
-pub mod nameres;
-
 use std::hash::{Hash, Hasher};
 
 use hir_expand::{ast_id_map::FileAstId, db::AstDatabase, AstId, HirFileId, MacroDefId, Source};
index d82356bbd8e395c3ea8fe3be525d39d8bc684c1b..3b2e996470aebbef0fe054be97102ace87a20bc8 100644 (file)
@@ -47,8 +47,7 @@
 //! path and, upon success, we run macro expansion and "collect module" phase on
 //! the result
 
-pub mod raw;
-pub mod per_ns;
+pub(crate) mod raw;
 mod collector;
 mod mod_resolution;
 mod path_resolution;
@@ -72,8 +71,9 @@
 use crate::{
     builtin_type::BuiltinType,
     db::DefDatabase,
-    nameres::{diagnostics::DefDiagnostic, path_resolution::ResolveMode, per_ns::PerNs},
+    nameres::{diagnostics::DefDiagnostic, path_resolution::ResolveMode},
     path::Path,
+    per_ns::PerNs,
     AstId, FunctionId, ImplId, LocalImportId, LocalModuleId, ModuleDefId, ModuleId, TraitId,
 };
 
index 5f7697f631eee0dc3182e214db7740f04f48e96f..b02364e86f6ebff9453abd26348bfafffadb5617 100644 (file)
     db::DefDatabase,
     nameres::{
         diagnostics::DefDiagnostic, mod_resolution::ModDir, path_resolution::ReachedFixedPoint,
-        per_ns::PerNs, raw, CrateDefMap, ModuleData, Resolution, ResolveMode,
+        raw, CrateDefMap, ModuleData, Resolution, ResolveMode,
     },
     path::{Path, PathKind},
+    per_ns::PerNs,
     AdtId, AstId, AstItemDef, ConstLoc, ContainerId, EnumId, EnumVariantId, FunctionLoc, ImplId,
     Intern, LocalImportId, LocalModuleId, LocationCtx, ModuleDefId, ModuleId, StaticId, StructId,
     StructOrUnionId, TraitId, TypeAliasLoc, UnionId,
index 93b441f96d208b1778cc53e0c5d4a002a4fd8ab8..9455f22bbd6fe155dd81f2210fcbe227a411e2bd 100644 (file)
@@ -16,8 +16,9 @@
 
 use crate::{
     db::DefDatabase,
-    nameres::{per_ns::PerNs, CrateDefMap},
+    nameres::CrateDefMap,
     path::{Path, PathKind},
+    per_ns::PerNs,
     AdtId, EnumVariantId, LocalModuleId, ModuleDefId, ModuleId,
 };
 
diff --git a/crates/ra_hir_def/src/nameres/per_ns.rs b/crates/ra_hir_def/src/nameres/per_ns.rs
deleted file mode 100644 (file)
index 717ed1e..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-//! FIXME: write short doc here
-
-use hir_expand::MacroDefId;
-
-use crate::ModuleDefId;
-
-#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-pub struct PerNs {
-    pub types: Option<ModuleDefId>,
-    pub values: Option<ModuleDefId>,
-    /// Since macros has different type, many methods simply ignore it.
-    /// We can only use special method like `get_macros` to access it.
-    pub macros: Option<MacroDefId>,
-}
-
-impl Default for PerNs {
-    fn default() -> Self {
-        PerNs { types: None, values: None, macros: None }
-    }
-}
-
-impl PerNs {
-    pub fn none() -> PerNs {
-        PerNs { types: None, values: None, macros: None }
-    }
-
-    pub fn values(t: ModuleDefId) -> PerNs {
-        PerNs { types: None, values: Some(t), macros: None }
-    }
-
-    pub fn types(t: ModuleDefId) -> PerNs {
-        PerNs { types: Some(t), values: None, macros: None }
-    }
-
-    pub fn both(types: ModuleDefId, values: ModuleDefId) -> PerNs {
-        PerNs { types: Some(types), values: Some(values), macros: None }
-    }
-
-    pub fn macros(macro_: MacroDefId) -> PerNs {
-        PerNs { types: None, values: None, macros: Some(macro_) }
-    }
-
-    pub fn is_none(&self) -> bool {
-        self.types.is_none() && self.values.is_none() && self.macros.is_none()
-    }
-
-    pub fn is_all(&self) -> bool {
-        self.types.is_some() && self.values.is_some() && self.macros.is_some()
-    }
-
-    pub fn take_types(self) -> Option<ModuleDefId> {
-        self.types
-    }
-
-    pub fn take_values(self) -> Option<ModuleDefId> {
-        self.values
-    }
-
-    pub fn get_macros(&self) -> Option<MacroDefId> {
-        self.macros
-    }
-
-    pub fn only_macros(&self) -> PerNs {
-        PerNs { types: None, values: None, macros: self.macros }
-    }
-
-    pub fn or(self, other: PerNs) -> PerNs {
-        PerNs {
-            types: self.types.or(other.types),
-            values: self.values.or(other.values),
-            macros: self.macros.or(other.macros),
-        }
-    }
-}
diff --git a/crates/ra_hir_def/src/per_ns.rs b/crates/ra_hir_def/src/per_ns.rs
new file mode 100644 (file)
index 0000000..717ed1e
--- /dev/null
@@ -0,0 +1,74 @@
+//! FIXME: write short doc here
+
+use hir_expand::MacroDefId;
+
+use crate::ModuleDefId;
+
+#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
+pub struct PerNs {
+    pub types: Option<ModuleDefId>,
+    pub values: Option<ModuleDefId>,
+    /// Since macros has different type, many methods simply ignore it.
+    /// We can only use special method like `get_macros` to access it.
+    pub macros: Option<MacroDefId>,
+}
+
+impl Default for PerNs {
+    fn default() -> Self {
+        PerNs { types: None, values: None, macros: None }
+    }
+}
+
+impl PerNs {
+    pub fn none() -> PerNs {
+        PerNs { types: None, values: None, macros: None }
+    }
+
+    pub fn values(t: ModuleDefId) -> PerNs {
+        PerNs { types: None, values: Some(t), macros: None }
+    }
+
+    pub fn types(t: ModuleDefId) -> PerNs {
+        PerNs { types: Some(t), values: None, macros: None }
+    }
+
+    pub fn both(types: ModuleDefId, values: ModuleDefId) -> PerNs {
+        PerNs { types: Some(types), values: Some(values), macros: None }
+    }
+
+    pub fn macros(macro_: MacroDefId) -> PerNs {
+        PerNs { types: None, values: None, macros: Some(macro_) }
+    }
+
+    pub fn is_none(&self) -> bool {
+        self.types.is_none() && self.values.is_none() && self.macros.is_none()
+    }
+
+    pub fn is_all(&self) -> bool {
+        self.types.is_some() && self.values.is_some() && self.macros.is_some()
+    }
+
+    pub fn take_types(self) -> Option<ModuleDefId> {
+        self.types
+    }
+
+    pub fn take_values(self) -> Option<ModuleDefId> {
+        self.values
+    }
+
+    pub fn get_macros(&self) -> Option<MacroDefId> {
+        self.macros
+    }
+
+    pub fn only_macros(&self) -> PerNs {
+        PerNs { types: None, values: None, macros: self.macros }
+    }
+
+    pub fn or(self, other: PerNs) -> PerNs {
+        PerNs {
+            types: self.types.or(other.types),
+            values: self.values.or(other.values),
+            macros: self.macros.or(other.macros),
+        }
+    }
+}
index e64face7ee24f121b8b3c75a5afd62efd927d636..b56de44dd7a22600e3a03e1e82dac9425e466186 100644 (file)
@@ -14,8 +14,9 @@
     db::DefDatabase,
     expr::{ExprId, PatId},
     generics::GenericParams,
-    nameres::{per_ns::PerNs, CrateDefMap},
+    nameres::CrateDefMap,
     path::{Path, PathKind},
+    per_ns::PerNs,
     AdtId, AstItemDef, ConstId, ContainerId, DefWithBodyId, EnumId, EnumVariantId, FunctionId,
     GenericDefId, ImplId, LocalModuleId, Lookup, ModuleDefId, ModuleId, StaticId, StructId,
     TraitId, TypeAliasId,