Skip to content

Commit e6d545a

Browse files
authored
Automatic usage of collection initializers (#3051)
1 parent 5c744a8 commit e6d545a

File tree

109 files changed

+720
-779
lines changed

Some content is hidden

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

109 files changed

+720
-779
lines changed

EFCore.PG.sln

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
1010
README.md = README.md
1111
NuGet.config = NuGet.config
1212
global.json = global.json
13+
.editorconfig = .editorconfig
1314
EndProjectSection
1415
EndProject
1516
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{8537E50E-CF7F-49CB-B4EF-3E2A1B11F050}"

src/EFCore.PG.NTS/Query/ExpressionTranslators/Internal/NpgsqlNetTopologySuiteAggregateMethodCallTranslatorPlugin.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,16 +52,16 @@ public NpgsqlNetTopologySuiteAggregateMethodCallTranslatorPlugin(
5252
public class NpgsqlNetTopologySuiteAggregateMethodTranslator : IAggregateMethodCallTranslator
5353
{
5454
private static readonly MethodInfo GeometryCombineMethod
55-
= typeof(GeometryCombiner).GetRuntimeMethod(nameof(GeometryCombiner.Combine), new[] { typeof(IEnumerable<Geometry>) })!;
55+
= typeof(GeometryCombiner).GetRuntimeMethod(nameof(GeometryCombiner.Combine), [typeof(IEnumerable<Geometry>)])!;
5656

5757
private static readonly MethodInfo ConvexHullMethod
58-
= typeof(ConvexHull).GetRuntimeMethod(nameof(ConvexHull.Create), new[] { typeof(IEnumerable<Geometry>) })!;
58+
= typeof(ConvexHull).GetRuntimeMethod(nameof(ConvexHull.Create), [typeof(IEnumerable<Geometry>)])!;
5959

6060
private static readonly MethodInfo UnionMethod
61-
= typeof(UnaryUnionOp).GetRuntimeMethod(nameof(UnaryUnionOp.Union), new[] { typeof(IEnumerable<Geometry>) })!;
61+
= typeof(UnaryUnionOp).GetRuntimeMethod(nameof(UnaryUnionOp.Union), [typeof(IEnumerable<Geometry>)])!;
6262

6363
private static readonly MethodInfo EnvelopeCombineMethod
64-
= typeof(EnvelopeCombiner).GetRuntimeMethod(nameof(EnvelopeCombiner.CombineAsGeometry), new[] { typeof(IEnumerable<Geometry>) })!;
64+
= typeof(EnvelopeCombiner).GetRuntimeMethod(nameof(EnvelopeCombiner.CombineAsGeometry), [typeof(IEnumerable<Geometry>)])!;
6565

6666
private readonly NpgsqlSqlExpressionFactory _sqlExpressionFactory;
6767
private readonly IRelationalTypeMappingSource _typeMappingSource;

src/EFCore.PG.NTS/Query/ExpressionTranslators/Internal/NpgsqlNetTopologySuiteMemberTranslatorPlugin.cs

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public class NpgsqlGeometryMemberTranslator : IMemberTranslator
4444
private readonly IRelationalTypeMappingSource _typeMappingSource;
4545
private readonly CaseWhenClause[] _ogcGeometryTypeWhenThenList;
4646

47-
private static readonly bool[][] TrueArrays = { Array.Empty<bool>(), new[] { true }, new[] { true, true }, new[] { true, true, true } };
47+
private static readonly bool[][] TrueArrays = [[], [true], [true, true], [true, true, true]];
4848

4949
/// <summary>
5050
/// This is an internal API that supports the Entity Framework Core infrastructure and not subject to
@@ -59,8 +59,8 @@ public NpgsqlGeometryMemberTranslator(
5959
_sqlExpressionFactory = sqlExpressionFactory;
6060
_typeMappingSource = typeMappingSource;
6161

62-
_ogcGeometryTypeWhenThenList = new[]
63-
{
62+
_ogcGeometryTypeWhenThenList =
63+
[
6464
new CaseWhenClause(
6565
_sqlExpressionFactory.Constant("ST_CircularString"), _sqlExpressionFactory.Constant(OgcGeometryType.CircularString)),
6666
new CaseWhenClause(
@@ -88,7 +88,7 @@ public NpgsqlGeometryMemberTranslator(
8888
_sqlExpressionFactory.Constant("ST_PolyhedralSurface"),
8989
_sqlExpressionFactory.Constant(OgcGeometryType.PolyhedralSurface)),
9090
new CaseWhenClause(_sqlExpressionFactory.Constant("ST_Tin"), _sqlExpressionFactory.Constant(OgcGeometryType.TIN))
91-
};
91+
];
9292
}
9393

9494
/// <summary>
@@ -127,45 +127,45 @@ public NpgsqlGeometryMemberTranslator(
127127

128128
if (function is not null)
129129
{
130-
return Function(function, new[] { instance }, typeof(double));
130+
return Function(function, [instance], typeof(double));
131131
}
132132
}
133133

134134
if (typeof(LineString).IsAssignableFrom(declaringType))
135135
{
136136
if (member.Name == "Count")
137137
{
138-
return Function("ST_NumPoints", new[] { instance }, typeof(int));
138+
return Function("ST_NumPoints", [instance], typeof(int));
139139
}
140140
}
141141

142142
return member.Name switch
143143
{
144-
nameof(Geometry.Area) => Function("ST_Area", new[] { instance }, typeof(double)),
145-
nameof(Geometry.Boundary) => Function("ST_Boundary", new[] { instance }, typeof(Geometry), ResultGeometryMapping()),
146-
nameof(Geometry.Centroid) => Function("ST_Centroid", new[] { instance }, typeof(Point), ResultGeometryMapping()),
147-
nameof(GeometryCollection.Count) => Function("ST_NumGeometries", new[] { instance }, typeof(int)),
148-
nameof(Geometry.Dimension) => Function("ST_Dimension", new[] { instance }, typeof(Dimension)),
149-
nameof(LineString.EndPoint) => Function("ST_EndPoint", new[] { instance }, typeof(Point), ResultGeometryMapping()),
150-
nameof(Geometry.Envelope) => Function("ST_Envelope", new[] { instance }, typeof(Geometry), ResultGeometryMapping()),
151-
nameof(Polygon.ExteriorRing) => Function("ST_ExteriorRing", new[] { instance }, typeof(LineString), ResultGeometryMapping()),
152-
nameof(Geometry.GeometryType) => Function("GeometryType", new[] { instance }, typeof(string)),
153-
nameof(LineString.IsClosed) => Function("ST_IsClosed", new[] { instance }, typeof(bool)),
154-
nameof(Geometry.IsEmpty) => Function("ST_IsEmpty", new[] { instance }, typeof(bool)),
155-
nameof(LineString.IsRing) => Function("ST_IsRing", new[] { instance }, typeof(bool)),
156-
nameof(Geometry.IsSimple) => Function("ST_IsSimple", new[] { instance }, typeof(bool)),
157-
nameof(Geometry.IsValid) => Function("ST_IsValid", new[] { instance }, typeof(bool)),
158-
nameof(Geometry.Length) => Function("ST_Length", new[] { instance }, typeof(double)),
159-
nameof(Geometry.NumGeometries) => Function("ST_NumGeometries", new[] { instance }, typeof(int)),
160-
nameof(Polygon.NumInteriorRings) => Function("ST_NumInteriorRings", new[] { instance }, typeof(int)),
161-
nameof(Geometry.NumPoints) => Function("ST_NumPoints", new[] { instance }, typeof(int)),
162-
nameof(Geometry.PointOnSurface) => Function("ST_PointOnSurface", new[] { instance }, typeof(Geometry), ResultGeometryMapping()),
163-
nameof(Geometry.InteriorPoint) => Function("ST_PointOnSurface", new[] { instance }, typeof(Geometry), ResultGeometryMapping()),
164-
nameof(Geometry.SRID) => Function("ST_SRID", new[] { instance }, typeof(int)),
165-
nameof(LineString.StartPoint) => Function("ST_StartPoint", new[] { instance }, typeof(Point), ResultGeometryMapping()),
144+
nameof(Geometry.Area) => Function("ST_Area", [instance], typeof(double)),
145+
nameof(Geometry.Boundary) => Function("ST_Boundary", [instance], typeof(Geometry), ResultGeometryMapping()),
146+
nameof(Geometry.Centroid) => Function("ST_Centroid", [instance], typeof(Point), ResultGeometryMapping()),
147+
nameof(GeometryCollection.Count) => Function("ST_NumGeometries", [instance], typeof(int)),
148+
nameof(Geometry.Dimension) => Function("ST_Dimension", [instance], typeof(Dimension)),
149+
nameof(LineString.EndPoint) => Function("ST_EndPoint", [instance], typeof(Point), ResultGeometryMapping()),
150+
nameof(Geometry.Envelope) => Function("ST_Envelope", [instance], typeof(Geometry), ResultGeometryMapping()),
151+
nameof(Polygon.ExteriorRing) => Function("ST_ExteriorRing", [instance], typeof(LineString), ResultGeometryMapping()),
152+
nameof(Geometry.GeometryType) => Function("GeometryType", [instance], typeof(string)),
153+
nameof(LineString.IsClosed) => Function("ST_IsClosed", [instance], typeof(bool)),
154+
nameof(Geometry.IsEmpty) => Function("ST_IsEmpty", [instance], typeof(bool)),
155+
nameof(LineString.IsRing) => Function("ST_IsRing", [instance], typeof(bool)),
156+
nameof(Geometry.IsSimple) => Function("ST_IsSimple", [instance], typeof(bool)),
157+
nameof(Geometry.IsValid) => Function("ST_IsValid", [instance], typeof(bool)),
158+
nameof(Geometry.Length) => Function("ST_Length", [instance], typeof(double)),
159+
nameof(Geometry.NumGeometries) => Function("ST_NumGeometries", [instance], typeof(int)),
160+
nameof(Polygon.NumInteriorRings) => Function("ST_NumInteriorRings", [instance], typeof(int)),
161+
nameof(Geometry.NumPoints) => Function("ST_NumPoints", [instance], typeof(int)),
162+
nameof(Geometry.PointOnSurface) => Function("ST_PointOnSurface", [instance], typeof(Geometry), ResultGeometryMapping()),
163+
nameof(Geometry.InteriorPoint) => Function("ST_PointOnSurface", [instance], typeof(Geometry), ResultGeometryMapping()),
164+
nameof(Geometry.SRID) => Function("ST_SRID", [instance], typeof(int)),
165+
nameof(LineString.StartPoint) => Function("ST_StartPoint", [instance], typeof(Point), ResultGeometryMapping()),
166166

167167
nameof(Geometry.OgcGeometryType) => _sqlExpressionFactory.Case(
168-
Function("ST_GeometryType", new[] { instance }, typeof(string)),
168+
Function("ST_GeometryType", [instance], typeof(string)),
169169
_ogcGeometryTypeWhenThenList,
170170
elseResult: null),
171171

src/EFCore.PG.NTS/Query/ExpressionTranslators/Internal/NpgsqlNetTopologySuiteMethodCallTranslatorPlugin.cs

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,9 @@ public class NpgsqlGeometryMethodTranslator : IMethodCallTranslator
5353
private readonly IRelationalTypeMappingSource _typeMappingSource;
5454

5555
private static readonly bool[][] TrueArrays =
56-
{
57-
Array.Empty<bool>(), new[] { true }, new[] { true, true }, new[] { true, true, true }, new[] { true, true, true, true }
58-
};
56+
[
57+
[], [true], [true, true], [true, true, true], [true, true, true, true]
58+
];
5959

6060
/// <summary>
6161
/// This is an internal API that supports the Entity Framework Core infrastructure and not subject to
@@ -157,65 +157,65 @@ public NpgsqlGeometryMethodTranslator(
157157
return method.Name switch
158158
{
159159
nameof(Geometry.AsBinary)
160-
=> Function("ST_AsBinary", new[] { instance }, typeof(byte[])),
160+
=> Function("ST_AsBinary", [instance], typeof(byte[])),
161161
nameof(Geometry.AsText)
162-
=> Function("ST_AsText", new[] { instance }, typeof(string)),
162+
=> Function("ST_AsText", [instance], typeof(string)),
163163
nameof(Geometry.Buffer)
164164
=> Function("ST_Buffer", new[] { instance }.Concat(arguments).ToArray(), typeof(Geometry), ResultGeometryMapping()),
165165
nameof(Geometry.Contains)
166-
=> Function("ST_Contains", new[] { instance, arguments[0] }, typeof(bool)),
166+
=> Function("ST_Contains", [instance, arguments[0]], typeof(bool)),
167167
nameof(Geometry.ConvexHull)
168-
=> Function("ST_ConvexHull", new[] { instance }, typeof(Geometry), ResultGeometryMapping()),
168+
=> Function("ST_ConvexHull", [instance], typeof(Geometry), ResultGeometryMapping()),
169169
nameof(Geometry.CoveredBy)
170-
=> Function("ST_CoveredBy", new[] { instance, arguments[0] }, typeof(bool)),
170+
=> Function("ST_CoveredBy", [instance, arguments[0]], typeof(bool)),
171171
nameof(Geometry.Covers)
172-
=> Function("ST_Covers", new[] { instance, arguments[0] }, typeof(bool)),
172+
=> Function("ST_Covers", [instance, arguments[0]], typeof(bool)),
173173
nameof(Geometry.Crosses)
174-
=> Function("ST_Crosses", new[] { instance, arguments[0] }, typeof(bool)),
174+
=> Function("ST_Crosses", [instance, arguments[0]], typeof(bool)),
175175
nameof(Geometry.Disjoint)
176-
=> Function("ST_Disjoint", new[] { instance, arguments[0] }, typeof(bool)),
176+
=> Function("ST_Disjoint", [instance, arguments[0]], typeof(bool)),
177177
nameof(Geometry.Difference)
178-
=> Function("ST_Difference", new[] { instance, arguments[0] }, typeof(Geometry), ResultGeometryMapping()),
178+
=> Function("ST_Difference", [instance, arguments[0]], typeof(Geometry), ResultGeometryMapping()),
179179
nameof(Geometry.Distance)
180180
=> Function("ST_Distance", new[] { instance }.Concat(arguments).ToArray(), typeof(double)),
181181
nameof(Geometry.EqualsExact)
182-
=> Function("ST_OrderingEquals", new[] { instance, arguments[0] }, typeof(bool)),
182+
=> Function("ST_OrderingEquals", [instance, arguments[0]], typeof(bool)),
183183
nameof(Geometry.EqualsTopologically)
184-
=> Function("ST_Equals", new[] { instance, arguments[0] }, typeof(bool)),
184+
=> Function("ST_Equals", [instance, arguments[0]], typeof(bool)),
185185
nameof(Geometry.GetGeometryN)
186-
=> Function("ST_GeometryN", new[] { instance, OneBased(arguments[0]) }, typeof(Geometry), ResultGeometryMapping()),
186+
=> Function("ST_GeometryN", [instance, OneBased(arguments[0])], typeof(Geometry), ResultGeometryMapping()),
187187
nameof(Polygon.GetInteriorRingN)
188-
=> Function("ST_InteriorRingN", new[] { instance, OneBased(arguments[0]) }, typeof(Geometry), ResultGeometryMapping()),
188+
=> Function("ST_InteriorRingN", [instance, OneBased(arguments[0])], typeof(Geometry), ResultGeometryMapping()),
189189
nameof(LineString.GetPointN)
190-
=> Function("ST_PointN", new[] { instance, OneBased(arguments[0]) }, typeof(Geometry), ResultGeometryMapping()),
190+
=> Function("ST_PointN", [instance, OneBased(arguments[0])], typeof(Geometry), ResultGeometryMapping()),
191191
nameof(Geometry.Intersection)
192-
=> Function("ST_Intersection", new[] { instance, arguments[0] }, typeof(Geometry), ResultGeometryMapping()),
192+
=> Function("ST_Intersection", [instance, arguments[0]], typeof(Geometry), ResultGeometryMapping()),
193193
nameof(Geometry.Intersects)
194-
=> Function("ST_Intersects", new[] { instance, arguments[0] }, typeof(bool)),
194+
=> Function("ST_Intersects", [instance, arguments[0]], typeof(bool)),
195195
nameof(Geometry.IsWithinDistance)
196196
=> Function("ST_DWithin", new[] { instance }.Concat(arguments).ToArray(), typeof(bool)),
197197
nameof(Geometry.Normalized)
198-
=> Function("ST_Normalize", new[] { instance }, typeof(Geometry), ResultGeometryMapping()),
198+
=> Function("ST_Normalize", [instance], typeof(Geometry), ResultGeometryMapping()),
199199
nameof(Geometry.Overlaps)
200-
=> Function("ST_Overlaps", new[] { instance, arguments[0] }, typeof(bool)),
200+
=> Function("ST_Overlaps", [instance, arguments[0]], typeof(bool)),
201201
nameof(Geometry.Relate)
202-
=> Function("ST_Relate", new[] { instance, arguments[0], arguments[1] }, typeof(bool)),
202+
=> Function("ST_Relate", [instance, arguments[0], arguments[1]], typeof(bool)),
203203
nameof(Geometry.Reverse)
204-
=> Function("ST_Reverse", new[] { instance }, typeof(Geometry), ResultGeometryMapping()),
204+
=> Function("ST_Reverse", [instance], typeof(Geometry), ResultGeometryMapping()),
205205
nameof(Geometry.SymmetricDifference)
206-
=> Function("ST_SymDifference", new[] { instance, arguments[0] }, typeof(Geometry), ResultGeometryMapping()),
206+
=> Function("ST_SymDifference", [instance, arguments[0]], typeof(Geometry), ResultGeometryMapping()),
207207
nameof(Geometry.ToBinary)
208-
=> Function("ST_AsBinary", new[] { instance }, typeof(byte[])),
208+
=> Function("ST_AsBinary", [instance], typeof(byte[])),
209209
nameof(Geometry.ToText)
210-
=> Function("ST_AsText", new[] { instance }, typeof(string)),
210+
=> Function("ST_AsText", [instance], typeof(string)),
211211
nameof(Geometry.Touches)
212-
=> Function("ST_Touches", new[] { instance, arguments[0] }, typeof(bool)),
212+
=> Function("ST_Touches", [instance, arguments[0]], typeof(bool)),
213213
nameof(Geometry.Within)
214-
=> Function("ST_Within", new[] { instance, arguments[0] }, typeof(bool)),
214+
=> Function("ST_Within", [instance, arguments[0]], typeof(bool)),
215215
nameof(Geometry.Union) when arguments.Count == 0
216-
=> Function("ST_UnaryUnion", new[] { instance }, typeof(Geometry), ResultGeometryMapping()),
216+
=> Function("ST_UnaryUnion", [instance], typeof(Geometry), ResultGeometryMapping()),
217217
nameof(Geometry.Union) when arguments.Count == 1
218-
=> Function("ST_Union", new[] { instance, arguments[0] }, typeof(Geometry), ResultGeometryMapping()),
218+
=> Function("ST_Union", [instance, arguments[0]], typeof(Geometry), ResultGeometryMapping()),
219219

220220
_ => null
221221
};

src/EFCore.PG.NodaTime/Query/Internal/NpgsqlNodaTimeAggregateMethodCallTranslatorPlugin.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public NpgsqlNodaTimeAggregateMethodCallTranslatorPlugin(
4848
/// </summary>
4949
public class NpgsqlNodaTimeAggregateMethodTranslator : IAggregateMethodCallTranslator
5050
{
51-
private static readonly bool[][] FalseArrays = { Array.Empty<bool>(), new[] { false } };
51+
private static readonly bool[][] FalseArrays = [[], [false]];
5252

5353
private readonly NpgsqlSqlExpressionFactory _sqlExpressionFactory;
5454
private readonly IRelationalTypeMappingSource _typeMappingSource;

src/EFCore.PG.NodaTime/Query/Internal/NpgsqlNodaTimeEvaluatableExpressionFilterPlugin.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace Npgsql.EntityFrameworkCore.PostgreSQL.NodaTime.Query.Internal;
99
public class NpgsqlNodaTimeEvaluatableExpressionFilterPlugin : IEvaluatableExpressionFilterPlugin
1010
{
1111
private static readonly MethodInfo GetCurrentInstantMethod =
12-
typeof(SystemClock).GetRuntimeMethod(nameof(SystemClock.GetCurrentInstant), Array.Empty<Type>())!;
12+
typeof(SystemClock).GetRuntimeMethod(nameof(SystemClock.GetCurrentInstant), [])!;
1313

1414
private static readonly MemberInfo SystemClockInstanceMember =
1515
typeof(SystemClock).GetMember(nameof(SystemClock.Instance)).FirstOrDefault()!;

src/EFCore.PG.NodaTime/Query/Internal/NpgsqlNodaTimeMemberTranslatorPlugin.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ public NpgsqlNodaTimeMemberTranslator(
100100
_localDateTimeTypeMapping = typeMappingSource.FindMapping(typeof(LocalDateTime))!;
101101
}
102102

103-
private static readonly bool[][] TrueArrays = { Array.Empty<bool>(), new[] { true }, new[] { true, true } };
103+
private static readonly bool[][] TrueArrays = [[], [true], [true, true]];
104104

105105
/// <inheritdoc />
106106
public virtual SqlExpression? Translate(

0 commit comments

Comments
 (0)