diff options
author | Aleksey Kladov <[email protected]> | 2019-01-01 19:47:10 +0000 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2019-01-01 19:47:10 +0000 |
commit | 9c65e618498596a5dc75efe0814a5542c54d54d8 (patch) | |
tree | 30d22a7d25c1baf9bada0da625dc60bc7572b079 /crates/ra_hir/src/lib.rs | |
parent | fca1422ea34363b6f47da76914022bc60f7f66df (diff) |
introduce ids module
Diffstat (limited to 'crates/ra_hir/src/lib.rs')
-rw-r--r-- | crates/ra_hir/src/lib.rs | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/crates/ra_hir/src/lib.rs b/crates/ra_hir/src/lib.rs index 1219b9fba..8d3a026d5 100644 --- a/crates/ra_hir/src/lib.rs +++ b/crates/ra_hir/src/lib.rs | |||
@@ -22,6 +22,7 @@ mod path; | |||
22 | mod arena; | 22 | mod arena; |
23 | pub mod source_binder; | 23 | pub mod source_binder; |
24 | 24 | ||
25 | mod ids; | ||
25 | mod macros; | 26 | mod macros; |
26 | mod name; | 27 | mod name; |
27 | mod krate; | 28 | mod krate; |
@@ -46,6 +47,7 @@ pub use self::{ | |||
46 | path::{Path, PathKind}, | 47 | path::{Path, PathKind}, |
47 | name::Name, | 48 | name::Name, |
48 | krate::Crate, | 49 | krate::Crate, |
50 | ids::MFileId, | ||
49 | macros::{MacroDef, MacroInput, MacroExpansion, MacroCallId, MacroCallLoc}, | 51 | macros::{MacroDef, MacroInput, MacroExpansion, MacroCallId, MacroCallLoc}, |
50 | module::{Module, ModuleId, Problem, nameres::{ItemMap, PerNs, Namespace}, ModuleScope, Resolution}, | 52 | module::{Module, ModuleId, Problem, nameres::{ItemMap, PerNs, Namespace}, ModuleScope, Resolution}, |
51 | function::{Function, FnScopes}, | 53 | function::{Function, FnScopes}, |
@@ -55,20 +57,6 @@ pub use self::{ | |||
55 | 57 | ||
56 | pub use self::function::FnSignatureInfo; | 58 | pub use self::function::FnSignatureInfo; |
57 | 59 | ||
58 | /// An `MFileId` is like a `FileId`, but it can also refer to code generated by | ||
59 | /// macros. | ||
60 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] | ||
61 | pub enum MFileId { | ||
62 | File(FileId), | ||
63 | Macro(MacroCallId), | ||
64 | } | ||
65 | |||
66 | impl From<FileId> for MFileId { | ||
67 | fn from(file_id: FileId) -> MFileId { | ||
68 | MFileId::File(file_id) | ||
69 | } | ||
70 | } | ||
71 | |||
72 | /// Def's are a core concept of hir. A `Def` is an Item (function, module, etc) | 60 | /// Def's are a core concept of hir. A `Def` is an Item (function, module, etc) |
73 | /// in a specific module. | 61 | /// in a specific module. |
74 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] | 62 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] |