Skip to content

Commit c94a77c

Browse files
author
Martin Boje Carpentier
committed
Added static code analyzer, and fixed the code in regards to the recommendations in the GeoJSON.Text project
1 parent 62dd084 commit c94a77c

8 files changed

Lines changed: 17 additions & 12 deletions

File tree

src/GeoJSON.Text.Test.Unit/Feature/FeatureTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -462,7 +462,7 @@ public void Feature_Equals_All_Geometry_Null_Issue115()
462462
}
463463

464464

465-
private IGeometryObject GetGeometry()
465+
private static IGeometryObject GetGeometry()
466466
{
467467
var coordinates = new List<LineString>
468468
{

src/GeoJSON.Text/Feature/Feature.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ public TProps Properties {
143143
/// <returns></returns>
144144
public bool Equals(Feature<TGeometry, TProps> other)
145145
{
146-
if (ReferenceEquals(null, other)) return false;
146+
if (other is null) return false;
147147
if (ReferenceEquals(this, other)) return true;
148148
return base.Equals(other)
149149
&& string.Equals(Id, other.Id)
@@ -153,7 +153,7 @@ public bool Equals(Feature<TGeometry, TProps> other)
153153

154154
public override bool Equals(object obj)
155155
{
156-
if (ReferenceEquals(null, obj)) return false;
156+
if (obj is null) return false;
157157
if (ReferenceEquals(this, obj)) return true;
158158
if (obj.GetType() != GetType()) return false;
159159
return Equals((Feature<TGeometry, TProps>) obj);
@@ -306,7 +306,7 @@ public override int GetHashCode()
306306

307307
public static bool operator ==(Feature<TGeometry> left, Feature<TGeometry> right)
308308
{
309-
return left?.Equals(right) ?? ReferenceEquals(null, right);
309+
return left?.Equals(right) ?? right is null;
310310
}
311311

312312
public static bool operator !=(Feature<TGeometry> left, Feature<TGeometry> right)

src/GeoJSON.Text/GeoJSON.Text.csproj

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
<PackageTags>geojson;geo;json;geolocation</PackageTags>
1616
<PackageLicenseExpression>MIT</PackageLicenseExpression>
1717
<PackageReleaseNotes></PackageReleaseNotes>
18+
<EnableNETAnalyzers>true</EnableNETAnalyzers>
1819

1920
<IncludeSymbols>true</IncludeSymbols>
2021
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
@@ -31,6 +32,10 @@
3132
</PropertyGroup>
3233

3334
<ItemGroup>
35+
<PackageReference Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="6.0.0">
36+
<PrivateAssets>all</PrivateAssets>
37+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
38+
</PackageReference>
3439
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All" />
3540
<PackageReference Include="System.Text.Json" Version="6.0.1" />
3641
</ItemGroup>

src/GeoJSON.Text/GeoJSONObject.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ public bool Equals(GeoJSONObject left, GeoJSONObject right)
8686
{
8787
return true;
8888
}
89-
if (ReferenceEquals(null, right))
89+
if (right is null)
9090
{
9191
return false;
9292
}
@@ -101,8 +101,8 @@ public bool Equals(GeoJSONObject left, GeoJSONObject right)
101101
return false;
102102
}
103103

104-
var leftIsNull = ReferenceEquals(null, left.BoundingBoxes);
105-
var rightIsNull = ReferenceEquals(null, right.BoundingBoxes);
104+
var leftIsNull = left.BoundingBoxes is null;
105+
var rightIsNull = right.BoundingBoxes is null;
106106
var bothAreMissing = leftIsNull && rightIsNull;
107107

108108
if (bothAreMissing || leftIsNull != rightIsNull)
@@ -122,7 +122,7 @@ public bool Equals(GeoJSONObject left, GeoJSONObject right)
122122
{
123123
return true;
124124
}
125-
if (ReferenceEquals(null, right))
125+
if (right is null)
126126
{
127127
return false;
128128
}

src/GeoJSON.Text/Geometry/GeometryCollection.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public class GeometryCollection : GeoJSONObject, IGeometryObject, IEqualityCompa
2020
/// <summary>
2121
/// Initializes a new instance of the <see cref="GeometryCollection" /> class.
2222
/// </summary>
23-
public GeometryCollection() : this(new IGeometryObject[0])
23+
public GeometryCollection() : this(new Array.Empty[0])
2424
{
2525
}
2626

src/GeoJSON.Text/Geometry/MultiLineString.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public MultiLineString()
3030
public MultiLineString(IEnumerable<LineString> coordinates)
3131
{
3232
Coordinates =new ReadOnlyCollection<LineString>(
33-
coordinates?.ToArray() ?? new LineString[0]);
33+
coordinates?.ToArray() ?? Array.Empty<LineString>());
3434
}
3535

3636
/// <summary>

src/GeoJSON.Text/Geometry/MultiPoint.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public MultiPoint()
2828
/// <param name="coordinates">The coordinates.</param>
2929
public MultiPoint(IEnumerable<Point> coordinates)
3030
{
31-
Coordinates = new ReadOnlyCollection<Point>(coordinates?.ToArray() ?? new Point[0]);
31+
Coordinates = new ReadOnlyCollection<Point>(coordinates?.ToArray() ?? Array.Empty<Point>());
3232
}
3333

3434
//[JsonConstructor]

src/GeoJSON.Text/Geometry/Position.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ public bool Equals(Position left, Position right)
135135
{
136136
return true;
137137
}
138-
if (ReferenceEquals(null, right) || ReferenceEquals(null, left))
138+
if (right is null || left is null)
139139
{
140140
return false;
141141
}

0 commit comments

Comments
 (0)