aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_def/src/nameres/raw.rs
diff options
context:
space:
mode:
authorzombiefungus <[email protected]>2020-02-02 13:04:06 +0000
committerzombiefungus <[email protected]>2020-02-02 13:04:24 +0000
commitf4f71e361ee632a7a09b633934a9c0a11f4a9be7 (patch)
treeddc461410065761d4f4397e96ea915ea9264609a /crates/ra_hir_def/src/nameres/raw.rs
parent7d527159457420d55f1ee2f70615098a10176b91 (diff)
include requested changes
Diffstat (limited to 'crates/ra_hir_def/src/nameres/raw.rs')
-rw-r--r--crates/ra_hir_def/src/nameres/raw.rs20
1 files changed, 8 insertions, 12 deletions
diff --git a/crates/ra_hir_def/src/nameres/raw.rs b/crates/ra_hir_def/src/nameres/raw.rs
index f068b4d4e..650cf1f98 100644
--- a/crates/ra_hir_def/src/nameres/raw.rs
+++ b/crates/ra_hir_def/src/nameres/raw.rs
@@ -22,8 +22,11 @@ use ra_syntax::{
22use test_utils::tested_by; 22use test_utils::tested_by;
23 23
24use crate::{ 24use crate::{
25 attr::Attrs, db::DefDatabase, path::ModPath, visibility::RawVisibility, FileAstId, HirFileId, 25 attr::Attrs,
26 InFile, 26 db::DefDatabase,
27 path::{ImportAlias, ModPath},
28 visibility::RawVisibility,
29 FileAstId, HirFileId, InFile,
27}; 30};
28 31
29/// `RawItems` is a set of top-level items in a file (except for impls). 32/// `RawItems` is a set of top-level items in a file (except for impls).
@@ -145,7 +148,7 @@ impl_arena_id!(Import);
145#[derive(Debug, Clone, PartialEq, Eq)] 148#[derive(Debug, Clone, PartialEq, Eq)]
146pub struct ImportData { 149pub struct ImportData {
147 pub(super) path: ModPath, 150 pub(super) path: ModPath,
148 pub(super) alias: ImportAlias, 151 pub(super) alias: Option<ImportAlias>,
149 pub(super) is_glob: bool, 152 pub(super) is_glob: bool,
150 pub(super) is_prelude: bool, 153 pub(super) is_prelude: bool,
151 pub(super) is_extern_crate: bool, 154 pub(super) is_extern_crate: bool,
@@ -153,13 +156,6 @@ pub struct ImportData {
153 pub(super) visibility: RawVisibility, 156 pub(super) visibility: RawVisibility,
154} 157}
155 158
156#[derive(Debug, Clone, PartialEq, Eq)]
157pub enum ImportAlias {
158 NoAlias,
159 Unnamed, // use Foo as _;
160 Alias(Name),
161}
162
163#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] 159#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
164pub(super) struct Def(RawId); 160pub(super) struct Def(RawId);
165impl_arena_id!(Def); 161impl_arena_id!(Def);
@@ -360,10 +356,10 @@ impl RawItemsCollector {
360 let path = ModPath::from_name_ref(&name_ref); 356 let path = ModPath::from_name_ref(&name_ref);
361 let visibility = 357 let visibility =
362 RawVisibility::from_ast_with_hygiene(extern_crate.visibility(), &self.hygiene); 358 RawVisibility::from_ast_with_hygiene(extern_crate.visibility(), &self.hygiene);
363 let alias = extern_crate.alias().map_or(ImportAlias::NoAlias, |a| { 359 let alias = extern_crate.alias().map(|a| {
364 a.name() 360 a.name()
365 .map(|it| it.as_name()) 361 .map(|it| it.as_name())
366 .map_or(ImportAlias::Unnamed, |a| ImportAlias::Alias(a)) 362 .map_or(ImportAlias::Underscore, |a| ImportAlias::Alias(a))
367 }); 363 });
368 let attrs = self.parse_attrs(&extern_crate); 364 let attrs = self.parse_attrs(&extern_crate);
369 // FIXME: cfg_attr 365 // FIXME: cfg_attr