Skip to content

Commit 857e0e5

Browse files
ndmitchellfacebook-github-bot
authored andcommitted
Rename find_definition to find_definition_at_location
Summary: A better name for it. Reviewed By: bobyangyf Differential Revision: D47194443 fbshipit-source-id: fba5b53b1d543f3c68b096e2c5a33c6f36743a7d
1 parent d277801 commit 857e0e5

File tree

2 files changed

+55
-24
lines changed

2 files changed

+55
-24
lines changed

starlark/src/lsp/definition.rs

Lines changed: 54 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ use crate::syntax::ast::StmtP;
4040
use crate::syntax::uniplate::Visit;
4141
use crate::syntax::AstModule;
4242

43-
/// The location of a definition for a given identifier. See [`AstModule::find_definition`].
43+
/// The location of a definition for a given identifier. See [`AstModule::find_definition_at_location`].
4444
#[derive(Debug, Clone, Eq, PartialEq)]
4545
pub(crate) enum IdentifierDefinition {
4646
/// The definition was found at this location in the current file.
@@ -224,7 +224,7 @@ impl LspModule {
224224
///
225225
/// This method also handles scoping properly (i.e. an access of "foo" in a function
226226
/// will return location of the parameter "foo", even if there is a global called "foo").
227-
pub(crate) fn find_definition(&self, line: u32, col: u32) -> Definition {
227+
pub(crate) fn find_definition_at_location(&self, line: u32, col: u32) -> Definition {
228228
// TODO(nmj): This should probably just store references to all of the AST nodes
229229
// when the LSPModule object is created, and then we can do a much faster
230230
// lookup, especially in cases where a file has not been changed, so the
@@ -501,8 +501,11 @@ impl LspModule {
501501
symbol_to_lookup
502502
.and_then(|span| {
503503
let resolved = self.ast.codemap.resolve_span(span);
504-
self.find_definition(resolved.begin_line as u32, resolved.begin_column as u32)
505-
.local_destination()
504+
self.find_definition_at_location(
505+
resolved.begin_line as u32,
506+
resolved.begin_column as u32,
507+
)
508+
.local_destination()
506509
})
507510
.or_else(|| match (arg_span, identifier_span) {
508511
(Some(span), _) => Some(self.ast.codemap.resolve_span(span)),
@@ -807,15 +810,15 @@ mod test {
807810
.into();
808811
assert_eq!(
809812
expected,
810-
module.find_definition(parsed.begin_line("p1"), parsed.begin_column("p1"))
813+
module.find_definition_at_location(parsed.begin_line("p1"), parsed.begin_column("p1"))
811814
);
812815
assert_eq!(
813816
expected,
814-
module.find_definition(parsed.begin_line("p2"), parsed.begin_column("p2"))
817+
module.find_definition_at_location(parsed.begin_line("p2"), parsed.begin_column("p2"))
815818
);
816819
assert_eq!(
817820
expected,
818-
module.find_definition(parsed.begin_line("p3"), parsed.begin_column("p3"))
821+
module.find_definition_at_location(parsed.begin_line("p3"), parsed.begin_column("p3"))
819822
);
820823
Ok(())
821824
}
@@ -856,28 +859,28 @@ mod test {
856859

857860
assert_eq!(
858861
expected_add,
859-
module.find_definition(parsed.begin_line("a1"), parsed.begin_column("a1"))
862+
module.find_definition_at_location(parsed.begin_line("a1"), parsed.begin_column("a1"))
860863
);
861864
assert_eq!(
862865
expected_add,
863-
module.find_definition(parsed.begin_line("a2"), parsed.begin_column("a2"))
866+
module.find_definition_at_location(parsed.begin_line("a2"), parsed.begin_column("a2"))
864867
);
865868
assert_eq!(
866869
expected_add,
867-
module.find_definition(parsed.begin_line("a3"), parsed.begin_column("a3"))
870+
module.find_definition_at_location(parsed.begin_line("a3"), parsed.begin_column("a3"))
868871
);
869872

870873
assert_eq!(
871874
expected_invalid,
872-
module.find_definition(parsed.begin_line("i1"), parsed.begin_column("i1"))
875+
module.find_definition_at_location(parsed.begin_line("i1"), parsed.begin_column("i1"))
873876
);
874877
assert_eq!(
875878
expected_invalid,
876-
module.find_definition(parsed.begin_line("i2"), parsed.begin_column("i2"))
879+
module.find_definition_at_location(parsed.begin_line("i2"), parsed.begin_column("i2"))
877880
);
878881
assert_eq!(
879882
expected_invalid,
880-
module.find_definition(parsed.begin_line("i3"), parsed.begin_column("i3"))
883+
module.find_definition_at_location(parsed.begin_line("i3"), parsed.begin_column("i3"))
881884
);
882885
Ok(())
883886
}
@@ -912,7 +915,10 @@ mod test {
912915
source: parsed.span("x_param"),
913916
destination: parsed.span("x")
914917
}),
915-
module.find_definition(parsed.begin_line("x_param"), parsed.begin_column("x_param"))
918+
module.find_definition_at_location(
919+
parsed.begin_line("x_param"),
920+
parsed.begin_column("x_param")
921+
)
916922
);
917923
Ok(())
918924
}
@@ -947,29 +953,41 @@ mod test {
947953
source: parsed.span("x_var"),
948954
destination: parsed.span("x")
949955
}),
950-
module.find_definition(parsed.begin_line("x_var"), parsed.begin_column("x_var"))
956+
module.find_definition_at_location(
957+
parsed.begin_line("x_var"),
958+
parsed.begin_column("x_var")
959+
)
951960
);
952961
assert_eq!(
953962
Definition::from(IdentifierDefinition::Location {
954963
source: parsed.span("y_var1"),
955964
destination: parsed.span("y2")
956965
}),
957-
module.find_definition(parsed.begin_line("y_var1"), parsed.begin_column("y_var1"))
966+
module.find_definition_at_location(
967+
parsed.begin_line("y_var1"),
968+
parsed.begin_column("y_var1")
969+
)
958970
);
959971

960972
assert_eq!(
961973
Definition::from(IdentifierDefinition::Location {
962974
source: parsed.span("y_var2"),
963975
destination: parsed.span("y1")
964976
}),
965-
module.find_definition(parsed.begin_line("y_var2"), parsed.begin_column("y_var2"))
977+
module.find_definition_at_location(
978+
parsed.begin_line("y_var2"),
979+
parsed.begin_column("y_var2")
980+
)
966981
);
967982
assert_eq!(
968983
Definition::from(IdentifierDefinition::Unresolved {
969984
source: parsed.span("z_var"),
970985
name: "z".to_owned()
971986
}),
972-
module.find_definition(parsed.begin_line("z_var"), parsed.begin_column("z_var"))
987+
module.find_definition_at_location(
988+
parsed.begin_line("z_var"),
989+
parsed.begin_column("z_var")
990+
)
973991
);
974992
Ok(())
975993
}
@@ -1001,7 +1019,10 @@ mod test {
10011019

10021020
assert_eq!(
10031021
Definition::from(IdentifierDefinition::NotFound),
1004-
module.find_definition(parsed.begin_line("no_def"), parsed.begin_column("no_def"))
1022+
module.find_definition_at_location(
1023+
parsed.begin_line("no_def"),
1024+
parsed.begin_column("no_def")
1025+
)
10051026
);
10061027

10071028
Ok(())
@@ -1060,7 +1081,8 @@ mod test {
10601081
source: parsed.span(&format!("{}_click", name)),
10611082
literal: name.to_owned(),
10621083
});
1063-
let actual = module.find_definition(parsed.begin_line(name), parsed.begin_column(name));
1084+
let actual = module
1085+
.find_definition_at_location(parsed.begin_line(name), parsed.begin_column(name));
10641086

10651087
assert_eq!(
10661088
expected, actual,
@@ -1123,7 +1145,10 @@ mod test {
11231145
};
11241146

11251147
let find_definition = |span_id: &str| {
1126-
module.find_definition(parsed.begin_line(span_id), parsed.begin_column(span_id))
1148+
module.find_definition_at_location(
1149+
parsed.begin_line(span_id),
1150+
parsed.begin_column(span_id),
1151+
)
11271152
};
11281153

11291154
let expected_foo = expected("foo", &["foo"]);
@@ -1177,7 +1202,10 @@ mod test {
11771202
};
11781203

11791204
let find_definition = |span_id: &str| {
1180-
module.find_definition(parsed.begin_line(span_id), parsed.begin_column(span_id))
1205+
module.find_definition_at_location(
1206+
parsed.begin_line(span_id),
1207+
parsed.begin_column(span_id),
1208+
)
11811209
};
11821210

11831211
let expected_foo = expected("foo", &["foo"]);
@@ -1228,7 +1256,10 @@ mod test {
12281256
};
12291257

12301258
let find_definition = |span_id: &str| {
1231-
module.find_definition(parsed.begin_line(span_id), parsed.begin_column(span_id))
1259+
module.find_definition_at_location(
1260+
parsed.begin_line(span_id),
1261+
parsed.begin_column(span_id),
1262+
)
12321263
};
12331264

12341265
let expected_foo = expected("foo", &["foo"]);

starlark/src/lsp/server.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -549,7 +549,7 @@ impl<T: LspContext> Backend<T> {
549549

550550
let location = match self.get_ast(&uri) {
551551
Some(ast) => {
552-
let location = ast.find_definition(line, character);
552+
let location = ast.find_definition_at_location(line, character);
553553
let source = location.source().unwrap_or_default();
554554
match location {
555555
Definition::Identifier(definition) => {

0 commit comments

Comments
 (0)