Skip to content

Commit 8a03ac0

Browse files
committed
Rename ProjectionExpression.Apply(ItemProjectorExpression) -> ApplyItemProjector
1 parent de92c75 commit 8a03ac0

11 files changed

+35
-31
lines changed

Orm/Xtensive.Orm/Orm/Linq/Expressions/GroupingExpression.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ public override Expression ReplaceApplyParameter(ApplyParameter newApplyParamete
9090
return new GroupingExpression(Type, OuterParameter, DefaultIfEmpty, ProjectionExpression, ApplyParameter, KeyExpression, SelectManyInfo);
9191

9292
var newItemProjector = ProjectionExpression.ItemProjector.RewriteApplyParameter(ApplyParameter, newApplyParameter);
93-
var newProjectionExpression = ProjectionExpression.Apply(newItemProjector);
93+
var newProjectionExpression = ProjectionExpression.ApplyItemProjector(newItemProjector);
9494
return new GroupingExpression(Type, OuterParameter, DefaultIfEmpty, newProjectionExpression, newApplyParameter, KeyExpression, SelectManyInfo);
9595
}
9696

Orm/Xtensive.Orm/Orm/Linq/Expressions/ProjectionExpression.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,14 @@ internal class ProjectionExpression : ExtendedExpression
2121

2222
public override string ToString() => $"Projection: {ItemProjector}, IsScalar = {IsScalar}";
2323

24-
public ProjectionExpression Apply(ItemProjectorExpression itemProjectorExpression) =>
24+
/// <summary>
25+
/// Creates new <see cref="ProjectionExpression"/> based on this instance. New projection
26+
/// inherits all properties but <see cref="ProjectionExpression.ItemProjector"/>, which is
27+
/// replaced by the given <paramref name="itemProjectorExpression"/>.
28+
/// </summary>
29+
/// <param name="itemProjectorExpression">Replacement of <see cref="ProjectionExpression.ItemProjector"/>.</param>
30+
/// <returns>New instance with replaced item projector.</returns>
31+
public ProjectionExpression ApplyItemProjector(ItemProjectorExpression itemProjectorExpression) =>
2532
new ProjectionExpression(Type, itemProjectorExpression, TupleParameterBindings, ResultAccessMethod);
2633

2734
// Constructors

Orm/Xtensive.Orm/Orm/Linq/Expressions/SubQueryExpression.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ public virtual Expression ReplaceApplyParameter(ApplyParameter newApplyParameter
109109
return new SubQueryExpression(Type, OuterParameter, DefaultIfEmpty, ProjectionExpression, ApplyParameter);
110110

111111
var newItemProjector = ProjectionExpression.ItemProjector.RewriteApplyParameter(ApplyParameter, newApplyParameter);
112-
var newProjectionExpression = ProjectionExpression.Apply(newItemProjector);
112+
var newProjectionExpression = ProjectionExpression.ApplyItemProjector(newItemProjector);
113113
return new SubQueryExpression(Type, OuterParameter, DefaultIfEmpty, newProjectionExpression, newApplyParameter);
114114
}
115115

Orm/Xtensive.Orm/Orm/Linq/Expressions/Visitors/ExtendedExpressionReplacer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ protected override Expression VisitProjectionExpression(ProjectionExpression pro
3838
var itemChanged = item != projectionExpression.ItemProjector.Item;
3939
if (providerChanged || itemChanged) {
4040
var itemProjector = new ItemProjectorExpression(item, provider, projectionExpression.ItemProjector.Context);
41-
return projectionExpression.Apply(itemProjector);
41+
return projectionExpression.ApplyItemProjector(itemProjector);
4242
}
4343
return projectionExpression;
4444
}

Orm/Xtensive.Orm/Orm/Linq/LinqBindingCollection.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public override void ReplaceBound(ParameterExpression key, ProjectionExpression
6666
if (parameter!=key) {
6767
var projection = this[parameter];
6868
var newItemProjector = projection.ItemProjector.Remap(value.ItemProjector.DataSource, 0);
69-
var newProjection = projection.Apply(newItemProjector);
69+
var newProjection = projection.ApplyItemProjector(newItemProjector);
7070
base.ReplaceBound(parameter, newProjection);
7171
}
7272
}

