From 4a58c63f7769fb972428cd850b6932192e92c477 Mon Sep 17 00:00:00 2001 From: Stephen Toub Date: Mon, 8 Jun 2020 09:49:42 -0400 Subject: [PATCH 1/2] Annotate System.Net.WebSockets.WebSocketProtocol for nullable reference types This also helped find that the annotation of WebSocketReceiveResult(..., string closeDescription) was wrong in the ref (it was correct in the src), so I fixed that. --- .../ref/System.Net.WebSockets.WebSocketProtocol.cs | 2 +- .../ref/System.Net.WebSockets.WebSocketProtocol.csproj | 1 + .../src/System.Net.WebSockets.WebSocketProtocol.csproj | 2 +- .../src/System/Net/WebSockets/ManagedWebSocketExtensions.cs | 2 +- .../System.Net.WebSockets/ref/System.Net.WebSockets.cs | 2 +- 5 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/libraries/System.Net.WebSockets.WebSocketProtocol/ref/System.Net.WebSockets.WebSocketProtocol.cs b/src/libraries/System.Net.WebSockets.WebSocketProtocol/ref/System.Net.WebSockets.WebSocketProtocol.cs index ca291e4fc7a092..892c8b85560f60 100644 --- a/src/libraries/System.Net.WebSockets.WebSocketProtocol/ref/System.Net.WebSockets.WebSocketProtocol.cs +++ b/src/libraries/System.Net.WebSockets.WebSocketProtocol/ref/System.Net.WebSockets.WebSocketProtocol.cs @@ -9,6 +9,6 @@ namespace System.Net.WebSockets { public static partial class WebSocketProtocol { - public static System.Net.WebSockets.WebSocket CreateFromStream(System.IO.Stream stream, bool isServer, string subProtocol, System.TimeSpan keepAliveInterval) { throw null; } + public static System.Net.WebSockets.WebSocket CreateFromStream(System.IO.Stream stream, bool isServer, string? subProtocol, System.TimeSpan keepAliveInterval) { throw null; } } } diff --git a/src/libraries/System.Net.WebSockets.WebSocketProtocol/ref/System.Net.WebSockets.WebSocketProtocol.csproj b/src/libraries/System.Net.WebSockets.WebSocketProtocol/ref/System.Net.WebSockets.WebSocketProtocol.csproj index 858e8bf204b16d..4c1d519edd7c3c 100644 --- a/src/libraries/System.Net.WebSockets.WebSocketProtocol/ref/System.Net.WebSockets.WebSocketProtocol.csproj +++ b/src/libraries/System.Net.WebSockets.WebSocketProtocol/ref/System.Net.WebSockets.WebSocketProtocol.csproj @@ -1,6 +1,7 @@ netstandard2.0 + enable diff --git a/src/libraries/System.Net.WebSockets.WebSocketProtocol/src/System.Net.WebSockets.WebSocketProtocol.csproj b/src/libraries/System.Net.WebSockets.WebSocketProtocol/src/System.Net.WebSockets.WebSocketProtocol.csproj index a85b95b6c768d6..21bf787ade93cf 100644 --- a/src/libraries/System.Net.WebSockets.WebSocketProtocol/src/System.Net.WebSockets.WebSocketProtocol.csproj +++ b/src/libraries/System.Net.WebSockets.WebSocketProtocol/src/System.Net.WebSockets.WebSocketProtocol.csproj @@ -5,7 +5,7 @@ $(NoWarn);CS1573 $(NetCoreAppCurrent);netstandard2.0;netcoreapp2.1 true - annotations + enable callback, object state) => + internal static CancellationTokenRegistration UnsafeRegister(this CancellationToken cancellationToken, Action callback, object? state) => cancellationToken.Register(callback, state); } } diff --git a/src/libraries/System.Net.WebSockets/ref/System.Net.WebSockets.cs b/src/libraries/System.Net.WebSockets/ref/System.Net.WebSockets.cs index 02392bfd22d260..f9acf9d8b17861 100644 --- a/src/libraries/System.Net.WebSockets/ref/System.Net.WebSockets.cs +++ b/src/libraries/System.Net.WebSockets/ref/System.Net.WebSockets.cs @@ -115,7 +115,7 @@ public enum WebSocketMessageType public partial class WebSocketReceiveResult { public WebSocketReceiveResult(int count, System.Net.WebSockets.WebSocketMessageType messageType, bool endOfMessage) { } - public WebSocketReceiveResult(int count, System.Net.WebSockets.WebSocketMessageType messageType, bool endOfMessage, System.Net.WebSockets.WebSocketCloseStatus? closeStatus, string closeStatusDescription) { } + public WebSocketReceiveResult(int count, System.Net.WebSockets.WebSocketMessageType messageType, bool endOfMessage, System.Net.WebSockets.WebSocketCloseStatus? closeStatus, string? closeStatusDescription) { } public System.Net.WebSockets.WebSocketCloseStatus? CloseStatus { get { throw null; } } public string? CloseStatusDescription { get { throw null; } } public int Count { get { throw null; } } From b25c54fec010907f1e871a3cfe0038d4553f4faa Mon Sep 17 00:00:00 2001 From: Stephen Toub Date: Mon, 8 Jun 2020 15:06:49 -0400 Subject: [PATCH 2/2] Address PR feedback and suppress netcoreapp2.1 warnings --- src/libraries/Directory.Build.targets | 2 +- .../src/System/Net/WebSockets/WebSocketProtocol.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libraries/Directory.Build.targets b/src/libraries/Directory.Build.targets index cad6c2ed4803af..6ac85438567d03 100644 --- a/src/libraries/Directory.Build.targets +++ b/src/libraries/Directory.Build.targets @@ -6,7 +6,7 @@ - $(NoWarn);nullable + $(NoWarn);nullable diff --git a/src/libraries/System.Net.WebSockets.WebSocketProtocol/src/System/Net/WebSockets/WebSocketProtocol.cs b/src/libraries/System.Net.WebSockets.WebSocketProtocol/src/System/Net/WebSockets/WebSocketProtocol.cs index 732cbb5e913076..12e0f3656f1764 100644 --- a/src/libraries/System.Net.WebSockets.WebSocketProtocol/src/System/Net/WebSockets/WebSocketProtocol.cs +++ b/src/libraries/System.Net.WebSockets.WebSocketProtocol/src/System/Net/WebSockets/WebSocketProtocol.cs @@ -12,7 +12,7 @@ public static class WebSocketProtocol public static WebSocket CreateFromStream( Stream stream, bool isServer, - string subProtocol, + string? subProtocol, TimeSpan keepAliveInterval) { if (stream == null)