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

◆ NeedsParentheses()

static bool System.Linq.Expressions.DebugViewWriter.NeedsParentheses ( Expression parent,
Expression child )
inlinestaticprivate

Definition at line 579 of file DebugViewWriter.cs.

580 {
581 if (child == null)
582 {
583 return false;
584 }
585 switch (parent.NodeType)
586 {
587 case ExpressionType.Decrement:
588 case ExpressionType.Increment:
589 case ExpressionType.Unbox:
590 case ExpressionType.IsTrue:
591 case ExpressionType.IsFalse:
592 return true;
593 default:
594 {
598 {
599 switch (parent.NodeType)
600 {
601 case ExpressionType.And:
602 case ExpressionType.AndAlso:
603 case ExpressionType.ExclusiveOr:
604 case ExpressionType.Or:
605 case ExpressionType.OrElse:
606 return false;
607 case ExpressionType.Add:
608 case ExpressionType.AddChecked:
609 case ExpressionType.Multiply:
610 case ExpressionType.MultiplyChecked:
611 return false;
612 case ExpressionType.Divide:
613 case ExpressionType.Modulo:
614 case ExpressionType.Subtract:
615 case ExpressionType.SubtractChecked:
616 {
617 BinaryExpression binaryExpression = parent as BinaryExpression;
618 return child == binaryExpression.Right;
619 }
620 default:
621 return true;
622 }
623 }
624 if (child != null && child.NodeType == ExpressionType.Constant && (parent.NodeType == ExpressionType.Negate || parent.NodeType == ExpressionType.NegateChecked))
625 {
626 return true;
627 }
629 }
630 }
631 }
static int GetOperatorPrecedence(Expression node)

References System.Linq.Expressions.DebugViewWriter.GetOperatorPrecedence(), and System.Linq.Expressions.Expression< TDelegate >.NodeType.

Referenced by System.Linq.Expressions.DebugViewWriter.ParenthesizedVisit(), and System.Linq.Expressions.DebugViewWriter.VisitBinary().