@@ -1001,25 +1001,6 @@ type internal CrossReferenceResolver(root, collectionName, qualify, extensions)
1001
1001
let simple = getMemberName 1 false typeName
1002
1002
externalDocsLink false simple typeName typeName
1003
1003
1004
- // If there's a quicker way to search an FSharpEntity for members then this linear
1005
- // search can disappear - see usage below in tryResolveCrossReferenceForMemberByXmlSig
1006
- // It's like writing C#...
1007
- let findIList ( list : IList < 'T >) ( p : ( 'T -> bool )) =
1008
- let n = list.Count
1009
- let mutable i = 0
1010
- let mutable result : 'T option = None
1011
-
1012
- while i < n do
1013
- let item = list.[ i]
1014
-
1015
- if p item then
1016
- i <- n
1017
- result <- Some item
1018
-
1019
- i <- i + 1
1020
-
1021
- result
1022
-
1023
1004
let mfvToCref ( mfv : FSharpMemberOrFunctionOrValue ) =
1024
1005
let entityUrlBaseName = getUrlBaseNameForRegisteredEntity mfv.DeclaringEntity.Value
1025
1006
@@ -1051,13 +1032,16 @@ type internal CrossReferenceResolver(root, collectionName, qualify, extensions)
1051
1032
// See if we find the member that was intended, otherwise default to containing entity
1052
1033
tryGetShortMemberNameFromMemberName memberName
1053
1034
|> Option.bind ( fun shortName ->
1054
- findIList ( entity.MembersFunctionsAndValues) ( fun mfv -> mfv.DisplayName = shortName))
1055
- |> Option.map mfvToCref
1056
- |> Option.defaultValue
1057
- { IsInternal = true
1058
- ReferenceLink = internalCrossReference urlBaseName
1059
- NiceName = getMemberName 2 entity.HasFSharpModuleSuffix memberName }
1060
- |> Some
1035
+ entity.MembersFunctionsAndValues
1036
+ |> Seq.tryFind ( fun mfv -> mfv.DisplayName = shortName))
1037
+ |> function
1038
+ | Some mb -> Some( mfvToCref mb)
1039
+ | None ->
1040
+ Some
1041
+ { IsInternal = true
1042
+ ReferenceLink = internalCrossReference urlBaseName
1043
+ NiceName = getMemberName 2 entity.HasFSharpModuleSuffix memberName }
1044
+
1061
1045
| _ ->
1062
1046
// A reference to something external, currently assumed to be in .NET
1063
1047
let simple = getMemberName 2 false memberName
0 commit comments