Skip to content

Commit 074474f

Browse files
bors[bot]matklad
andauthored
Merge #3427
3427: Rename NameDefinition -> Definition r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2 parents 7a322f9 + 34d6e22 commit 074474f

File tree

9 files changed

+104
-106
lines changed

9 files changed

+104
-106
lines changed

crates/ra_ide/src/display/navigation_target.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use ra_syntax::{
1313

1414
use crate::{
1515
// expand::original_range,
16-
references::NameDefinition,
16+
references::Definition,
1717
FileSymbol,
1818
};
1919

@@ -189,15 +189,15 @@ impl ToNav for FileSymbol {
189189
}
190190
}
191191

192-
impl TryToNav for NameDefinition {
192+
impl TryToNav for Definition {
193193
fn try_to_nav(&self, db: &RootDatabase) -> Option<NavigationTarget> {
194194
match self {
195-
NameDefinition::Macro(it) => Some(it.to_nav(db)),
196-
NameDefinition::StructField(it) => Some(it.to_nav(db)),
197-
NameDefinition::ModuleDef(it) => it.try_to_nav(db),
198-
NameDefinition::SelfType(it) => Some(it.to_nav(db)),
199-
NameDefinition::Local(it) => Some(it.to_nav(db)),
200-
NameDefinition::TypeParam(it) => Some(it.to_nav(db)),
195+
Definition::Macro(it) => Some(it.to_nav(db)),
196+
Definition::StructField(it) => Some(it.to_nav(db)),
197+
Definition::ModuleDef(it) => it.try_to_nav(db),
198+
Definition::SelfType(it) => Some(it.to_nav(db)),
199+
Definition::Local(it) => Some(it.to_nav(db)),
200+
Definition::TypeParam(it) => Some(it.to_nav(db)),
201201
}
202202
}
203203
}

crates/ra_ide/src/hover.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
33
use hir::{Adt, HasSource, HirDisplay, Semantics};
44
use ra_ide_db::{
5-
defs::{classify_name, NameDefinition},
5+
defs::{classify_name, Definition},
66
RootDatabase,
77
};
88
use ra_syntax::{
@@ -92,20 +92,20 @@ fn hover_text(docs: Option<String>, desc: Option<String>) -> Option<String> {
9292
}
9393
}
9494

95-
fn hover_text_from_name_kind(db: &RootDatabase, def: NameDefinition) -> Option<String> {
95+
fn hover_text_from_name_kind(db: &RootDatabase, def: Definition) -> Option<String> {
9696
return match def {
97-
NameDefinition::Macro(it) => {
97+
Definition::Macro(it) => {
9898
let src = it.source(db);
9999
hover_text(src.value.doc_comment_text(), Some(macro_label(&src.value)))
100100
}
101-
NameDefinition::StructField(it) => {
101+
Definition::StructField(it) => {
102102
let src = it.source(db);
103103
match src.value {
104104
hir::FieldSource::Named(it) => hover_text(it.doc_comment_text(), it.short_label()),
105105
_ => None,
106106
}
107107
}
108-
NameDefinition::ModuleDef(it) => match it {
108+
Definition::ModuleDef(it) => match it {
109109
hir::ModuleDef::Module(it) => match it.definition_source(db).value {
110110
hir::ModuleSource::Module(it) => {
111111
hover_text(it.doc_comment_text(), it.short_label())
@@ -123,10 +123,10 @@ fn hover_text_from_name_kind(db: &RootDatabase, def: NameDefinition) -> Option<S
123123
hir::ModuleDef::TypeAlias(it) => from_def_source(db, it),
124124
hir::ModuleDef::BuiltinType(it) => Some(it.to_string()),
125125
},
126-
NameDefinition::Local(it) => {
126+
Definition::Local(it) => {
127127
Some(rust_code_markup(it.ty(db).display_truncated(db, None).to_string()))
128128
}
129-
NameDefinition::TypeParam(_) | NameDefinition::SelfType(_) => {
129+
Definition::TypeParam(_) | Definition::SelfType(_) => {
130130
// FIXME: Hover for generic param
131131
None
132132
}

crates/ra_ide/src/references.rs

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ pub(crate) use self::{
3131
classify::{classify_name_ref, NameRefClass},
3232
rename::rename,
3333
};
34-
pub(crate) use ra_ide_db::defs::{classify_name, NameDefinition};
34+
pub(crate) use ra_ide_db::defs::{classify_name, Definition};
3535

3636
pub use self::search_scope::SearchScope;
3737

@@ -145,7 +145,7 @@ pub(crate) fn find_all_refs(
145145

146146
pub(crate) fn find_refs_to_def(
147147
db: &RootDatabase,
148-
def: &NameDefinition,
148+
def: &Definition,
149149
search_scope: Option<SearchScope>,
150150
) -> Vec<Reference> {
151151
let search_scope = {
@@ -169,7 +169,7 @@ fn find_name(
169169
syntax: &SyntaxNode,
170170
position: FilePosition,
171171
opt_name: Option<ast::Name>,
172-
) -> Option<RangeInfo<NameDefinition>> {
172+
) -> Option<RangeInfo<Definition>> {
173173
if let Some(name) = opt_name {
174174
let def = classify_name(sema, &name)?.definition();
175175
let range = name.syntax().text_range();
@@ -183,7 +183,7 @@ fn find_name(
183183

184184
fn process_definition(
185185
db: &RootDatabase,
186-
def: &NameDefinition,
186+
def: &Definition,
187187
name: String,
188188
scope: SearchScope,
189189
) -> Vec<Reference> {
@@ -250,13 +250,9 @@ fn process_definition(
250250
refs
251251
}
252252

253-
fn decl_access(
254-
def: &NameDefinition,
255-
syntax: &SyntaxNode,
256-
range: TextRange,
257-
) -> Option<ReferenceAccess> {
253+
fn decl_access(def: &Definition, syntax: &SyntaxNode, range: TextRange) -> Option<ReferenceAccess> {
258254
match def {
259-
NameDefinition::Local(_) | NameDefinition::StructField(_) => {}
255+
Definition::Local(_) | Definition::StructField(_) => {}
260256
_ => return None,
261257
};
262258

@@ -273,10 +269,10 @@ fn decl_access(
273269
None
274270
}
275271

276-
fn reference_access(def: &NameDefinition, name_ref: &ast::NameRef) -> Option<ReferenceAccess> {
272+
fn reference_access(def: &Definition, name_ref: &ast::NameRef) -> Option<ReferenceAccess> {
277273
// Only Locals and Fields have accesses for now.
278274
match def {
279-
NameDefinition::Local(_) | NameDefinition::StructField(_) => {}
275+
Definition::Local(_) | Definition::StructField(_) => {}
280276
_ => return None,
281277
};
282278

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
//! Functions that are used to classify an element from its definition or reference.
22
33
use hir::{Local, PathResolution, Semantics};
4-
use ra_ide_db::defs::NameDefinition;
4+
use ra_ide_db::defs::Definition;
55
use ra_ide_db::RootDatabase;
66
use ra_prof::profile;
77
use ra_syntax::{ast, AstNode};
88
use test_utils::tested_by;
99

1010
pub enum NameRefClass {
11-
NameDefinition(NameDefinition),
12-
FieldShorthand { local: Local, field: NameDefinition },
11+
Definition(Definition),
12+
FieldShorthand { local: Local, field: Definition },
1313
}
1414

1515
impl NameRefClass {
16-
pub fn definition(self) -> NameDefinition {
16+
pub fn definition(self) -> Definition {
1717
match self {
18-
NameRefClass::NameDefinition(def) => def,
19-
NameRefClass::FieldShorthand { local, field: _ } => NameDefinition::Local(local),
18+
NameRefClass::Definition(def) => def,
19+
NameRefClass::FieldShorthand { local, field: _ } => Definition::Local(local),
2020
}
2121
}
2222
}
@@ -32,24 +32,24 @@ pub(crate) fn classify_name_ref(
3232
if let Some(method_call) = ast::MethodCallExpr::cast(parent.clone()) {
3333
tested_by!(goto_def_for_methods);
3434
if let Some(func) = sema.resolve_method_call(&method_call) {
35-
return Some(NameRefClass::NameDefinition(NameDefinition::ModuleDef(func.into())));
35+
return Some(NameRefClass::Definition(Definition::ModuleDef(func.into())));
3636
}
3737
}
3838

3939
if let Some(field_expr) = ast::FieldExpr::cast(parent.clone()) {
4040
tested_by!(goto_def_for_fields);
4141
if let Some(field) = sema.resolve_field(&field_expr) {
42-
return Some(NameRefClass::NameDefinition(NameDefinition::StructField(field)));
42+
return Some(NameRefClass::Definition(Definition::StructField(field)));
4343
}
4444
}
4545

4646
if let Some(record_field) = ast::RecordField::cast(parent.clone()) {
4747
tested_by!(goto_def_for_record_fields);
4848
tested_by!(goto_def_for_field_init_shorthand);
4949
if let Some((field, local)) = sema.resolve_record_field(&record_field) {
50-
let field = NameDefinition::StructField(field);
50+
let field = Definition::StructField(field);
5151
let res = match local {
52-
None => NameRefClass::NameDefinition(field),
52+
None => NameRefClass::Definition(field),
5353
Some(local) => NameRefClass::FieldShorthand { field, local },
5454
};
5555
return Some(res);
@@ -59,26 +59,26 @@ pub(crate) fn classify_name_ref(
5959
if let Some(macro_call) = parent.ancestors().find_map(ast::MacroCall::cast) {
6060
tested_by!(goto_def_for_macros);
6161
if let Some(macro_def) = sema.resolve_macro_call(&macro_call) {
62-
return Some(NameRefClass::NameDefinition(NameDefinition::Macro(macro_def)));
62+
return Some(NameRefClass::Definition(Definition::Macro(macro_def)));
6363
}
6464
}
6565

6666
let path = name_ref.syntax().ancestors().find_map(ast::Path::cast)?;
6767
let resolved = sema.resolve_path(&path)?;
6868
let res = match resolved {
69-
PathResolution::Def(def) => NameDefinition::ModuleDef(def),
69+
PathResolution::Def(def) => Definition::ModuleDef(def),
7070
PathResolution::AssocItem(item) => {
7171
let def = match item {
7272
hir::AssocItem::Function(it) => it.into(),
7373
hir::AssocItem::Const(it) => it.into(),
7474
hir::AssocItem::TypeAlias(it) => it.into(),
7575
};
76-
NameDefinition::ModuleDef(def)
76+
Definition::ModuleDef(def)
7777
}
78-
PathResolution::Local(local) => NameDefinition::Local(local),
79-
PathResolution::TypeParam(par) => NameDefinition::TypeParam(par),
80-
PathResolution::Macro(def) => NameDefinition::Macro(def),
81-
PathResolution::SelfType(impl_def) => NameDefinition::SelfType(impl_def),
78+
PathResolution::Local(local) => Definition::Local(local),
79+
PathResolution::TypeParam(par) => Definition::TypeParam(par),
80+
PathResolution::Macro(def) => Definition::Macro(def),
81+
PathResolution::SelfType(impl_def) => Definition::SelfType(impl_def),
8282
};
83-
Some(NameRefClass::NameDefinition(res))
83+
Some(NameRefClass::Definition(res))
8484
}

crates/ra_ide/src/references/search_scope.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ use rustc_hash::FxHashMap;
1212

1313
use ra_ide_db::RootDatabase;
1414

15-
use super::NameDefinition;
15+
use super::Definition;
1616

1717
pub struct SearchScope {
1818
entries: FxHashMap<FileId, Option<TextRange>>,
@@ -23,7 +23,7 @@ impl SearchScope {
2323
SearchScope { entries: FxHashMap::default() }
2424
}
2525

26-
pub(crate) fn for_def(def: &NameDefinition, db: &RootDatabase) -> SearchScope {
26+
pub(crate) fn for_def(def: &Definition, db: &RootDatabase) -> SearchScope {
2727
let _p = profile("search_scope");
2828
let module = match def.module(db) {
2929
Some(it) => it,
@@ -32,7 +32,7 @@ impl SearchScope {
3232
let module_src = module.definition_source(db);
3333
let file_id = module_src.file_id.original_file(db);
3434

35-
if let NameDefinition::Local(var) = def {
35+
if let Definition::Local(var) = def {
3636
let range = match var.parent(db) {
3737
DefWithBody::Function(f) => f.source(db).value.syntax().text_range(),
3838
DefWithBody::Const(c) => c.source(db).value.syntax().text_range(),

crates/ra_ide/src/syntax_highlighting.rs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ mod tests;
77

88
use hir::{Name, Semantics};
99
use ra_ide_db::{
10-
defs::{classify_name, NameClass, NameDefinition},
10+
defs::{classify_name, Definition, NameClass},
1111
RootDatabase,
1212
};
1313
use ra_prof::profile;
@@ -172,7 +172,7 @@ fn highlight_element(
172172
let name = element.into_node().and_then(ast::Name::cast).unwrap();
173173
let name_kind = classify_name(sema, &name);
174174

175-
if let Some(NameClass::NameDefinition(NameDefinition::Local(local))) = &name_kind {
175+
if let Some(NameClass::Definition(Definition::Local(local))) = &name_kind {
176176
if let Some(name) = local.name(db) {
177177
let shadow_count = bindings_shadow_count.entry(name.clone()).or_default();
178178
*shadow_count += 1;
@@ -181,7 +181,7 @@ fn highlight_element(
181181
};
182182

183183
match name_kind {
184-
Some(NameClass::NameDefinition(def)) => {
184+
Some(NameClass::Definition(def)) => {
185185
highlight_name(db, def) | HighlightModifier::Definition
186186
}
187187
Some(NameClass::ConstReference(def)) => highlight_name(db, def),
@@ -196,8 +196,8 @@ fn highlight_element(
196196
let name_kind = classify_name_ref(sema, &name_ref)?;
197197

198198
match name_kind {
199-
NameRefClass::NameDefinition(def) => {
200-
if let NameDefinition::Local(local) = &def {
199+
NameRefClass::Definition(def) => {
200+
if let Definition::Local(local) = &def {
201201
if let Some(name) = local.name(db) {
202202
let shadow_count =
203203
bindings_shadow_count.entry(name.clone()).or_default();
@@ -260,11 +260,11 @@ fn highlight_element(
260260
}
261261
}
262262

263-
fn highlight_name(db: &RootDatabase, def: NameDefinition) -> Highlight {
263+
fn highlight_name(db: &RootDatabase, def: Definition) -> Highlight {
264264
match def {
265-
NameDefinition::Macro(_) => HighlightTag::Macro,
266-
NameDefinition::StructField(_) => HighlightTag::Field,
267-
NameDefinition::ModuleDef(def) => match def {
265+
Definition::Macro(_) => HighlightTag::Macro,
266+
Definition::StructField(_) => HighlightTag::Field,
267+
Definition::ModuleDef(def) => match def {
268268
hir::ModuleDef::Module(_) => HighlightTag::Module,
269269
hir::ModuleDef::Function(_) => HighlightTag::Function,
270270
hir::ModuleDef::Adt(hir::Adt::Struct(_)) => HighlightTag::Struct,
@@ -277,10 +277,10 @@ fn highlight_name(db: &RootDatabase, def: NameDefinition) -> Highlight {
277277
hir::ModuleDef::TypeAlias(_) => HighlightTag::TypeAlias,
278278
hir::ModuleDef::BuiltinType(_) => HighlightTag::BuiltinType,
279279
},
280-
NameDefinition::SelfType(_) => HighlightTag::SelfType,
281-
NameDefinition::TypeParam(_) => HighlightTag::TypeParam,
280+
Definition::SelfType(_) => HighlightTag::SelfType,
281+
Definition::TypeParam(_) => HighlightTag::TypeParam,
282282
// FIXME: distinguish between locals and parameters
283-
NameDefinition::Local(local) => {
283+
Definition::Local(local) => {
284284
let mut h = Highlight::new(HighlightTag::Local);
285285
if local.is_mut(db) || local.ty(db).is_mutable_reference() {
286286
h |= HighlightModifier::Mutable;

0 commit comments

Comments
 (0)