diff --git a/src/fsharp/symbols/Symbols.fs b/src/fsharp/symbols/Symbols.fs index 2e1817407dd..449bae4a929 100644 --- a/src/fsharp/symbols/Symbols.fs +++ b/src/fsharp/symbols/Symbols.fs @@ -1235,6 +1235,10 @@ type FSharpField(cenv: SymbolEnv, d: FSharpFieldData) = member private x.V = d + member x.AsType() = + let ty = generalizedTyconRef entity + FSharpType(cenv, ty) + override x.Equals(other: obj) = box x === other || match other with diff --git a/src/fsharp/symbols/Symbols.fsi b/src/fsharp/symbols/Symbols.fsi index 99a7a4a53b6..038225ae0d0 100644 --- a/src/fsharp/symbols/Symbols.fsi +++ b/src/fsharp/symbols/Symbols.fsi @@ -364,6 +364,8 @@ type FSharpEntity = /// Get the source text of the entity's signature to be used as metadata. member TryGetMetadataText: unit -> ISourceText option + member AsType: unit -> FSharpType + /// Represents a delegate signature in an F# symbol [] type FSharpDelegateSignature =