Skip to content

Commit 2f9e88a

Browse files
tobias-tenglerfacebook-github-bot
authored andcommitted
Fix goto references for TerseRelayResolver (#4587)
Summary: Pull Request resolved: #4587 Reviewed By: alunyov Differential Revision: D52886363 Pulled By: captbaritone fbshipit-source-id: 24eccce3c150482525983475253849dda5751864
1 parent 1b58844 commit 2f9e88a

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

compiler/crates/relay-lsp/src/docblock_resolution_info.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,18 +37,21 @@ pub fn create_docblock_resolution_info(
3737
}
3838
};
3939

40+
// Root fragment
4041
if let Some(root_fragment) = resolver_ir.root_fragment {
4142
if root_fragment.location.contains(position_span) {
4243
return Some(DocblockResolutionInfo::RootFragment(root_fragment.item));
4344
}
4445
}
4546

47+
// Field name
4648
if resolver_ir.field.name.span.contains(position_span) {
4749
return Some(DocblockResolutionInfo::FieldName(
4850
resolver_ir.field.name.value,
4951
));
5052
}
5153

54+
// Return type
5255
if let Some(output_type) = &resolver_ir.output_type {
5356
if output_type.inner().location.contains(position_span) {
5457
return Some(DocblockResolutionInfo::Type(
@@ -57,6 +60,7 @@ pub fn create_docblock_resolution_info(
5760
}
5861
}
5962

63+
// @deprecated key
6064
if let Some(deprecated) = resolver_ir.deprecated {
6165
if deprecated.key_location().contains(position_span) {
6266
return Some(DocblockResolutionInfo::Deprecated);
@@ -89,6 +93,13 @@ pub fn create_docblock_resolution_info(
8993
}
9094
}
9195

96+
// Field name
97+
if resolver_ir.field.name.span.contains(position_span) {
98+
return Some(DocblockResolutionInfo::FieldName(
99+
resolver_ir.field.name.value,
100+
));
101+
}
102+
92103
// @deprecated key
93104
if let Some(deprecated) = resolver_ir.deprecated {
94105
if deprecated.key_location().contains(position_span) {

compiler/crates/relay-lsp/src/references/mod.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,7 @@ fn get_references_response(
8080
On::Type(type_) => type_.value.item,
8181
On::Interface(interface) => interface.value.item,
8282
},
83-
DocblockIr::TerseRelayResolver(_) => {
84-
// TODO: Implement support for terse relay resolvers.
85-
return Err(LSPRuntimeError::ExpectedError);
86-
}
83+
DocblockIr::TerseRelayResolver(terse_resolver) => terse_resolver.type_.item,
8784
DocblockIr::StrongObjectResolver(_) => {
8885
// TODO: Implement support for strong object.
8986
return Err(LSPRuntimeError::ExpectedError);

0 commit comments

Comments
 (0)