Skip to content

Commit ef4b82b

Browse files
[dotnet] Enable Nullable Reference Types (SeleniumHQ#15354)
* [dotnet] Enable Nullable Reference Types * Remove nullable enable * fix build * Add nullable handling to `executable_assembly.bzl` * Fix format build * Enable nullable on .NET Standard 2.0 * fix comment formatting * whitespace
1 parent c27775a commit ef4b82b

File tree

429 files changed

+9
-852
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

429 files changed

+9
-852
lines changed

dotnet/private/executable_assembly.bzl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ def create_executable_assembly(ctx, extra_srcs, extra_deps):
7575
internals_visible_to = None,
7676
internals_visible_to_cs = None,
7777
langversion = ctx.attr.langversion,
78+
nullable = ctx.attr.nullable,
7879
resources = ctx.files.resources,
7980
srcs = ctx.files.srcs + extra_srcs,
8081
out = ctx.attr.out,
@@ -143,6 +144,9 @@ csharp_executable = rule(
143144
"langversion": attr.string(
144145
doc = "The version string for the C# language.",
145146
),
147+
"nullable": attr.string(
148+
doc = "Enable nullable context, or nullable warnings.",
149+
),
146150
"resources": attr.label_list(
147151
doc = "A list of files to embed in the DLL as resources.",
148152
allow_files = True,

dotnet/src/webdriver/Alert.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020
using System;
2121
using System.Collections.Generic;
2222

23-
#nullable enable
24-
2523
namespace OpenQA.Selenium
2624
{
2725
/// <summary>

dotnet/src/webdriver/BUILD.bazel

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ csharp_library(
3737
"WebDriver.Common.Tests",
3838
],
3939
langversion = "12.0",
40+
nullable = "enable",
4041
resources = [
4142
"//javascript/atoms/fragments:find-elements.js",
4243
"//javascript/atoms/fragments:is-displayed.js",
@@ -76,6 +77,7 @@ csharp_library(
7677
"WebDriver.Common.Tests",
7778
],
7879
langversion = "12.0",
80+
nullable = "enable",
7981
resources = [
8082
"//javascript/atoms/fragments:find-elements.js",
8183
"//javascript/atoms/fragments:is-displayed.js",
@@ -103,6 +105,7 @@ csharp_library(
103105
out = "WebDriver.StrongNamed",
104106
keyfile = "//dotnet:WebDriver.snk",
105107
langversion = "12.0",
108+
nullable = "enable",
106109
resources = [
107110
"//javascript/atoms/fragments:find-elements.js",
108111
"//javascript/atoms/fragments:is-displayed.js",
@@ -140,6 +143,7 @@ csharp_library(
140143
],
141144
keyfile = "//dotnet:WebDriver.snk",
142145
langversion = "12.0",
146+
nullable = "enable",
143147
resources = [
144148
"//javascript/atoms/fragments:find-elements.js",
145149
"//javascript/atoms/fragments:is-displayed.js",

dotnet/src/webdriver/BiDi/BiDi.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
using OpenQA.Selenium.BiDi.Communication;
2323
using OpenQA.Selenium.BiDi.Communication.Transport;
2424

25-
#nullable enable
26-
2725
namespace OpenQA.Selenium.BiDi;
2826

2927
public class BiDi : IAsyncDisposable

dotnet/src/webdriver/BiDi/BiDiException.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@
1919

2020
using System;
2121

22-
#nullable enable
23-
2422
namespace OpenQA.Selenium.BiDi;
2523

2624
public class BiDiException : Exception

dotnet/src/webdriver/BiDi/Communication/Broker.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@
3030
using System.Threading;
3131
using System.Threading.Tasks;
3232

33-
#nullable enable
34-
3533
namespace OpenQA.Selenium.BiDi.Communication;
3634

3735
public class Broker : IAsyncDisposable

dotnet/src/webdriver/BiDi/Communication/Command.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@
1717
// under the License.
1818
// </copyright>
1919

20-
#nullable enable
21-
2220
namespace OpenQA.Selenium.BiDi.Communication;
2321

2422
public abstract class Command

dotnet/src/webdriver/BiDi/Communication/CommandOptions.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@
1919

2020
using System;
2121

22-
#nullable enable
23-
2422
namespace OpenQA.Selenium.BiDi.Communication;
2523

2624
public record CommandOptions

dotnet/src/webdriver/BiDi/Communication/EventHandler.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
using System.Collections.Generic;
2323
using System.Threading.Tasks;
2424

25-
#nullable enable
26-
2725
namespace OpenQA.Selenium.BiDi.Communication;
2826

2927
public abstract class EventHandler(string eventName, Type eventArgsType, IEnumerable<BrowsingContext>? contexts = null)

dotnet/src/webdriver/BiDi/Communication/Json/Converters/BrowserClientWindowConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
using System.Text.Json;
2323
using System.Text.Json.Serialization;
2424

25-
#nullable enable
26-
2725
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters;
2826

2927
internal class BrowserClientWindowConverter : JsonConverter<ClientWindow>

dotnet/src/webdriver/BiDi/Communication/Json/Converters/BrowserUserContextConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
using System.Text.Json;
2323
using System.Text.Json.Serialization;
2424

25-
#nullable enable
26-
2725
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters;
2826

2927
internal class BrowserUserContextConverter : JsonConverter<UserContext>

dotnet/src/webdriver/BiDi/Communication/Json/Converters/BrowsingContextConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
using System.Text.Json;
2323
using System.Text.Json.Serialization;
2424

25-
#nullable enable
26-
2725
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters;
2826

2927
internal class BrowsingContextConverter : JsonConverter<BrowsingContext>

dotnet/src/webdriver/BiDi/Communication/Json/Converters/ChannelConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
using System.Text.Json;
2323
using System.Text.Json.Serialization;
2424

25-
#nullable enable
26-
2725
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters;
2826

2927
internal class ChannelConverter : JsonConverter<Channel>

dotnet/src/webdriver/BiDi/Communication/Json/Converters/DateTimeOffsetConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121
using System.Text.Json;
2222
using System.Text.Json.Serialization;
2323

24-
#nullable enable
25-
2624
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters;
2725

2826
internal class DateTimeOffsetConverter : JsonConverter<DateTimeOffset>

dotnet/src/webdriver/BiDi/Communication/Json/Converters/Enumerable/GetClientWindowsResultConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@
2323
using System.Text.Json;
2424
using System.Text.Json.Serialization;
2525

26-
#nullable enable
27-
2826
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters.Enumerable;
2927

3028
internal class GetClientWindowsResultConverter : JsonConverter<GetClientWindowsResult>

dotnet/src/webdriver/BiDi/Communication/Json/Converters/Enumerable/GetCookiesResultConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@
2323
using System.Text.Json;
2424
using System.Text.Json.Serialization;
2525

26-
#nullable enable
27-
2826
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters.Enumerable;
2927

3028
internal class GetCookiesResultConverter : JsonConverter<GetCookiesResult>

dotnet/src/webdriver/BiDi/Communication/Json/Converters/Enumerable/GetRealmsResultConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@
2323
using System.Text.Json;
2424
using System.Text.Json.Serialization;
2525

26-
#nullable enable
27-
2826
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters.Enumerable;
2927

3028
internal class GetRealmsResultConverter : JsonConverter<GetRealmsResult>

dotnet/src/webdriver/BiDi/Communication/Json/Converters/Enumerable/GetUserContextsResultConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@
2323
using System.Text.Json;
2424
using System.Text.Json.Serialization;
2525

26-
#nullable enable
27-
2826
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters.Enumerable;
2927

3028
internal class GetUserContextsResultConverter : JsonConverter<GetUserContextsResult>

dotnet/src/webdriver/BiDi/Communication/Json/Converters/Enumerable/InputSourceActionsConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@
2323
using System.Text.Json;
2424
using System.Text.Json.Serialization;
2525

26-
#nullable enable
27-
2826
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters.Enumerable;
2927

3028
internal class InputSourceActionsConverter : JsonConverter<SourceActions>

dotnet/src/webdriver/BiDi/Communication/Json/Converters/Enumerable/LocateNodesResultConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@
2424
using System.Text.Json;
2525
using System.Text.Json.Serialization;
2626

27-
#nullable enable
28-
2927
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters.Enumerable;
3028

3129
internal class LocateNodesResultConverter : JsonConverter<LocateNodesResult>

dotnet/src/webdriver/BiDi/Communication/Json/Converters/HandleConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
using System.Text.Json;
2323
using System.Text.Json.Serialization;
2424

25-
#nullable enable
26-
2725
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters;
2826

2927
internal class HandleConverter : JsonConverter<Handle>

dotnet/src/webdriver/BiDi/Communication/Json/Converters/InputOriginConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
using System.Text.Json;
2323
using System.Text.Json.Serialization;
2424

25-
#nullable enable
26-
2725
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters;
2826

2927
internal class InputOriginConverter : JsonConverter<Origin>

dotnet/src/webdriver/BiDi/Communication/Json/Converters/InterceptConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
using System.Text.Json;
2323
using System.Text.Json.Serialization;
2424

25-
#nullable enable
26-
2725
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters;
2826

2927
internal class InterceptConverter : JsonConverter<Intercept>

dotnet/src/webdriver/BiDi/Communication/Json/Converters/InternalIdConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
using System.Text.Json;
2323
using System.Text.Json.Serialization;
2424

25-
#nullable enable
26-
2725
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters;
2826

2927
internal class InternalIdConverter : JsonConverter<InternalId>

dotnet/src/webdriver/BiDi/Communication/Json/Converters/NavigationConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
using System.Text.Json;
2323
using System.Text.Json.Serialization;
2424

25-
#nullable enable
26-
2725
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters;
2826

2927
internal class NavigationConverter : JsonConverter<Navigation>

dotnet/src/webdriver/BiDi/Communication/Json/Converters/Polymorphic/EvaluateResultConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
using System.Text.Json;
2323
using System.Text.Json.Serialization;
2424

25-
#nullable enable
26-
2725
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters.Polymorphic;
2826

2927
// https://github.com/dotnet/runtime/issues/72604

dotnet/src/webdriver/BiDi/Communication/Json/Converters/Polymorphic/LogEntryConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
using System.Text.Json;
2323
using System.Text.Json.Serialization;
2424

25-
#nullable enable
26-
2725
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters.Polymorphic;
2826

2927
// https://github.com/dotnet/runtime/issues/72604

dotnet/src/webdriver/BiDi/Communication/Json/Converters/Polymorphic/MessageConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121
using System.Text.Json;
2222
using System.Text.Json.Serialization;
2323

24-
#nullable enable
25-
2624
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters.Polymorphic;
2725

2826
// https://github.com/dotnet/runtime/issues/72604

dotnet/src/webdriver/BiDi/Communication/Json/Converters/Polymorphic/RealmInfoConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
using System.Text.Json;
2323
using System.Text.Json.Serialization;
2424

25-
#nullable enable
26-
2725
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters.Polymorphic;
2826

2927
// https://github.com/dotnet/runtime/issues/72604

dotnet/src/webdriver/BiDi/Communication/Json/Converters/Polymorphic/RemoteValueConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
using System.Text.Json;
2323
using System.Text.Json.Serialization;
2424

25-
#nullable enable
26-
2725
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters.Polymorphic;
2826

2927
// https://github.com/dotnet/runtime/issues/72604

dotnet/src/webdriver/BiDi/Communication/Json/Converters/PreloadScriptConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
using System.Text.Json;
2323
using System.Text.Json.Serialization;
2424

25-
#nullable enable
26-
2725
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters;
2826

2927
internal class PreloadScriptConverter : JsonConverter<PreloadScript>

dotnet/src/webdriver/BiDi/Communication/Json/Converters/PrintPageRangeConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
using System.Text.Json;
2323
using System.Text.Json.Serialization;
2424

25-
#nullable enable
26-
2725
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters;
2826

2927
internal class PrintPageRangeConverter : JsonConverter<PrintPageRange>

dotnet/src/webdriver/BiDi/Communication/Json/Converters/RealmConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
using System.Text.Json;
2323
using System.Text.Json.Serialization;
2424

25-
#nullable enable
26-
2725
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters;
2826

2927
internal class RealmConverter : JsonConverter<Realm>

dotnet/src/webdriver/BiDi/Communication/Json/Converters/RealmTypeConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
using System.Text.Json;
2323
using System.Text.Json.Serialization;
2424

25-
#nullable enable
26-
2725
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters;
2826

2927
internal class RealmTypeConverter : JsonConverter<RealmType>

dotnet/src/webdriver/BiDi/Communication/Json/Converters/RequestConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
using System.Text.Json;
2323
using System.Text.Json.Serialization;
2424

25-
#nullable enable
26-
2725
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters;
2826

2927
internal class RequestConverter : JsonConverter<Request>

dotnet/src/webdriver/BiDi/Communication/Json/Converters/SubscriptionConverter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121
using System.Text.Json;
2222
using System.Text.Json.Serialization;
2323

24-
#nullable enable
25-
2624
namespace OpenQA.Selenium.BiDi.Communication.Json.Converters;
2725

2826
internal class SubscriptionConverter : JsonConverter<Modules.Session.Subscription>

dotnet/src/webdriver/BiDi/Communication/Message.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@
1919

2020
using System.Text.Json;
2121

22-
#nullable enable
23-
2422
namespace OpenQA.Selenium.BiDi.Communication;
2523

2624
// https://github.com/dotnet/runtime/issues/72604

dotnet/src/webdriver/BiDi/Communication/Transport/ITransport.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121
using System.Threading;
2222
using System;
2323

24-
#nullable enable
25-
2624
namespace OpenQA.Selenium.BiDi.Communication.Transport;
2725

2826
interface ITransport : IDisposable

dotnet/src/webdriver/BiDi/Communication/Transport/WebSocketTransport.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@
2525
using System.Text;
2626
using OpenQA.Selenium.Internal.Logging;
2727

28-
#nullable enable
29-
3028
namespace OpenQA.Selenium.BiDi.Communication.Transport;
3129

3230
class WebSocketTransport(Uri _uri) : ITransport, IDisposable

dotnet/src/webdriver/BiDi/EventArgs.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020
using OpenQA.Selenium.BiDi.Modules.BrowsingContext;
2121
using System.Text.Json.Serialization;
2222

23-
#nullable enable
24-
2523
namespace OpenQA.Selenium.BiDi;
2624

2725
public abstract record EventArgs(BiDi BiDi)

0 commit comments

Comments
 (0)