Skip to content

Commit ad8d967

Browse files
committed
Return CompilableProvider from Visitors
1 parent 59f82cb commit ad8d967

4 files changed

Lines changed: 32 additions & 43 deletions

File tree

Orm/Xtensive.Orm/Orm/Rse/Providers/CompilableProviderVisitor.cs

Lines changed: 18 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -73,14 +73,12 @@ protected override CompilableProvider VisitSelect(SelectProvider provider)
7373
}
7474

7575
/// <inheritdoc/>
76-
protected override TagProvider VisitTag(TagProvider provider)
76+
protected override CompilableProvider VisitTag(TagProvider provider)
7777
{
7878
OnRecursionEntrance(provider);
7979
var source = VisitCompilable(provider.Source);
8080
OnRecursionExit(provider);
81-
if (source == provider.Source)
82-
return provider;
83-
return new TagProvider(source, provider.Tag);
81+
return source == provider.Source ? provider : new TagProvider(source, provider.Tag);
8482
}
8583

8684
/// <inheritdoc/>
@@ -137,14 +135,12 @@ protected override CompilableProvider VisitFilter(FilterProvider provider)
137135
}
138136

139137
/// <inheritdoc/>
140-
protected override DistinctProvider VisitDistinct(DistinctProvider provider)
138+
protected override CompilableProvider VisitDistinct(DistinctProvider provider)
141139
{
142140
OnRecursionEntrance(provider);
143141
var source = VisitCompilable(provider.Source);
144142
OnRecursionExit(provider);
145-
if (source == provider.Source)
146-
return provider;
147-
return new DistinctProvider(source);
143+
return source == provider.Source ? provider : new DistinctProvider(source);
148144
}
149145

150146
/// <inheritdoc/>
@@ -179,14 +175,14 @@ protected override CompilableProvider VisitRowNumber(RowNumberProvider provider)
179175

180176

181177
/// <inheritdoc/>
182-
protected override AliasProvider VisitAlias(AliasProvider provider)
178+
protected override CompilableProvider VisitAlias(AliasProvider provider)
183179
{
184180
OnRecursionEntrance(provider);
185181
var source = VisitCompilable(provider.Source);
186182
OnRecursionExit(provider);
187-
if (source == provider.Source)
188-
return provider;
189-
return new AliasProvider(source, provider.Alias);
183+
return source == provider.Source
184+
? provider
185+
: new AliasProvider(source, provider.Alias);
190186
}
191187

192188
/// <inheritdoc/>
@@ -207,17 +203,16 @@ protected override CompilableProvider VisitAggregate(AggregateProvider provider)
207203
}
208204

209205
/// <inheritdoc/>
210-
protected override StoreProvider VisitStore(StoreProvider provider)
206+
protected override CompilableProvider VisitStore(StoreProvider provider)
211207
{
212-
var compilableSource = provider.Source as CompilableProvider;
213-
if (compilableSource == null)
208+
if (!(provider.Source is CompilableProvider compilableSource))
214209
return provider;
215210
OnRecursionEntrance(provider);
216211
var source = VisitCompilable(compilableSource);
217212
OnRecursionExit(provider);
218-
if (source == compilableSource)
219-
return provider;
220-
return new StoreProvider(source, provider.Name);
213+
return source == compilableSource
214+
? provider
215+
: new StoreProvider(source, provider.Name);
221216
}
222217

223218
/// <inheritdoc/>
@@ -237,7 +232,7 @@ protected override CompilableProvider VisitFreeText(FreeTextProvider provider)
237232
}
238233

239234
/// <inheritdoc/>
240-
protected override ContainsTableProvider VisitContainsTable(ContainsTableProvider provider)
235+
protected override CompilableProvider VisitContainsTable(ContainsTableProvider provider)
241236
{
242237
OnRecursionEntrance(provider);
243238
OnRecursionExit(provider);
@@ -257,14 +252,12 @@ protected override CompilableProvider VisitPredicateJoin(PredicateJoinProvider p
257252
}
258253

259254
/// <inheritdoc/>
260-
protected override ExistenceProvider VisitExistence(ExistenceProvider provider)
255+
protected override CompilableProvider VisitExistence(ExistenceProvider provider)
261256
{
262257
OnRecursionEntrance(provider);
263258
var source = VisitCompilable(provider.Source);
264259
OnRecursionExit(provider);
265-
if (source == provider.Source)
266-
return provider;
267-
return new ExistenceProvider(source, provider.ExistenceColumnName);
260+
return source == provider.Source ? provider : new ExistenceProvider(source, provider.ExistenceColumnName);
268261
}
269262

270263
/// <inheritdoc/>
@@ -328,14 +321,12 @@ protected override CompilableProvider VisitUnion(UnionProvider provider)
328321
}
329322

