Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ VisitUnary()

override Expression System.Linq.Expressions.ExpressionStringBuilder.VisitUnary ( UnaryExpression node)
inlinepackagevirtual

Reimplemented from System.Linq.Expressions.ExpressionVisitor.

Definition at line 574 of file ExpressionStringBuilder.cs.

575 {
576 switch (node.NodeType)
577 {
578 case ExpressionType.Negate:
579 case ExpressionType.NegateChecked:
580 Out('-');
581 break;
582 case ExpressionType.Not:
583 Out("Not(");
584 break;
585 case ExpressionType.IsFalse:
586 Out("IsFalse(");
587 break;
588 case ExpressionType.IsTrue:
589 Out("IsTrue(");
590 break;
591 case ExpressionType.OnesComplement:
592 Out("~(");
593 break;
594 case ExpressionType.ArrayLength:
595 Out("ArrayLength(");
596 break;
597 case ExpressionType.Convert:
598 Out("Convert(");
599 break;
600 case ExpressionType.ConvertChecked:
601 Out("ConvertChecked(");
602 break;
603 case ExpressionType.Throw:
604 Out("throw(");
605 break;
606 case ExpressionType.TypeAs:
607 Out('(');
608 break;
609 case ExpressionType.UnaryPlus:
610 Out('+');
611 break;
612 case ExpressionType.Unbox:
613 Out("Unbox(");
614 break;
615 case ExpressionType.Increment:
616 Out("Increment(");
617 break;
618 case ExpressionType.Decrement:
619 Out("Decrement(");
620 break;
621 case ExpressionType.PreIncrementAssign:
622 Out("++");
623 break;
624 case ExpressionType.PreDecrementAssign:
625 Out("--");
626 break;
627 default:
628 throw new InvalidOperationException();
629 case ExpressionType.Quote:
630 case ExpressionType.PostIncrementAssign:
631 case ExpressionType.PostDecrementAssign:
632 break;
633 }
634 Visit(node.Operand);
635 switch (node.NodeType)
636 {
637 case ExpressionType.TypeAs:
638 Out(" As ");
639 Out(node.Type.Name);
640 Out(')');
641 break;
642 case ExpressionType.Convert:
643 case ExpressionType.ConvertChecked:
644 Out(", ");
645 Out(node.Type.Name);
646 Out(')');
647 break;
648 case ExpressionType.PostIncrementAssign:
649 Out("++");
650 break;
651 case ExpressionType.PostDecrementAssign:
652 Out("--");
653 break;
654 default:
655 Out(')');
656 break;
657 case ExpressionType.Negate:
658 case ExpressionType.UnaryPlus:
659 case ExpressionType.NegateChecked:
660 case ExpressionType.Quote:
661 case ExpressionType.PreIncrementAssign:
662 case ExpressionType.PreDecrementAssign:
663 break;
664 }
665 return node;
666 }
virtual ? Expression Visit(Expression? node)

References System.Reflection.Out, and System.Linq.Expressions.ExpressionVisitor.Visit().