Skip to content

Commit 5ecc66d

Browse files
committed
Fix code formatting in the ExpressionExtensions class
1 parent 67c979b commit 5ecc66d

1 file changed

Lines changed: 77 additions & 76 deletions

File tree

Orm/Xtensive.Orm/Orm/Linq/ExpressionExtensions.cs

Lines changed: 77 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
// Created: 2008.12.02
66

77
using System;
8-
using System.Collections.Generic;
98
using System.Linq;
109
using System.Linq.Expressions;
1110
using System.Reflection;
@@ -20,18 +19,21 @@ internal static class ExpressionExtensions
2019
{
2120
public static void EnsureKeyExpressionCompatible(this KeyExpression left, KeyExpression right, Expression expressionPart)
2221
{
23-
if (left==null || right==null)
22+
if (left==null || right==null) {
2423
return;
24+
}
2525

2626
if (left.EntityType.IsInterface || right.EntityType.IsInterface) {
27-
if (left.EntityType.Key.EqualityIdentifier!=right.EntityType.Key.EqualityIdentifier)
27+
if (left.EntityType.Key.EqualityIdentifier!=right.EntityType.Key.EqualityIdentifier) {
2828
throw new InvalidOperationException(string.Format(
2929
Strings.ExKeysOfXAndXNotCompatible, expressionPart.ToString(true), left.EntityType, right.EntityType));
30+
}
3031
}
3132
else {
32-
if (left.EntityType.Hierarchy!=right.EntityType.Hierarchy)
33+
if (left.EntityType.Hierarchy!=right.EntityType.Hierarchy) {
3334
throw new InvalidOperationException(string.Format(
3435
Strings.ExEntitiesXAndXBelongToDifferentHierarchies, expressionPart.ToString(true), left.EntityType, right.EntityType));
36+
}
3537
}
3638
}
3739

@@ -41,173 +43,170 @@ public static bool IsAnonymousConstructor(this Expression expression)
4143
return expression.NodeType==ExpressionType.New && expression.GetMemberType()==MemberType.Anonymous;
4244
}
4345

44-
public static bool IsNewExpressionSupportedByStorage(this Expression expression)
45-
{
46-
return expression.NodeType==ExpressionType.New
47-
&& (expression.Type==WellKnownTypes.TimeSpan
48-
|| expression.Type==WellKnownTypes.DateTime
49-
|| expression.Type==WellKnownTypes.DateTimeOffset);
50-
}
46+
public static bool IsNewExpressionSupportedByStorage(this Expression expression) =>
47+
expression.NodeType == ExpressionType.New
48+
&& (expression.Type == WellKnownTypes.TimeSpan
49+
|| expression.Type == WellKnownTypes.DateTime
50+
|| expression.Type == WellKnownTypes.DateTimeOffset);
5151

52-
public static bool IsConversionOperation(this Expression expression)
53-
{
54-
expression = expression.StripMarkers();
55-
return expression.NodeType==ExpressionType.Convert || expression.NodeType==ExpressionType.TypeAs;
56-
}
57-
58-
public static bool IsQuery(this Expression expression)
59-
{
60-
return expression.Type.IsOfGenericInterface(WellKnownInterfaces.QueryableOfT);
61-
}
52+
public static bool IsQuery(this Expression expression) =>
53+
expression.Type.IsOfGenericInterface(WellKnownInterfaces.QueryableOfT);
6254

63-
public static bool IsLocalCollection(this Expression expression, TranslatorContext context)
64-
{
65-
return expression!=null
66-
&& !expression.IsProjection()
67-
&& !expression.IsGroupingExpression()
68-
&& !expression.IsEntitySet()
69-
&& !expression.IsSubqueryExpression()
70-
&& expression.Type!=WellKnownTypes.String
71-
&& expression.Type.IsOfGenericInterface(WellKnownInterfaces.EnumerableOfT)
72-
&& (IsEvaluableCollection(context, expression) || IsForeignQuery(expression));
73-
}
55+
public static bool IsLocalCollection(this Expression expression, TranslatorContext context) =>
56+
expression != null
57+
&& !expression.IsProjection()
58+
&& !expression.IsGroupingExpression()
59+
&& !expression.IsEntitySet()
60+
&& !expression.IsSubqueryExpression()
61+
&& expression.Type != WellKnownTypes.String
62+
&& expression.Type.IsOfGenericInterface(WellKnownInterfaces.EnumerableOfT)
63+
&& (IsEvaluableCollection(context, expression) || IsForeignQuery(expression));
7464

