From 31f66055f85e4999288a5584609ff4bb73abf59c Mon Sep 17 00:00:00 2001 From: nojaf Date: Mon, 8 May 2023 12:11:42 +0200 Subject: [PATCH] Filter out IExceptionFieldDeclaration for IExceptionDeclaration. --- .../FSharp.Common/src/Settings/FSharpOptionsPageBase.fs | 4 ++-- .../src/Generate/GenerateSignatureProvider.fs | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ReSharper.FSharp/src/FSharp.Common/src/Settings/FSharpOptionsPageBase.fs b/ReSharper.FSharp/src/FSharp.Common/src/Settings/FSharpOptionsPageBase.fs index 9d724d5585..be57ee7b4c 100644 --- a/ReSharper.FSharp/src/FSharp.Common/src/Settings/FSharpOptionsPageBase.fs +++ b/ReSharper.FSharp/src/FSharp.Common/src/Settings/FSharpOptionsPageBase.fs @@ -20,11 +20,11 @@ type FSharpOptionsPageBase(lifetime, optionsPageContext, settings) = member x.AddString(text: string, getter: Expression>) = x.AddString(text, settings.GetValueProperty(lifetime, getter)) - member x.AddDescription(text) = + member x.AddDescription(text: string) = use indent = x.Indent() x.AddRichText(RichText(text)) |> ignore - member x.AddBool(text, property: IProperty<_>) = + member x.AddBool(text: string, property: IProperty<_>) = x.AddBoolOption(property, RichText(text), text) |> ignore member x.AddHeader(text: string) = diff --git a/ReSharper.FSharp/src/FSharp.Psi.Services/src/Generate/GenerateSignatureProvider.fs b/ReSharper.FSharp/src/FSharp.Psi.Services/src/Generate/GenerateSignatureProvider.fs index db12fb4188..92533863fb 100644 --- a/ReSharper.FSharp/src/FSharp.Psi.Services/src/Generate/GenerateSignatureProvider.fs +++ b/ReSharper.FSharp/src/FSharp.Psi.Services/src/Generate/GenerateSignatureProvider.fs @@ -192,7 +192,12 @@ type FSharpGenerateSignatureBuilder() = factory.CreateTypeMemberSignature(sigStrings) | :? IExceptionDeclaration as exceptionDeclaration -> let sigExceptionDeclaration = exceptionDeclaration.Copy() - if not (Seq.isEmpty exceptionDeclaration.MemberDeclarations) then + let memberDeclarations = + exceptionDeclaration.MemberDeclarations + |> Seq.filter (function | :? IExceptionFieldDeclaration -> false | _ -> true) + |> Seq.toArray + + if memberDeclarations.Length > 0 then let sigMembers = exceptionDeclaration.TypeMembers |> Seq.choose (createMemberDeclaration >> Option.ofObj)