Skip to content

Commit d88f2bc

Browse files
authored
Fix .NET analyzer warnings. Close #125.
1 parent 68c75b0 commit d88f2bc

File tree

149 files changed

+1514
-1241
lines changed

Some content is hidden

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

149 files changed

+1514
-1241
lines changed

.editorconfig

Lines changed: 244 additions & 162 deletions
Large diffs are not rendered by default.

Build/JetBrains.Annotations.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,10 +214,12 @@ public ValueRangeAttribute(ulong from, ulong to)
214214
To = to;
215215
}
216216

217+
#pragma warning disable CA1019 // Define accessors for attribute arguments
217218
public ValueRangeAttribute(long value)
218219
{
219220
From = To = value;
220221
}
222+
#pragma warning restore CA1019 // Define accessors for attribute arguments
221223

222224
public ValueRangeAttribute(ulong value)
223225
{

Build/Props/CodeJam.Default.props

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@
66
<SignAssembly>True</SignAssembly>
77
<DelaySign>False</DelaySign>
88
<AssemblyOriginatorKeyFile>..\Build\CodeJam.snk</AssemblyOriginatorKeyFile>
9+
<NoWarn>$(NoWarn);CA1014</NoWarn>
910

1011
<LangVersion>9.0</LangVersion>
1112
<Nullable>enable</Nullable>
12-
<!-- <AnalysisLevel>latest</AnalysisLevel> -->
13-
<!-- <EnableNETAnalyzers>true</EnableNETAnalyzers> -->
14-
<!-- <AnalysisMode>AllEnabledByDefault</AnalysisMode> -->
13+
<AnalysisLevel>latest</AnalysisLevel>
14+
<EnableNETAnalyzers>true</EnableNETAnalyzers>
15+
<AnalysisMode>AllEnabledByDefault</AnalysisMode>
1516

1617
<Version>4.0.0.0</Version>
1718
<PackageVersion>4.0.0-beta1</PackageVersion>

CodeJam.Blocks.Tests/Mapping/ConvertTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ public void SameType()
2121
[Test]
2222
public void SetExpression()
2323
{
24-
Convert<int,string>.Lambda = i => (i * 2).ToString();
24+
Convert<int,string>.Lambda = i => (i * 2).ToString(CultureInfo.InvariantCulture);
2525

2626
Assert.AreEqual("4", Convert<int,string>.From(2));
2727

28-
Convert<int,string>.Expression = i => (i * 3).ToString();
28+
Convert<int,string>.Expression = i => (i * 3).ToString(CultureInfo.InvariantCulture);
2929

3030
Assert.AreEqual("9", Convert<int,string>.From(3));
3131

CodeJam.Blocks.Tests/Mapping/DefaultValueTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public void IntNullable()
5858
DefaultValue<int?>.Value = null;
5959
}
6060

61-
enum Enum1
61+
public enum Enum1
6262
{
6363
Value1,
6464
Value2

CodeJam.Blocks.Tests/Mapping/Examples/MapMemberTests.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#if NET40_OR_GREATER || TARGETS_NETCOREAPP // TODO: update after fixes in Theraot.Core
22
using System;
3+
using System.Globalization;
34

45
using NUnit.Framework;
56

@@ -24,10 +25,12 @@ private class Class2
2425
public DateTime? Field1;
2526
}
2627

28+
#pragma warning disable CA1305 // Specify IFormatProvider
2729
private static readonly Mapper<Class1, Class2> _class1ToClass2Mapper =
2830
Map.GetMapper<Class1, Class2>(
2931
m =>
3032
m.MapMember(c2 => c2.Field1, c1 => DateTime.Parse(c1.Field1!).AddDays(1)));
33+
#pragma warning restore CA1305 // Specify IFormatProvider
3134

3235
[Test]
3336
public void Test1()

CodeJam.Blocks.Tests/Mapping/MapperTests.cs

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#if NET40_OR_GREATER || TARGETS_NETCOREAPP // TODO: update after fixes in Theraot.Core
22
using System;
33
using System.Diagnostics;
4+
using System.Globalization;
45
using System.Linq;
56

67
using CodeJam.Targeting;
@@ -177,12 +178,14 @@ private class Source
177178
[Test]
178179
public void MapObjects1([Values(true,false)] bool useAction)
179180
{
181+
#pragma warning disable CA1305 // Specify IFormatProvider
180182
var map = new MapHelper<Source,Dest>().Map(useAction, m => m
181183
.MapMember(_ => _.Field3, _ => _.Field2)
182184
.MapMember(_ => _.Field4, _ => _.Field5)
183185
.MapMember(_ => _.Field12, _ => _.Field12 != null ? int.Parse(_.Field12) : 12)
184186
.MapMember(_ => _.Field13, _ => _.Field13 ?? 13)
185187
.MapMember(_ => _.Field14, _ => _.Field14 ?? 14));
188+
#pragma warning restore CA1305 // Specify IFormatProvider
186189

187190
Assert.That(map.To!.Field1, Is.EqualTo(1));
188191
Assert.That(map.To!.Field3, Is.EqualTo(2));
@@ -191,8 +194,8 @@ public void MapObjects1([Values(true,false)] bool useAction)
191194
Assert.That(map.To!.Field7, Is.EqualTo(map.From!.Field7));
192195
Assert.That(map.To!.Field8, Is.EqualTo(map.From!.Field8 ?? 0));
193196
Assert.That(map.To!.Field9, Is.EqualTo(map.From!.Field9 ?? 0));
194-
Assert.That(map.To!.Field10, Is.EqualTo(map.From!.Field10.ToString()));
195-
Assert.That(map.To!.Field11.ToString(), Is.EqualTo(map.From!.Field11));
197+
Assert.That(map.To!.Field10, Is.EqualTo(map.From!.Field10.ToString(CultureInfo.InvariantCulture)));
198+
Assert.That(map.To!.Field11.ToString(CultureInfo.InvariantCulture), Is.EqualTo(map.From!.Field11));
196199
Assert.That(map.To!.Field12, Is.EqualTo(12));
197200
Assert.That(map.To!.Field13, Is.EqualTo(13));
198201
Assert.That(map.To!.Field14, Is.EqualTo(14));
@@ -207,7 +210,7 @@ public void PerfTest()
207210
var map = new MapperBuilder<Source,Dest>()
208211
.MapMember(_ => _.Field3, _ => _.Field2)
209212
.MapMember(_ => _.Field4, _ => _.Field5)
210-
.MapMember(_ => _.Field12, _ => _.Field12 != null ? int.Parse(_.Field12) : 12)
213+
.MapMember(_ => _.Field12, _ => _.Field12 != null ? int.Parse(_.Field12, CultureInfo.InvariantCulture) : 12)
211214
.MapMember(_ => _.Field13, _ => _.Field13 ?? 13)
212215
.MapMember(_ => _.Field14, _ => _.Field14 ?? 14)
213216
.GetMapper();
@@ -289,8 +292,8 @@ public void MapObjects2([Values(true,false)] bool useAction)
289292
Assert.That(map.To!.Field7, Is.EqualTo(map.From!.Field7));
290293
Assert.That(map.To!.Field8, Is.EqualTo(map.From!.Field8 ?? 0));
291294
Assert.That(map.To!.Field9, Is.EqualTo(map.From!.Field9 ?? 0));
292-
Assert.That(map.To!.Field10, Is.EqualTo(map.From!.Field10.ToString()));
293-
Assert.That(map.To!.Field11.ToString(), Is.EqualTo(map.From!.Field11));
295+
Assert.That(map.To!.Field10, Is.EqualTo(map.From!.Field10.ToString(CultureInfo.InvariantCulture)));
296+
Assert.That(map.To!.Field11.ToString(CultureInfo.InvariantCulture), Is.EqualTo(map.From!.Field11));
294297
Assert.That(map.To!.Field15, Is.EqualTo(Gender.Female));
295298
Assert.That(map.To!.Field16, Is.EqualTo("M"));
296299
Assert.That(map.To!.Field17, Is.EqualTo(Enum2.Value2));
@@ -342,7 +345,7 @@ public void MapInnerObject1([Values(true,false)] bool useAction)
342345
}
343346

344347
private class Class5 { public Class1 Class1 = new(); public Class1? Class2; }
345-
private class Class6 { public Class2 Class1 = new(); public Class2? Class2 = null; }
348+
private class Class6 { public Class2 Class1 = new(); public Class2? Class2; }
346349

347350
[Test]
348351
public void MapInnerObject2([Values(true,false)] bool useAction)
@@ -373,7 +376,7 @@ public void MapInnerObject3([Values(true,false)] bool useAction)
373376
}
374377

