From 9e096125e9c5a2c7defa3f19ddecdaeaf4d63b13 Mon Sep 17 00:00:00 2001 From: Will Smith Date: Tue, 5 Jan 2021 09:21:24 -0800 Subject: [PATCH] Fixed find all references on properties (#10836) --- src/fsharp/service/ItemKey.fs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/fsharp/service/ItemKey.fs b/src/fsharp/service/ItemKey.fs index 6c0572cdb64..a89aa2a5ce2 100644 --- a/src/fsharp/service/ItemKey.fs +++ b/src/fsharp/service/ItemKey.fs @@ -295,7 +295,16 @@ and [] ItemKeyStoreBuilder() = match item with | Item.Value vref -> - writeValRef vref + if vref.IsPropertyGetterMethod || vref.IsPropertySetterMethod then + writeString ItemKeyTags.itemProperty + writeString vref.PropertyName + match vref.DeclaringEntity with + | ParentRef.Parent parent -> + writeEntityRef parent + | _ -> + () + else + writeValRef vref | Item.UnionCase(info, _) -> writeString ItemKeyTags.typeUnionCase @@ -352,8 +361,11 @@ and [] ItemKeyStoreBuilder() = | Item.Property(nm, infos) -> writeString ItemKeyTags.itemProperty writeString nm - infos - |> List.iter (fun info -> writeEntityRef info.DeclaringTyconRef) + match infos |> List.tryHead with + | Some info -> + writeEntityRef info.DeclaringTyconRef + | _ -> + () | Item.TypeVar(_, typar) -> writeTypar true typar