Skip to content

Commit d4e0c7e

Browse files
authored
Merge pull request github#5340 from hvitved/csharp/null-checks
C#: Use `is [not] null` throughout in the extractor
2 parents aeb1314 + 63686b5 commit d4e0c7e

File tree

104 files changed

+274
-274
lines changed

Some content is hidden

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

104 files changed

+274
-274
lines changed

csharp/autobuilder/Semmle.Autobuild.CSharp/CSharpAutobuilder.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -97,21 +97,21 @@ BuildScript IntermediateAttempt(BuildScript s) =>
9797
/// </summary>
9898
private CSharpBuildStrategy GetCSharpBuildStrategy()
9999
{
100-
if (Options.BuildCommand != null)
100+
if (Options.BuildCommand is not null)
101101
return CSharpBuildStrategy.CustomBuildCommand;
102102

103103
if (Options.Buildless)
104104
return CSharpBuildStrategy.Buildless;
105105

106-
if (Options.MsBuildArguments != null
107-
|| Options.MsBuildConfiguration != null
108-
|| Options.MsBuildPlatform != null
109-
|| Options.MsBuildTarget != null)
106+
if (Options.MsBuildArguments is not null
107+
|| Options.MsBuildConfiguration is not null
108+
|| Options.MsBuildPlatform is not null
109+
|| Options.MsBuildTarget is not null)
110110
{
111111
return CSharpBuildStrategy.MSBuild;
112112
}
113113

114-
if (Options.DotNetArguments != null || Options.DotNetVersion != null)
114+
if (Options.DotNetArguments is not null || Options.DotNetVersion is not null)
115115
return CSharpBuildStrategy.DotNet;
116116

117117
return CSharpBuildStrategy.Auto;

csharp/autobuilder/Semmle.Autobuild.CSharp/DotNetRule.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public BuildScript Analyse(Autobuilder builder, bool auto)
2727
.SelectMany(p => Enumerators.Singleton(p).Concat(p.IncludedProjects))
2828
.OfType<Project>()
2929
.FirstOrDefault(p => !p.DotNetProject);
30-
if (notDotNetProject != null)
30+
if (notDotNetProject is not null)
3131
{
3232
builder.Log(Severity.Info, "Not using .NET Core because of incompatible project {0}", notDotNetProject);
3333
return BuildScript.Failure;
@@ -103,7 +103,7 @@ private static BuildScript WithDotNet(Autobuilder builder, Func<string?, IDictio
103103

104104
if (!compatibleClr)
105105
{
106-
if (env == null)
106+
if (env is null)
107107
env = new Dictionary<string, string>();
108108
env.Add("UseSharedCompilation", "false");
109109
}
@@ -266,7 +266,7 @@ private static BuildScript GetInstalledSdksScript(IBuildActions actions)
266266
}
267267

268268
private static string DotNetCommand(IBuildActions actions, string? dotNetPath) =>
269-
dotNetPath != null ? actions.PathCombine(dotNetPath, "dotnet") : "dotnet";
269+
dotNetPath is not null ? actions.PathCombine(dotNetPath, "dotnet") : "dotnet";
270270

271271
private static BuildScript GetInfoCommand(IBuildActions actions, string? dotNetPath, IDictionary<string, string>? environment)
272272
{

csharp/autobuilder/Semmle.Autobuild.CSharp/StandaloneBuildRule.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ public BuildScript Analyse(Autobuilder builder, bool auto)
1313
BuildScript GetCommand(string? solution)
1414
{
1515
string standalone;
16-
if (builder.CodeQLExtractorLangRoot is object && builder.CodeQlPlatform is object)
16+
if (builder.CodeQLExtractorLangRoot is not null && builder.CodeQlPlatform is not null)
1717
{
1818
standalone = builder.Actions.PathCombine(builder.CodeQLExtractorLangRoot, "tools", builder.CodeQlPlatform, "Semmle.Extraction.CSharp.Standalone");
1919
}
20-
else if (builder.SemmlePlatformTools is object)
20+
else if (builder.SemmlePlatformTools is not null)
2121
{
2222
standalone = builder.Actions.PathCombine(builder.SemmlePlatformTools, "csharp", "Semmle.Extraction.CSharp.Standalone");
2323
}
@@ -29,7 +29,7 @@ BuildScript GetCommand(string? solution)
2929
var cmd = new CommandBuilder(builder.Actions);
3030
cmd.RunCommand(standalone);
3131

32-
if (solution != null)
32+
if (solution is not null)
3333
cmd.QuoteArgument(solution);
3434

3535
cmd.Argument("--references:.");

csharp/autobuilder/Semmle.Autobuild.Shared/AutobuildOptions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public static class OptionsExtensions
5959
{
6060
public static bool AsBool(this string? value, string param, bool defaultValue)
6161
{
62-
if (value == null)
62+
if (value is null)
6363
return defaultValue;
6464

6565
switch (value.ToLower())
@@ -81,7 +81,7 @@ public static bool AsBool(this string? value, string param, bool defaultValue)
8181

8282
public static string[] AsListWithExpandedEnvVars(this string? value, IBuildActions actions, string[] defaultValue)
8383
{
84-
if (value == null)
84+
if (value is null)
8585
return defaultValue;
8686

8787
return value.

csharp/autobuilder/Semmle.Autobuild.Shared/Autobuilder.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,12 +176,12 @@ protected Autobuilder(IBuildActions actions, AutobuildOptions options)
176176

177177
// First look for `.proj` files
178178
ret = FindFiles(".proj", f => new Project(this, f))?.ToList();
179-
if (ret != null)
179+
if (ret is not null)
180180
return ret;
181181

182182
// Then look for `.sln` files
183183
ret = FindFiles(".sln", f => new Solution(this, f, false))?.ToList();
184-
if (ret != null)
184+
if (ret is not null)
185185
return ret;
186186

187187
// Finally look for language specific project files, e.g. `.csproj` files

csharp/autobuilder/Semmle.Autobuild.Shared/BuildActions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,11 +157,11 @@ private static ProcessStartInfo GetProcessStartInfo(string exe, string arguments
157157
UseShellExecute = false,
158158
RedirectStandardOutput = redirectStandardOutput
159159
};
160-
if (workingDirectory != null)
160+
if (workingDirectory is not null)
161161
pi.WorkingDirectory = workingDirectory;
162162

163163
// Environment variables can only be used when not redirecting stdout
164-
if (!redirectStandardOutput && environment != null)
164+
if (!redirectStandardOutput && environment is not null)
165165
environment.ForEach(kvp => pi.Environment[kvp.Key] = kvp.Value);
166166
return pi;
167167
}

csharp/autobuilder/Semmle.Autobuild.Shared/BuildCommandAutoRule.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public BuildScript Analyse(Autobuilder builder, bool auto)
3939
var scripts = buildScripts.SelectMany(s => extensions.Select(e => s + e));
4040
var scriptPath = builder.Paths.Where(p => scripts.Any(p.Item1.ToLower().EndsWith)).OrderBy(p => p.Item2).Select(p => p.Item1).FirstOrDefault();
4141

42-
if (scriptPath == null)
42+
if (scriptPath is null)
4343
return BuildScript.Failure;
4444

4545
var chmod = new CommandBuilder(builder.Actions);
@@ -55,7 +55,7 @@ public BuildScript Analyse(Autobuilder builder, bool auto)
5555

5656
// A specific Visual Studio version may be required
5757
var vsTools = MsBuildRule.GetVcVarsBatFile(builder);
58-
if (vsTools != null)
58+
if (vsTools is not null)
5959
command.CallBatFile(vsTools.Path);
6060

6161
builder.MaybeIndex(command, scriptPath);

csharp/autobuilder/Semmle.Autobuild.Shared/BuildCommandRule.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public BuildCommandRule(WithDotNet withDotNet)
1414

1515
public BuildScript Analyse(Autobuilder builder, bool auto)
1616
{
17-
if (builder.Options.BuildCommand == null)
17+
if (builder.Options.BuildCommand is null)
1818
return BuildScript.Failure;
1919

2020
// Custom build commands may require a specific .NET Core version
@@ -24,7 +24,7 @@ public BuildScript Analyse(Autobuilder builder, bool auto)
2424

2525
// Custom build commands may require a specific Visual Studio version
2626
var vsTools = MsBuildRule.GetVcVarsBatFile(builder);
27-
if (vsTools != null)
27+
if (vsTools is not null)
2828
command.CallBatFile(vsTools.Path);
2929
builder.MaybeIndex(command, builder.Options.BuildCommand);
3030

csharp/autobuilder/Semmle.Autobuild.Shared/BuildScript.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -150,13 +150,13 @@ public BindBuildScript(BuildScript s1, Func<int, BuildScript> s2)
150150
public override int Run(IBuildActions actions, Action<string, bool> startCallback, Action<int, string, bool> exitCallBack)
151151
{
152152
int ret1;
153-
if (s2a != null)
153+
if (s2a is not null)
154154
{
155155
ret1 = s1.Run(actions, startCallback, exitCallBack, out var stdout1);
156156
return s2a(stdout1, ret1).Run(actions, startCallback, exitCallBack);
157157
}
158158

159-
if (s2b != null)
159+
if (s2b is not null)
160160
{
161161
ret1 = s1.Run(actions, startCallback, exitCallBack);
162162
return s2b(ret1).Run(actions, startCallback, exitCallBack);
@@ -168,7 +168,7 @@ public override int Run(IBuildActions actions, Action<string, bool> startCallbac
168168
public override int Run(IBuildActions actions, Action<string, bool> startCallback, Action<int, string, bool> exitCallBack, out IList<string> stdout)
169169
{
170170
var ret1 = s1.Run(actions, startCallback, exitCallBack, out var stdout1);
171-
var ret2 = (s2a != null ? s2a(stdout1, ret1) : s2b!(ret1)).Run(actions, startCallback, exitCallBack, out var stdout2);
171+
var ret2 = (s2a is not null ? s2a(stdout1, ret1) : s2b!(ret1)).Run(actions, startCallback, exitCallBack, out var stdout2);
172172
var @out = new List<string>();
173173
@out.AddRange(stdout1);
174174
@out.AddRange(stdout2);

csharp/autobuilder/Semmle.Autobuild.Shared/BuildTools.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public static class BuildTools
2727
public static IEnumerable<VcVarsBatFile> GetCandidateVcVarsFiles(IBuildActions actions)
2828
{
2929
var programFilesx86 = actions.GetEnvironmentVariable("ProgramFiles(x86)");
30-
if (programFilesx86 == null)
30+
if (programFilesx86 is null)
3131
yield break;
3232

3333
// Attempt to use vswhere to find installations of Visual Studio

0 commit comments

Comments
 (0)