375378
private class Class7 { public Class9? Class; }
376-
private class Class8 { public Class10? Class = null; }
379+
private class Class8 { public Class10? Class; }
377380
private class Class9 { public Class7 Class = new(); }
378381
private class Class10 { public Class8 Class = new(); }
379382

@@ -459,7 +462,7 @@ public void DeepCopy2([Values(true,false)] bool useAction)
459462
}
460463

461464
private class Class15 { public List<Class1> List = new() { new Class1(), new Class1() }; }
462-
private class Class16 { public List<Class2>? List = null; }
465+
private class Class16 { public List<Class2>? List; }
463466

464467
[Test]
465468
public void ObjectList([Values(true,false)] bool useAction)
@@ -527,7 +530,7 @@ private static IEnumerable<Class9> GetEnumerable()
527530
}
528531
}
529532

530-
private class Class18 { public Class9[]? Arr = null; }
533+
private class Class18 { public Class9[]? Arr; }
531534

532535
[Test]
533536
public void ObjectArray1([Values(true,false)] bool useAction)
@@ -563,7 +566,7 @@ public void ObjectArray2([Values(true,false)] bool useAction)
563566
}
564567

565568
private class Class20 { public Source Class1 = new(); public Source? Class2; }
566-
private class Class21 { public Dest? Class1 = null; public Dest? Class2 = null; }
569+
private class Class21 { public Dest? Class1; public Dest? Class2; }
567570