Orm/Xtensive.Orm/Orm/Linq/Materialization/ExpressionMaterializer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ private TranslatedQuery PrepareSubqueryParameters(SubQueryExpression subQueryExp
193193

194194
// 2. Add only parameter<tuple>. Tuple value will be assigned
195195
// at the moment of materialization in SubQuery constructor
196-
projection = projectionExpression.Apply(itemProjector);
196+
projection = projectionExpression.ApplyItemProjector(itemProjector);
197197

198198
// 3. Make translation
199199
elementType = projectionExpression.ItemProjector.Item.Type;

Orm/Xtensive.Orm/Orm/Linq/Rewriters/ApplyParameterRewriter.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ protected override Expression VisitGroupingExpression(GroupingExpression express
4848
|| newItemProjectorBody != projectionExpression.ItemProjector.Item
4949
|| newKeyExpression != expression.KeyExpression) {
5050
var newItemProjector = new ItemProjectorExpression(newItemProjectorBody, newProvider, projectionExpression.ItemProjector.Context);
51-
var newProjectionExpression = projectionExpression.Apply(newItemProjector);
51+
var newProjectionExpression = projectionExpression.ApplyItemProjector(newItemProjector);
5252
return new GroupingExpression(
5353
expression.Type, expression.OuterParameter, expression.DefaultIfEmpty, newProjectionExpression,
5454
expression.ApplyParameter, expression.KeyExpression, expression.SelectManyInfo);
@@ -65,7 +65,7 @@ protected override Expression VisitSubQueryExpression(SubQueryExpression express
6565
|| newItemProjectorBody != projectionExpression.ItemProjector.Item) {
6666
var newItemProjector = new ItemProjectorExpression(
6767
newItemProjectorBody, newProvider, projectionExpression.ItemProjector.Context);
68-
var newProjectionExpression = projectionExpression.Apply(newItemProjector);
68+
var newProjectionExpression = projectionExpression.ApplyItemProjector(newItemProjector);
6969
return new SubQueryExpression(
7070
expression.Type, expression.OuterParameter, expression.DefaultIfEmpty, newProjectionExpression,
7171
expression.ApplyParameter, expression.ExtendedType);

Orm/Xtensive.Orm/Orm/Linq/Rewriters/ApplyParameterToTupleParameterRewriter.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ protected override Expression VisitGroupingExpression(GroupingExpression express
4949
|| newItemProjectorBody != projectionExpression.ItemProjector.Item
5050
|| newKeyExpression != expression.KeyExpression) {
5151
var newItemProjector = new ItemProjectorExpression(newItemProjectorBody, newProvider, projectionExpression.ItemProjector.Context);
52-
var newProjectionExpression = projectionExpression.Apply(newItemProjector);
52+
var newProjectionExpression = projectionExpression.ApplyItemProjector(newItemProjector);
5353
return new GroupingExpression(
5454
expression.Type, expression.OuterParameter, expression.DefaultIfEmpty,
5555
newProjectionExpression, expression.ApplyParameter,
@@ -65,7 +65,7 @@ protected override Expression VisitSubQueryExpression(SubQueryExpression express
6565
var newItemProjectorBody = Visit(projectionExpression.ItemProjector.Item);
6666
if (newProvider != projectionExpression.ItemProjector.DataSource || newItemProjectorBody != projectionExpression.ItemProjector.Item) {
6767
var newItemProjector = new ItemProjectorExpression(newItemProjectorBody, newProvider, projectionExpression.ItemProjector.Context);
68-
var newProjectionExpression = projectionExpression.Apply(newItemProjector);
68+
var newProjectionExpression = projectionExpression.ApplyItemProjector(newItemProjector);
6969
return new SubQueryExpression(
7070
expression.Type, expression.OuterParameter,
7171
expression.DefaultIfEmpty, newProjectionExpression,

Orm/Xtensive.Orm/Orm/Linq/Translator.Expressions.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -706,7 +706,7 @@ protected override Expression VisitNew(NewExpression newExpression)
706706

707707
internal static bool FilterBindings(MemberInfo mi, string name, Type type)
708708
{
709-
var result = String.Equals(mi.Name, name, StringComparison.InvariantCultureIgnoreCase);
709+
var result = string.Equals(mi.Name, name, StringComparison.InvariantCultureIgnoreCase);
710710
if (!result)
711711
return false;
712712

@@ -725,7 +725,8 @@ internal static bool FilterBindings(MemberInfo mi, string name, Type type)
725725

726726
#region Private helper methods
727727

728-
private Dictionary<MemberInfo, Expression> GetBindingsForConstructor(ParameterInfo[] constructorParameters, IList<Expression> constructorArguments, Expression newExpression)
728+
private Dictionary<MemberInfo, Expression> GetBindingsForConstructor(
729+
ParameterInfo[] constructorParameters, IList<Expression> constructorArguments, Expression newExpression)
729730
{
730731
var bindings = new Dictionary<MemberInfo, Expression>();
731732
var duplicateMembers = new HashSet<MemberInfo>();

Orm/Xtensive.Orm/Orm/Linq/Translator.Materialization.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ internal TranslatedQuery Translate(ProjectionExpression projection,
4747
if (context.SessionTags != null)
4848
result = ApplySessionTags(result, context.SessionTags);
4949
var newItemProjector = result.ItemProjector.EnsureEntityIsJoined();
50-
result = result.Apply(newItemProjector);
50+
result = result.ApplyItemProjector(newItemProjector);
5151

5252
var optimized = Optimize(result);
5353

@@ -92,7 +92,7 @@ private static ProjectionExpression Optimize(ProjectionExpression origin)
9292
var usedColumnsArray = usedColumns.ToArray();
9393
var resultProvider = new SelectProvider(originProvider, usedColumnsArray);
9494
var itemProjector = origin.ItemProjector.Remap(resultProvider, usedColumnsArray);
95-
var result = origin.Apply(itemProjector);
95+
var result = origin.ApplyItemProjector(itemProjector);
9696
return result;
9797
}
9898
return origin;
@@ -115,7 +115,7 @@ private static ProjectionExpression ApplySessionTags(ProjectionExpression origin
115115
var projector = currentProjection.ItemProjector;
116116
var newDataSource = projector.DataSource.Tag(tag);
117117
var newItemProjector = new ItemProjectorExpression(projector.Item, newDataSource, projector.Context);
118-
currentProjection = currentProjection.Apply(newItemProjector);
118+
currentProjection = currentProjection.ApplyItemProjector(newItemProjector);
119119
}
120120
return currentProjection;
121121
}
@@ -208,7 +208,7 @@ private ProjectionExpression GetIndexBinding(LambdaExpression le, ref Projection
208208
var indexItemProjector = new ItemProjectorExpression(itemExpression, indexDataSource, context);
209209
var indexProjectionExpression = new ProjectionExpression(WellKnownTypes.Int64, indexItemProjector, sequence.TupleParameterBindings);
210210
var sequenceItemProjector = sequence.ItemProjector.Remap(indexDataSource, 0);
211-
sequence = sequence.Apply(sequenceItemProjector);
211+
sequence = sequence.ApplyItemProjector(sequenceItemProjector);
212212
return indexProjectionExpression;
213213
}
214214
return null;

0 commit comments

Comments
 (0)