diff --git a/compiler/crates/relay-lsp/src/docblock_resolution_info.rs b/compiler/crates/relay-lsp/src/docblock_resolution_info.rs index 202462aaa5612..3fde91a70f425 100644 --- a/compiler/crates/relay-lsp/src/docblock_resolution_info.rs +++ b/compiler/crates/relay-lsp/src/docblock_resolution_info.rs @@ -15,11 +15,9 @@ use crate::LSPRuntimeError; use crate::LSPRuntimeResult; pub enum DocblockResolutionInfo { - OnType(StringKey), - OnInterface(StringKey), + Type(StringKey), RootFragment(FragmentDefinitionName), FieldName(StringKey), - OutputType(StringKey), Deprecated, } @@ -32,15 +30,16 @@ pub fn create_docblock_resolution_info( match resolver_ir.on { On::Type(on_type) => { if on_type.value.location.contains(position_span) { - return Ok(DocblockResolutionInfo::OnType(on_type.value.item)); + return Ok(DocblockResolutionInfo::Type(on_type.value.item)); } } On::Interface(on_interface) => { if on_interface.value.location.contains(position_span) { - return Ok(DocblockResolutionInfo::OnInterface(on_interface.value.item)); + return Ok(DocblockResolutionInfo::Type(on_interface.value.item)); } } }; + if let Some(root_fragment) = resolver_ir.root_fragment { if root_fragment.location.contains(position_span) { return Ok(DocblockResolutionInfo::RootFragment(root_fragment.item)); @@ -55,7 +54,7 @@ pub fn create_docblock_resolution_info( if let Some(output_type) = &resolver_ir.output_type { if output_type.inner().location.contains(position_span) { - return Ok(DocblockResolutionInfo::OutputType( + return Ok(DocblockResolutionInfo::Type( output_type.inner().item.inner().name.value, )); } @@ -71,9 +70,7 @@ pub fn create_docblock_resolution_info( } DocblockIr::StrongObjectResolver(strong_object) => { if strong_object.type_.value.location.contains(position_span) { - return Ok(DocblockResolutionInfo::OnType( - strong_object.type_.value.item, - )); + return Ok(DocblockResolutionInfo::Type(strong_object.type_.value.item)); } if let Some(deprecated) = strong_object.deprecated { @@ -90,7 +87,7 @@ pub fn create_docblock_resolution_info( .location .contains(position_span) { - return Ok(DocblockResolutionInfo::OnType( + return Ok(DocblockResolutionInfo::Type( weak_type_ir.type_name.value.item, )); } diff --git a/compiler/crates/relay-lsp/src/goto_definition/goto_docblock_definition.rs b/compiler/crates/relay-lsp/src/goto_definition/goto_docblock_definition.rs index 9c146fa43611b..8b7694c741c74 100644 --- a/compiler/crates/relay-lsp/src/goto_definition/goto_docblock_definition.rs +++ b/compiler/crates/relay-lsp/src/goto_definition/goto_docblock_definition.rs @@ -20,13 +20,7 @@ pub fn get_docblock_definition_description( ) -> LSPRuntimeResult { let resolution = create_docblock_resolution_info(docblock_ir, position_span)?; match resolution { - DocblockResolutionInfo::OnType(type_name) => Ok(DefinitionDescription::Type { type_name }), - DocblockResolutionInfo::OnInterface(interface_name) => Ok(DefinitionDescription::Type { - type_name: interface_name, - }), - DocblockResolutionInfo::OutputType(edge_type) => Ok(DefinitionDescription::Type { - type_name: edge_type, - }), + DocblockResolutionInfo::Type(type_name) => Ok(DefinitionDescription::Type { type_name }), DocblockResolutionInfo::RootFragment(fragment_name) => { Ok(DefinitionDescription::Fragment { fragment_name }) }