568571
[Test]
569572
public void NoCrossRef([Values(true,false)] bool useAction)

CodeJam.Blocks.Tests/Metadata/XmlReaderTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,13 @@ public void Parse()
5252
}
5353

5454
[AttributeUsage(AttributeTargets.All)]
55-
public class TableAttribute : Attribute
55+
public sealed class TableAttribute : Attribute
5656
{
5757
public string? Name;
5858
}
5959

6060
[AttributeUsage(AttributeTargets.All)]
61-
public class ColumnAttribute : Attribute
61+
public sealed class ColumnAttribute : Attribute
6262
{
6363
public string? Name;
6464
}

CodeJam.Blocks.Tests/TableData/TableDataTest.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public string ParseCsvNoEscape(string src) =>
5454
public string PrintCsv(string source)
5555
{
5656
var data = CsvFormat.CreateParser(true).Parse(source);
57-
var result = new StringWriter();
57+
using var result = new StringWriter();
5858
CsvFormat.Print(result, data.Select(l => l.Values), " ");
5959
return result.ToString();
6060
}
@@ -78,7 +78,7 @@ public string ParseFixedWidth(string source, int[] widths) =>
7878
[TestCase(" a b\r\n c d", new[] { 3, 2 }, ExpectedResult = "a b \r\nc d ")]
7979
public string PrintFixedWidth(string source, int[] widths)
8080
{
81-
var res = new StringWriter();
81+
using var res = new StringWriter();
8282
FixedWidthFormat.Print(
8383
res,
8484
FixedWidthFormat.CreateParser(widths).Parse(source).Select(dl => dl.Values),

CodeJam.Blocks/Mapping/CodeJamConvertException.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public CodeJamConvertException(string message, Exception innerException)
5757
/// the current exception.</param>
5858
/// <seealso cref="Exception.InnerException"/>
5959
public CodeJamConvertException(Exception innerException)
60-
: base(innerException.Message, innerException) { }
60+
: base(Code.ReturnIfNotNull(innerException, nameof(innerException)).Message, innerException) { }
6161

6262
#if TARGETS_NET || NETSTANDARD20_OR_GREATER || NETCOREAPP20_OR_GREATER
6363
/// <summary>

0 commit comments

Comments
 (0)