Пример #1
0
        private BoundExpression BindUnaryExpression(UnaryExpressionSyntax syntax)
        {
            var boundOperand  = BindExpression(syntax.Operand);
            var boundOperator = BoundUnaryOperator.Bind(syntax.OperatorToken.Kind, boundOperand.Type);

            if (boundOperator == null)
            {
                _diagnostics.Add($"ERROR: Unary operator '{syntax.OperatorToken.Text}' is not defined for type {boundOperand.Type}.");
                return(boundOperand);
            }

            return(new BoundUnaryExpression(boundOperator, boundOperand));
        }
 public BoundUnaryExpression(BoundUnaryOperator op, BoundExpression operand)
 {
     Operator = op;
     Operand  = operand;
 }