コード例 #1
0
        public BoundUnaryExpression(UnaryOperatorExpressionSyntax syntax, bool hasValue, bool hasErrors, TokenKind kind, BaseBoundExpression expression)
            : base(hasValue, hasErrors)
        {
            Debug.Assert(!syntax.IsDefault(), "'syntax' must not be null.");
            Debug.Assert(!kind.IsDefault(), "'kind' must not be null.");
            Debug.Assert(!expression.IsDefault(), "'expression' must not be null.");

            this.Syntax     = syntax;
            this.Kind       = kind;
            this.Expression = expression;
        }
コード例 #2
0
        private BoundUnaryExpression BindUnaryOperatorExpression(UnaryOperatorExpressionSyntax syntax)
        {
            BaseBoundExpression expression = this.BindExpression(syntax.Expression);

            switch (syntax.OperatorToken.Kind)
            {
            case TokenKind.Minus:
                return(new BoundUnaryExpression(syntax, hasValue: true, expression.HasErrors, syntax.OperatorToken.Kind, expression));

            default:
                throw ExceptionUtilities.UnexpectedValue(syntax.OperatorToken.Kind);
            }
        }