From 85029e611eef3673892e137b779907028f898b31 Mon Sep 17 00:00:00 2001 From: Mikayla Hutchinson Date: Sun, 16 Jun 2024 21:35:16 -0400 Subject: [PATCH] LSP Protocol: Suppress obsoletion propagation --- .../Protocol/Protocol/DocumentSymbolParams.cs | 8 +++++++- .../Extensions/Converters/VSExtensionUtilities.cs | 2 ++ .../Protocol/Protocol/Extensions/VSSymbolInformation.cs | 5 ++++- src/LanguageServer/Protocol/Protocol/Hover.cs | 2 ++ .../Internal/Converters/VSInternalExtensionUtilities.cs | 2 ++ .../Protocol/Protocol/Internal/VSInternalHover.cs | 2 ++ src/LanguageServer/Protocol/Protocol/Methods.Document.cs | 2 ++ src/LanguageServer/Protocol/Protocol/Methods.Workspace.cs | 2 ++ .../Protocol/Protocol/WorkspaceSymbolParams.cs | 7 ++++++- 9 files changed, 29 insertions(+), 3 deletions(-) diff --git a/src/LanguageServer/Protocol/Protocol/DocumentSymbolParams.cs b/src/LanguageServer/Protocol/Protocol/DocumentSymbolParams.cs index 91d3d74ebc085..dae611b223974 100644 --- a/src/LanguageServer/Protocol/Protocol/DocumentSymbolParams.cs +++ b/src/LanguageServer/Protocol/Protocol/DocumentSymbolParams.cs @@ -12,7 +12,11 @@ namespace Roslyn.LanguageServer.Protocol; /// See the Language Server Protocol specification for additional information. /// /// -internal class DocumentSymbolParams : ITextDocumentParams, IWorkDoneProgressParams, IPartialResultParams> +internal class DocumentSymbolParams + : ITextDocumentParams, IWorkDoneProgressParams, +#pragma warning disable CS0618 // SymbolInformation is obsolete but this class is not + IPartialResultParams> +#pragma warning restore CS0618 { /// /// Gets or sets the text document. @@ -32,5 +36,7 @@ public TextDocumentIdentifier TextDocument /// [JsonPropertyName(Methods.PartialResultTokenName)] [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] +#pragma warning disable CS0618 // SymbolInformation is obsolete but this property is not public IProgress>? PartialResultToken { get; set; } +#pragma warning restore CS0618 } diff --git a/src/LanguageServer/Protocol/Protocol/Extensions/Converters/VSExtensionUtilities.cs b/src/LanguageServer/Protocol/Protocol/Extensions/Converters/VSExtensionUtilities.cs index 0cd191528ca56..4db11ecf2f68b 100644 --- a/src/LanguageServer/Protocol/Protocol/Extensions/Converters/VSExtensionUtilities.cs +++ b/src/LanguageServer/Protocol/Protocol/Extensions/Converters/VSExtensionUtilities.cs @@ -34,7 +34,9 @@ private static void AddConverters(IList converters) TryAddConverter(); TryAddConverter(); TryAddConverter(); +#pragma warning disable CS0618 // SymbolInformation is obsolete but we need the converter regardless TryAddConverter(); +#pragma warning restore CS0618 TryAddConverter(); void TryAddConverter() diff --git a/src/LanguageServer/Protocol/Protocol/Extensions/VSSymbolInformation.cs b/src/LanguageServer/Protocol/Protocol/Extensions/VSSymbolInformation.cs index 84d77d40b6219..49d524328e2e1 100644 --- a/src/LanguageServer/Protocol/Protocol/Extensions/VSSymbolInformation.cs +++ b/src/LanguageServer/Protocol/Protocol/Extensions/VSSymbolInformation.cs @@ -9,7 +9,10 @@ namespace Roslyn.LanguageServer.Protocol /// /// extends providing additional properties used by Visual Studio. /// - internal class VSSymbolInformation : SymbolInformation + internal class VSSymbolInformation +#pragma warning disable CS0618 // SymbolInformation is obsolete but this class is not (yet) + : SymbolInformation +#pragma warning restore { /// /// Gets or sets the icon associated with the symbol. If specified, this icon is used instead of . diff --git a/src/LanguageServer/Protocol/Protocol/Hover.cs b/src/LanguageServer/Protocol/Protocol/Hover.cs index 82874f9c10149..0f73a4a751d67 100644 --- a/src/LanguageServer/Protocol/Protocol/Hover.cs +++ b/src/LanguageServer/Protocol/Protocol/Hover.cs @@ -19,7 +19,9 @@ internal class Hover /// [JsonPropertyName("contents")] [JsonRequired] +#pragma warning disable CS0618 // MarkedString is obsolete but this property is not public SumType[], MarkupContent> Contents { get; set; } +#pragma warning restore CS0618 /// /// An optional range inside a text document that is used to visualize the applicable diff --git a/src/LanguageServer/Protocol/Protocol/Internal/Converters/VSInternalExtensionUtilities.cs b/src/LanguageServer/Protocol/Protocol/Internal/Converters/VSInternalExtensionUtilities.cs index 15e162c6c13eb..d16f7f7ca20e0 100644 --- a/src/LanguageServer/Protocol/Protocol/Internal/Converters/VSInternalExtensionUtilities.cs +++ b/src/LanguageServer/Protocol/Protocol/Internal/Converters/VSInternalExtensionUtilities.cs @@ -41,7 +41,9 @@ private static void AddConverters(IList converters) AddOrReplaceConverter(); AddOrReplaceConverter(); AddOrReplaceConverter(); +#pragma warning disable CS0618 // SymbolInformation is obsolete but we need the converter regardless AddOrReplaceConverter(); +#pragma warning restore CS0618 AddOrReplaceConverter(); AddOrReplaceConverter(); AddOrReplaceConverter(); diff --git a/src/LanguageServer/Protocol/Protocol/Internal/VSInternalHover.cs b/src/LanguageServer/Protocol/Protocol/Internal/VSInternalHover.cs index 44fa7428eb2d4..d7df82cad3c5b 100644 --- a/src/LanguageServer/Protocol/Protocol/Internal/VSInternalHover.cs +++ b/src/LanguageServer/Protocol/Protocol/Internal/VSInternalHover.cs @@ -29,6 +29,8 @@ internal class VSInternalHover : Hover /// [JsonPropertyName("contents")] [JsonRequired] +#pragma warning disable CS0618 // MarkedString is obsolete but this property is not public new SumType, SumType[], MarkupContent>? Contents { get; set; } +#pragma warning restore CS0618 } } diff --git a/src/LanguageServer/Protocol/Protocol/Methods.Document.cs b/src/LanguageServer/Protocol/Protocol/Methods.Document.cs index 7614db428cf47..cf9ee709397e9 100644 --- a/src/LanguageServer/Protocol/Protocol/Methods.Document.cs +++ b/src/LanguageServer/Protocol/Protocol/Methods.Document.cs @@ -144,7 +144,9 @@ partial class Methods /// /// Strongly typed message object for 'textDocument/documentSymbol'. /// +#pragma warning disable CS0618 // SymbolInformation is obsolete but this property is not public static readonly LspRequest?> TextDocumentDocumentSymbol = new(TextDocumentDocumentSymbolName); +#pragma warning restore CS0618 /// /// Method name for 'textDocument/semanticTokens'. diff --git a/src/LanguageServer/Protocol/Protocol/Methods.Workspace.cs b/src/LanguageServer/Protocol/Protocol/Methods.Workspace.cs index b8e80b72864d7..811c75796666c 100644 --- a/src/LanguageServer/Protocol/Protocol/Methods.Workspace.cs +++ b/src/LanguageServer/Protocol/Protocol/Methods.Workspace.cs @@ -23,7 +23,9 @@ partial class Methods /// /// Strongly typed message object for 'workspace/symbol'. /// +#pragma warning disable CS0618 // SymbolInformation is obsolete but this property is not public static readonly LspRequest?> WorkspaceSymbol = new(WorkspaceSymbolName); +#pragma warning restore CS0618 /// /// Method name for 'workspaceSymbol/resolve'. diff --git a/src/LanguageServer/Protocol/Protocol/WorkspaceSymbolParams.cs b/src/LanguageServer/Protocol/Protocol/WorkspaceSymbolParams.cs index 954760df677dc..aa00f30785f83 100644 --- a/src/LanguageServer/Protocol/Protocol/WorkspaceSymbolParams.cs +++ b/src/LanguageServer/Protocol/Protocol/WorkspaceSymbolParams.cs @@ -13,7 +13,10 @@ namespace Roslyn.LanguageServer.Protocol /// See the Language Server Protocol specification for additional information. /// /// - internal class WorkspaceSymbolParams : IPartialResultParams>, IWorkDoneProgressParams + internal class WorkspaceSymbolParams +#pragma warning disable CS0618 // SymbolInformation is obsolete but this class is not + : IPartialResultParams>, IWorkDoneProgressParams +#pragma warning restore CS0618 { /// /// Gets or sets the query (a non-empty string). @@ -25,7 +28,9 @@ internal class WorkspaceSymbolParams : IPartialResultParams [JsonPropertyName(Methods.PartialResultTokenName)] [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] +#pragma warning disable CS0618 // SymbolInformation is obsolete but this property is not public IProgress>? PartialResultToken { get; set; } +#pragma warning restore CS0618 /// [JsonPropertyName(Methods.WorkDoneTokenName)]