75-
private static bool IsEvaluableCollection(TranslatorContext context, Expression expression)
76-
{
77-
return !expression.Type.IsOfGenericInterface(WellKnownInterfaces.QueryableOfT)
78-
&& context.Evaluator.CanBeEvaluated(expression);
79-
}
65+
private static bool IsEvaluableCollection(TranslatorContext context, Expression expression) =>
66+
!expression.Type.IsOfGenericInterface(WellKnownInterfaces.QueryableOfT)
67+
&& context.Evaluator.CanBeEvaluated(expression);
8068

8169
private static bool IsForeignQuery(Expression expression)
8270
{
8371
// Check for EnumerableQuery<T> and similar things
84-
if (expression.NodeType==ExpressionType.Constant) {
85-
var value = ((ConstantExpression) expression).Value as IQueryable;
86-
if (value!=null) {
72+
if (expression.NodeType == ExpressionType.Constant) {
73+
if (((ConstantExpression) expression).Value is IQueryable value) {
8774
var type = value.GetType();
8875
if (type.IsGenericType) {
8976
var definition = type.GetGenericTypeDefinition();
90-
return definition!=WellKnownInterfaces.QueryableOfT && definition!=WellKnownTypes.QueryableOfT;
77+
return definition != WellKnownInterfaces.QueryableOfT && definition != WellKnownTypes.QueryableOfT;
9178
}
9279
}
9380
}
81+
9482
return false;
9583
}
9684

9785
public static bool IsItemProjector(this Expression expression)
9886
{
9987
expression = expression.StripMarkers();
100-
return (ExtendedExpressionType) expression.NodeType==ExtendedExpressionType.ItemProjector;
88+
return (ExtendedExpressionType) expression.NodeType == ExtendedExpressionType.ItemProjector;
10189
}
10290

10391
public static bool IsProjection(this Expression expression)
10492
{
10593
expression = expression.StripMarkers();
106-
return (ExtendedExpressionType) expression.NodeType==ExtendedExpressionType.Projection;
94+
return (ExtendedExpressionType) expression.NodeType == ExtendedExpressionType.Projection;
10795
}
10896

10997
public static bool IsEntitySetProjection(this Expression expression)
11098
{
11199
expression = expression.StripMarkers();
112-
return (ExtendedExpressionType) expression.NodeType==ExtendedExpressionType.EntitySet;
100+
return (ExtendedExpressionType) expression.NodeType == ExtendedExpressionType.EntitySet;
113101
}
114102

115103
public static bool IsGroupingExpression(this Expression expression)
116104
{
117105
expression = expression.StripMarkers();
118-
return (ExtendedExpressionType) expression.NodeType==ExtendedExpressionType.Grouping;
106+
return (ExtendedExpressionType) expression.NodeType == ExtendedExpressionType.Grouping;
119107
}
120108

121109
public static bool IsSubqueryExpression(this Expression expression)
122110
{
123111
expression = expression.StripMarkers();
124-
return (ExtendedExpressionType) expression.NodeType==ExtendedExpressionType.SubQuery;
112+
return (ExtendedExpressionType) expression.NodeType == ExtendedExpressionType.SubQuery;
125113
}
126114

127115
public static bool IsFullTextMatchExpression(this Expression expression)
128116
{
129117
expression = expression.StripMarkers();
130-
return (ExtendedExpressionType) expression.NodeType==ExtendedExpressionType.FullText;
118+
return (ExtendedExpressionType) expression.NodeType == ExtendedExpressionType.FullText;
131119
}
132120

133121
public static bool IsEntityExpression(this Expression expression)
134122
{
135123
expression = expression.StripMarkers();
136-
return (ExtendedExpressionType) expression.NodeType==ExtendedExpressionType.Entity;
124+
return (ExtendedExpressionType) expression.NodeType == ExtendedExpressionType.Entity;
137125
}
138126

139127
public static bool IsEntitySetExpression(this Expression expression)
140128
{
141129
expression = expression.StripMarkers();
142-
return (ExtendedExpressionType) expression.NodeType==ExtendedExpressionType.EntitySet;
130+
return (ExtendedExpressionType) expression.NodeType == ExtendedExpressionType.EntitySet;
143131
}
144132

145-
public static bool IsEntitySet(this Expression expression)
146-
{
147-
return expression.Type.IsGenericType
148-
&& expression.Type.GetGenericTypeDefinition()==WellKnownOrmTypes.EntitySetOfT;
149-
}
150-
151-
public static Type GetGroupingKeyType(this Expression expression)
152-
{
153-
var newExpression = (NewExpression) expression.StripCasts();
154-
return newExpression.Type.GetGenericArguments()[0];
155-
}
133+
public static bool IsEntitySet(this Expression expression) =>
134+
expression.Type.IsGenericType
135+
&& expression.Type.GetGenericTypeDefinition() == WellKnownOrmTypes.EntitySetOfT;
156136

157137
public static Expression StripMarkers(this Expression e)
158138
{
159-
var ee = e as ExtendedExpression;
160-
if (ee!=null && ee.ExtendedType==ExtendedExpressionType.Marker) {
139+
if (e is ExtendedExpression ee && ee.ExtendedType == ExtendedExpressionType.Marker) {
161140
var marker = (MarkerExpression) ee;
162141
return marker.Target;
163142
}
143+
164144
return e;
165145
}
166146

167147
public static bool IsMarker(this Expression e)
168148
{
169149
e = e.StripCasts();
170-
return (ExtendedExpressionType) e.NodeType==ExtendedExpressionType.Marker;
150+
return (ExtendedExpressionType) e.NodeType == ExtendedExpressionType.Marker;
171151
}
172152

173153
public static bool TryGetMarker(this Expression e, out MarkerType markerType)
174154
{
175155
e = e.StripCasts();
176156
markerType = MarkerType.None;
177-
var result = (ExtendedExpressionType) e.NodeType==ExtendedExpressionType.Marker;
157+
var result = (ExtendedExpressionType) e.NodeType == ExtendedExpressionType.Marker;
178158
if (result) {
179159
var marker = (MarkerExpression) e;
180160
markerType = marker.MarkerType;
181161
}
162+
182163
return result;
183164
}
184165

185166
public static MemberType GetMemberType(this Expression e)
186167
{
187168
e = e.StripMarkers();
188169
var type = e.Type;
189-
if (WellKnownOrmTypes.Key.IsAssignableFrom(type))
170+
if (WellKnownOrmTypes.Key.IsAssignableFrom(type)) {
190171
return MemberType.Key;
191-
if (WellKnownOrmInterfaces.Entity.IsAssignableFrom(type))
172+
}
173+
174+
if (WellKnownOrmInterfaces.Entity.IsAssignableFrom(type)) {
192175
return MemberType.Entity;
193-
if (WellKnownOrmTypes.Structure.IsAssignableFrom(type))
176+
}
177+
178+
if (WellKnownOrmTypes.Structure.IsAssignableFrom(type)) {
194179
return MemberType.Structure;
195-
if (WellKnownOrmTypes.EntitySetBase.IsAssignableFrom(type))
180+
}
181+
182+
if (WellKnownOrmTypes.EntitySetBase.IsAssignableFrom(type)) {
196183
return MemberType.EntitySet;
197-
if (type.IsAnonymous())
184+
}
185+
186+
if (type.IsAnonymous()) {
198187
return MemberType.Anonymous;
199-
if (e.IsGroupingExpression())
188+
}
189+
190+
if (e.IsGroupingExpression()) {
200191
return MemberType.Grouping;
201-
if (e.IsSubqueryExpression())
192+
}
193+
194+
if (e.IsSubqueryExpression()) {
202195
return MemberType.Subquery;
203-
if (e.IsFullTextMatchExpression())
196+
}
197+
198+
if (e.IsFullTextMatchExpression()) {
204199
return MemberType.FullTextMatch;
205-
if (type.IsArray)
200+
}
201+
202+
if (type.IsArray) {
206203
return MemberType.Array;
204+
}
207205

208-
if ((ExtendedExpressionType) e.NodeType==ExtendedExpressionType.Field
209-
|| (ExtendedExpressionType) e.NodeType==ExtendedExpressionType.Column)
206+
if ((ExtendedExpressionType) e.NodeType == ExtendedExpressionType.Field
207+
|| (ExtendedExpressionType) e.NodeType == ExtendedExpressionType.Column) {
210208
return MemberType.Primitive;
209+
}
211210

212211
return MemberType.Unknown;
213212
}
@@ -220,10 +219,12 @@ public static ParameterInfo[] GetConstructorParameters(this NewExpression expres
220219

221220
// ReSharper disable ConditionIsAlwaysTrueOrFalse
222221
// ReSharper disable HeuristicUnreachableCode
223-
if (expression.Constructor==null)
222+
if (expression.Constructor == null) {
224223
return new ParameterInfo[0];
224+
}
225225
// ReSharper restore ConditionIsAlwaysTrueOrFalse
226226
// ReSharper restore HeuristicUnreachableCode
227+
227228
return expression.Constructor.GetParameters();
228229
}
229230
}

0 commit comments

Comments
 (0)