330323
/// <inheritdoc/>
331-
protected override LockProvider VisitLock(LockProvider provider)
324+
protected override CompilableProvider VisitLock(LockProvider provider)
332325
{
333326
OnRecursionEntrance(provider);
334327
var source = VisitCompilable(provider.Source);
335328
OnRecursionExit(provider);
336-
if (source == provider.Source)
337-
return provider;
338-
return new LockProvider(source, provider.LockMode, provider.LockBehavior);
329+
return source == provider.Source ? provider : new LockProvider(source, provider.LockMode, provider.LockBehavior);
339330
}
340331

341332
protected override CompilableProvider VisitInclude(IncludeProvider provider)

Orm/Xtensive.Orm/Orm/Rse/Transformation/ColumnMappingInspector.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ protected override CompilableProvider VisitFreeText(FreeTextProvider provider)
8888
return provider;
8989
}
9090

91-
protected override ContainsTableProvider VisitContainsTable(ContainsTableProvider provider)
91+
protected override CompilableProvider VisitContainsTable(ContainsTableProvider provider)
9292
{
9393
mappings[provider] = CollectionUtils.RangeToList(0, provider.Header.Length);
9494
return provider;
@@ -322,7 +322,7 @@ protected override CompilableProvider VisitRowNumber(RowNumberProvider provider)
322322
: new RowNumberProvider(newSource, rowNumberColumn.Name);
323323
}
324324

325-
protected override StoreProvider VisitStore(StoreProvider provider)
325+
protected override CompilableProvider VisitStore(StoreProvider provider)
326326
{
327327
if (!(provider.Source is CompilableProvider compilableSource)) {
328328
return provider;

Orm/Xtensive.Orm/Orm/Rse/Transformation/Internals/ApplyProviderCorrectorRewriter.cs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ protected override CompilableProvider VisitFilter(FilterProvider provider)
179179
return newProvider;
180180
}
181181

182-
protected override AliasProvider VisitAlias(AliasProvider provider)
182+
protected override CompilableProvider VisitAlias(AliasProvider provider)
183183
{
184184
var source = VisitCompilable(provider.Source);
185185
var newProvider = source!=provider.Source ? new AliasProvider(source, provider.Alias) : provider;
@@ -247,14 +247,12 @@ protected override CompilableProvider VisitExcept(ExceptProvider provider)
247247
return provider;
248248
}
249249

250-
protected override ConcatProvider VisitConcat(ConcatProvider provider)
250+
protected override CompilableProvider VisitConcat(ConcatProvider provider)
251251
{
252-
CompilableProvider left;
253-
CompilableProvider right;
254-
VisitBinaryProvider(provider, out left, out right);
255-
if (left != provider.Left || right != provider.Right)
256-
return new ConcatProvider(left, right);
257-
return provider;
252+
VisitBinaryProvider(provider, out var left, out var right);
253+
return left == provider.Left && right == provider.Right
254+
? provider
255+
: new ConcatProvider(left, right);
258256
}
259257

260258
protected override CompilableProvider VisitUnion(UnionProvider provider)

Orm/Xtensive.Orm/Orm/Rse/Transformation/Internals/OrderingRewriter.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ protected override CompilableProvider VisitSort(SortProvider provider)
6262
return source;
6363
}
6464

65-
protected override SelectProvider VisitSelect(SelectProvider provider)
65+
protected override CompilableProvider VisitSelect(SelectProvider provider)
6666
{
6767
var result = provider;
6868
var source = VisitCompilable(provider.Source);
@@ -93,7 +93,7 @@ protected override SelectProvider VisitSelect(SelectProvider provider)
9393
return result;
9494
}
9595

96-
protected override AggregateProvider VisitAggregate(AggregateProvider provider)
96+
protected override CompilableProvider VisitAggregate(AggregateProvider provider)
9797
{
9898
var result = provider;
9999
var source = VisitCompilable(provider.Source);
@@ -119,19 +119,19 @@ protected override AggregateProvider VisitAggregate(AggregateProvider provider)
119119
return result;
120120
}
121121

122-
protected override IndexProvider VisitIndex(IndexProvider provider)
122+
protected override CompilableProvider VisitIndex(IndexProvider provider)
123123
{
124124
sortOrder = new DirectionCollection<int>();
125125
return provider;
126126
}
127127

128-
protected override FreeTextProvider VisitFreeText(FreeTextProvider provider)
128+
protected override CompilableProvider VisitFreeText(FreeTextProvider provider)
129129
{
130130
sortOrder = new DirectionCollection<int>();
131131
return provider;
132132
}
133133

134-
protected override ContainsTableProvider VisitContainsTable(ContainsTableProvider provider)
134+
protected override CompilableProvider VisitContainsTable(ContainsTableProvider provider)
135135
{
136136
sortOrder = new DirectionCollection<int>();
137137
return provider;
@@ -143,7 +143,7 @@ protected override RawProvider VisitRaw(RawProvider provider)
143143
return provider;
144144
}
145145

146-
protected override StoreProvider VisitStore(StoreProvider provider)
146+
protected override CompilableProvider VisitStore(StoreProvider provider)
147147
{
148148
sortOrder = new DirectionCollection<int>();
149149
return provider;

0 commit comments

Comments
 (0)