Skip to content

Commit 3ac136c

Browse files
committed
Move TypeAlias to hir_def
1 parent d59bf33 commit 3ac136c

File tree

6 files changed

+17
-20
lines changed

6 files changed

+17
-20
lines changed

crates/ra_hir/src/code_model.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -937,15 +937,15 @@ impl TypeAlias {
937937
}
938938

939939
pub fn type_ref(self, db: &impl DefDatabase) -> Option<TypeRef> {
940-
db.type_alias_data(self).type_ref.clone()
940+
db.type_alias_data(self.id).type_ref.clone()
941941
}
942942

943943
pub fn ty(self, db: &impl HirDatabase) -> Ty {
944944
db.type_for_def(self.into(), Namespace::Types)
945945
}
946946

947947
pub fn name(self, db: &impl DefDatabase) -> Name {
948-
db.type_alias_data(self).name.clone()
948+
db.type_alias_data(self.id).name.clone()
949949
}
950950
}
951951

crates/ra_hir/src/db.rs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,15 @@ use crate::{
1616
CallableDef, FnSig, GenericPredicate, InferenceResult, Namespace, Substs, Ty, TypableDef,
1717
TypeCtor,
1818
},
19-
type_alias::TypeAliasData,
2019
Const, ConstData, Crate, DefWithBody, FnData, Function, GenericDef, ImplBlock, Module, Static,
21-
StructField, Trait, TypeAlias,
20+
StructField, Trait,
2221
};
2322

2423
pub use hir_def::db::{
2524
BodyQuery, BodyWithSourceMapQuery, CrateDefMapQuery, DefDatabase2, DefDatabase2Storage,
2625
EnumDataQuery, ExprScopesQuery, GenericParamsQuery, ImplDataQuery, InternDatabase,
2726
InternDatabaseStorage, RawItemsQuery, RawItemsWithSourceMapQuery, StructDataQuery,
28-
TraitDataQuery,
27+
TraitDataQuery, TypeAliasDataQuery,
2928
};
3029
pub use hir_expand::db::{
3130
AstDatabase, AstDatabaseStorage, AstIdMapQuery, MacroArgQuery, MacroDefQuery, MacroExpandQuery,
@@ -39,9 +38,6 @@ pub trait DefDatabase: HirDebugDatabase + DefDatabase2 {
3938
#[salsa::invoke(FnData::fn_data_query)]
4039
fn fn_data(&self, func: Function) -> Arc<FnData>;
4140

42-
#[salsa::invoke(TypeAliasData::type_alias_data_query)]
43-
fn type_alias_data(&self, typ: TypeAlias) -> Arc<TypeAliasData>;
44-
4541
#[salsa::invoke(ConstData::const_data_query)]
4642
fn const_data(&self, konst: Const) -> Arc<ConstData>;
4743

crates/ra_hir/src/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ pub mod db;
3232
pub mod source_binder;
3333

3434
mod ids;
35-
mod type_alias;
3635
mod ty;
3736
mod impl_block;
3837
mod expr;

crates/ra_hir_def/src/db.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ use crate::{
1515
CrateDefMap,
1616
},
1717
traits::TraitData,
18-
DefWithBodyId, EnumId, GenericDefId, ImplId, ItemLoc, StructOrUnionId, TraitId,
18+
type_alias::TypeAliasData,
19+
DefWithBodyId, EnumId, GenericDefId, ImplId, ItemLoc, StructOrUnionId, TraitId, TypeAliasId,
1920
};
2021

2122
#[salsa::query_group(InternDatabaseStorage)]
@@ -64,6 +65,9 @@ pub trait DefDatabase2: InternDatabase + AstDatabase {
6465
#[salsa::invoke(TraitData::trait_data_query)]
6566
fn trait_data(&self, e: TraitId) -> Arc<TraitData>;
6667

68+
#[salsa::invoke(TypeAliasData::type_alias_data_query)]
69+
fn type_alias_data(&self, e: TypeAliasId) -> Arc<TypeAliasData>;
70+
6771
#[salsa::invoke(Body::body_with_source_map_query)]
6872
fn body_with_source_map(&self, def: DefWithBodyId) -> (Arc<Body>, Arc<BodySourceMap>);
6973

crates/ra_hir_def/src/lib.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ pub mod body;
2020
pub mod generics;
2121
pub mod traits;
2222
pub mod resolver;
23+
pub mod type_alias;
24+
2325

2426
#[cfg(test)]
2527
mod test_db;

crates/ra_hir/src/type_alias.rs renamed to crates/ra_hir_def/src/type_alias.rs

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,24 @@
22
33
use std::sync::Arc;
44

5-
use hir_def::type_ref::TypeRef;
65
use hir_expand::name::{AsName, Name};
76

87
use ra_syntax::ast::NameOwner;
98

10-
use crate::{
11-
db::{AstDatabase, DefDatabase},
12-
HasSource, TypeAlias,
13-
};
9+
use crate::{db::DefDatabase2, type_ref::TypeRef, HasSource, Lookup, TypeAliasId};
1410

1511
#[derive(Debug, Clone, PartialEq, Eq)]
1612
pub struct TypeAliasData {
17-
pub(crate) name: Name,
18-
pub(crate) type_ref: Option<TypeRef>,
13+
pub name: Name,
14+
pub type_ref: Option<TypeRef>,
1915
}
2016

2117
impl TypeAliasData {
2218
pub(crate) fn type_alias_data_query(
23-
db: &(impl DefDatabase + AstDatabase),
24-
typ: TypeAlias,
19+
db: &impl DefDatabase2,
20+
typ: TypeAliasId,
2521
) -> Arc<TypeAliasData> {
26-
let node = typ.source(db).value;
22+
let node = typ.lookup(db).source(db).value;
2723
let name = node.name().map_or_else(Name::missing, |n| n.as_name());
2824
let type_ref = node.type_ref().map(TypeRef::from_ast);
2925
Arc::new(TypeAliasData { name, type_ref })

0 commit comments

Comments
 (0)