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

◆ VisitUnary()

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

Reimplemented from System.Linq.Expressions.ExpressionVisitor.

Definition at line 850 of file DebugViewWriter.cs.

851 {
852 switch (node.NodeType)
853 {
854 case ExpressionType.Convert:
855 Out("(" + node.Type.ToString() + ")");
856 break;
857 case ExpressionType.ConvertChecked:
858 Out("#(" + node.Type.ToString() + ")");
859 break;
860 case ExpressionType.Not:
861 Out((node.Type == typeof(bool)) ? "!" : "~");
862 break;
863 case ExpressionType.OnesComplement:
864 Out("~");
865 break;
866 case ExpressionType.Negate:
867 Out("-");
868 break;
869 case ExpressionType.NegateChecked:
870 Out("#-");
871 break;
872 case ExpressionType.UnaryPlus:
873 Out("+");
874 break;
875 case ExpressionType.Quote:
876 Out("'");
877 break;
878 case ExpressionType.Throw:
879 if (node.Operand == null)
880 {
881 Out(".Rethrow");
882 }
883 else
884 {
885 Out(".Throw", Flow.Space);
886 }
887 break;
888 case ExpressionType.IsFalse:
889 Out(".IsFalse");
890 break;
891 case ExpressionType.IsTrue:
892 Out(".IsTrue");
893 break;
894 case ExpressionType.Decrement:
895 Out(".Decrement");
896 break;
897 case ExpressionType.Increment:
898 Out(".Increment");
899 break;
900 case ExpressionType.PreDecrementAssign:
901 Out("--");
902 break;
903 case ExpressionType.PreIncrementAssign:
904 Out("++");
905 break;
906 case ExpressionType.Unbox:
907 Out(".Unbox");
908 break;
909 }
910 ParenthesizedVisit(node, node.Operand);
911 switch (node.NodeType)
912 {
913 case ExpressionType.TypeAs:
914 Out(Flow.Space, ".As", Flow.Space | Flow.Break);
915 Out(node.Type.ToString());
916 break;
917 case ExpressionType.ArrayLength:
918 Out(".Length");
919 break;
920 case ExpressionType.PostDecrementAssign:
921 Out("--");
922 break;
923 case ExpressionType.PostIncrementAssign:
924 Out("++");
925 break;
926 }
927 return node;
928 }
void ParenthesizedVisit(Expression parent, Expression nodeToVisit)

References System.Reflection.Out, and System.Linq.Expressions.DebugViewWriter.ParenthesizedVisit().