1
- // Copyright (C) 2008-2021 Xtensive LLC.
1
+ // Copyright (C) 2008-2023 Xtensive LLC.
2
2
// This code is distributed under MIT license terms.
3
3
// See the License.txt file in the project root for more information.
4
4
// Created by: Alexey Kochetov
@@ -213,7 +213,7 @@ protected virtual string GetOperator(ExpressionType type)
213
213
}
214
214
215
215
/// <inheritdoc/>
216
- protected override Expression VisitBinary ( BinaryExpression b )
216
+ protected override BinaryExpression VisitBinary ( BinaryExpression b )
217
217
{
218
218
switch ( b . NodeType ) {
219
219
case ExpressionType . ArrayIndex :
@@ -244,7 +244,7 @@ protected override Expression VisitBinary(BinaryExpression b)
244
244
}
245
245
246
246
/// <inheritdoc/>
247
- protected override Expression VisitUnary ( UnaryExpression u )
247
+ protected override UnaryExpression VisitUnary ( UnaryExpression u )
248
248
{
249
249
switch ( u . NodeType ) {
250
250
case ExpressionType . Convert :
@@ -307,7 +307,7 @@ protected virtual string GetTypeName(Type type)
307
307
}
308
308
309
309
/// <inheritdoc/>
310
- protected override Expression VisitConditional ( ConditionalExpression c )
310
+ protected override ConditionalExpression VisitConditional ( ConditionalExpression c )
311
311
{
312
312
Visit ( c . Test ) ;
313
313
WriteLine ( IndentType . Inner ) ;
@@ -335,7 +335,7 @@ protected override System.Collections.ObjectModel.ReadOnlyCollection<MemberBindi
335
335
}
336
336
337
337
/// <inheritdoc/>
338
- protected override Expression VisitConstant ( ConstantExpression c )
338
+ protected override ConstantExpression VisitConstant ( ConstantExpression c )
339
339
{
340
340
var type = c . Type ;
341
341
if ( type . Name . IndexOf ( "__DisplayClass" , StringComparison . Ordinal ) > 0 &&
@@ -400,6 +400,14 @@ protected override Expression VisitConstant(ConstantExpression c)
400
400
return c ;
401
401
}
402
402
403
+ protected override DefaultExpression VisitDefault ( DefaultExpression d )
404
+ {
405
+ Write ( "default(" ) ;
406
+ Write ( GetTypeName ( d . Type ) ) ;
407
+ Write ( ")" ) ;
408
+ return d ;
409
+ }
410
+
403
411
/// <inheritdoc/>
404
412
protected override ElementInit VisitElementInitializer ( ElementInit initializer )
405
413
{
@@ -452,7 +460,7 @@ protected override System.Collections.ObjectModel.ReadOnlyCollection<Expression>
452
460
}
453
461
454
462
/// <inheritdoc/>
455
- protected override Expression VisitInvocation ( InvocationExpression i )
463
+ protected override InvocationExpression VisitInvocation ( InvocationExpression i )
456
464
{
457
465
Write ( "Invoke(" ) ;
458
466
WriteLine ( IndentType . Inner ) ;
@@ -467,7 +475,7 @@ protected override Expression VisitInvocation(InvocationExpression i)
467
475
}
468
476
469
477
/// <inheritdoc/>
470
- protected override Expression VisitLambda ( LambdaExpression l )
478
+ protected override LambdaExpression VisitLambda ( LambdaExpression l )
471
479
{
472
480
if ( l . Parameters . Count > 1 ) {
473
481
Write ( "(" ) ;
@@ -493,7 +501,7 @@ protected override Expression VisitLambda(LambdaExpression l)
493
501
}
494
502
495
503
/// <inheritdoc/>
496
- protected override Expression VisitListInit ( ListInitExpression li )
504
+ protected override ListInitExpression VisitListInit ( ListInitExpression li )
497
505
{
498
506
Visit ( li . NewExpression ) ;
499
507
Write ( " {" ) ;
@@ -505,7 +513,7 @@ protected override Expression VisitListInit(ListInitExpression li)
505
513
}
506
514
507
515
/// <inheritdoc/>
508
- protected override Expression VisitMemberAccess ( MemberExpression m )
516
+ protected override MemberExpression VisitMemberAccess ( MemberExpression m )
509
517
{
510
518
Visit ( m . Expression ) ;
511
519
Write ( "." ) ;
@@ -523,7 +531,7 @@ protected override MemberAssignment VisitMemberAssignment(MemberAssignment ma)
523
531
}
524
532
525
533
/// <inheritdoc/>
526
- protected override Expression VisitMemberInit ( MemberInitExpression mi )
534
+ protected override MemberInitExpression VisitMemberInit ( MemberInitExpression mi )
527
535
{
528
536
Visit ( mi . NewExpression ) ;
529
537
Write ( " {" ) ;
@@ -559,7 +567,7 @@ protected override MemberMemberBinding VisitMemberMemberBinding(MemberMemberBind
559
567
}
560
568
561
569
/// <inheritdoc/>
562
- protected override Expression VisitMethodCall ( MethodCallExpression mc )
570
+ protected override MethodCallExpression VisitMethodCall ( MethodCallExpression mc )
563
571
{
564
572
var arguments = mc . Arguments ;
565
573
if ( mc . Object != null ) {
@@ -584,7 +592,7 @@ protected override Expression VisitMethodCall(MethodCallExpression mc)
584
592
}
585
593
586
594
/// <inheritdoc/>
587
- protected override Expression VisitNew ( NewExpression n )
595
+ protected override NewExpression VisitNew ( NewExpression n )
588
596
{
589
597
Write ( "new " ) ;
590
598
Write ( GetTypeName ( n . Type ) ) ;
@@ -593,7 +601,7 @@ protected override Expression VisitNew(NewExpression n)
593
601
}
594
602
595
603
/// <inheritdoc/>
596
- protected override Expression VisitNewArray ( NewArrayExpression na )
604
+ protected override NewArrayExpression VisitNewArray ( NewArrayExpression na )
597
605
{
598
606
Write ( "new " ) ;
599
607
Write ( GetTypeName ( SequenceHelper . GetElementType ( na . Type ) ) ) ;
@@ -602,14 +610,14 @@ protected override Expression VisitNewArray(NewArrayExpression na)
602
610
}
603
611
604
612
/// <inheritdoc/>
605
- protected override Expression VisitParameter ( ParameterExpression p )
613
+ protected override ParameterExpression VisitParameter ( ParameterExpression p )
606
614
{
607
615
Write ( p . Name ) ;
608
616
return p ;
609
617
}
610
618
611
619
/// <inheritdoc/>
612
- protected override Expression VisitTypeIs ( TypeBinaryExpression tb )
620
+ protected override TypeBinaryExpression VisitTypeIs ( TypeBinaryExpression tb )
613
621
{
614
622
Visit ( tb . Expression ) ;
615
623
Write ( " is " ) ;
0 commit comments