Skip to content

Commit 1d0e0c8

Browse files
committed
Extended list of convertable serializable expressions
1 parent a829349 commit 1d0e0c8

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

Orm/Xtensive.Orm/Linq/SerializableExpressions/Internals/SerializableExpressionToExpressionConverter.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,11 @@ private Expression Visit(SerializableExpression e)
4343
case ExpressionType.ArrayLength:
4444
case ExpressionType.Quote:
4545
case ExpressionType.TypeAs:
46+
case ExpressionType.Decrement:
47+
case ExpressionType.Increment:
48+
case ExpressionType.IsFalse:
49+
case ExpressionType.IsTrue:
50+
case ExpressionType.OnesComplement:
4651
result = VisitUnary((SerializableUnaryExpression)e);
4752
break;
4853
case ExpressionType.Add:
@@ -68,11 +73,16 @@ private Expression Visit(SerializableExpression e)
6873
case ExpressionType.RightShift:
6974
case ExpressionType.LeftShift:
7075
case ExpressionType.ExclusiveOr:
76+
case ExpressionType.Power:
77+
case ExpressionType.Assign:
7178
result = VisitBinary((SerializableBinaryExpression)e);
7279
break;
7380
case ExpressionType.TypeIs:
7481
result = VisitTypeIs((SerializableTypeBinaryExpression)e);
7582
break;
83+
case ExpressionType.TypeEqual:
84+
result = VisitTypeEqual((SerializableTypeBinaryExpression) e);
85+
break;
7686
case ExpressionType.Conditional:
7787
result = VisitConditional((SerializableConditionalExpression)e);
7888
break;
@@ -133,6 +143,11 @@ private Expression VisitTypeIs(SerializableTypeBinaryExpression tb)
133143
return Expression.TypeIs(Visit(tb.Expression), tb.TypeOperand);
134144
}
135145

146+
private Expression VisitTypeEqual(SerializableTypeBinaryExpression tb)
147+
{
148+
return Expression.TypeEqual(Visit(tb.Expression), tb.TypeOperand);
149+
}
150+
136151
private Expression VisitConstant(SerializableConstantExpression c)
137152
{
138153
return Expression.Constant(c.Value, c.Type);

0 commit comments

Comments
 (0)