Beispiel #1
0
                public override object VisitUnaryOperatorExpression(ICSharpCode.NRefactory.Ast.UnaryOperatorExpression unaryOperatorExpression, object data)
                {
                    bool result = (bool)(unaryOperatorExpression.Expression.AcceptVisitor(this, data) ?? (object)false);

                    if (unaryOperatorExpression.Op == ICSharpCode.NRefactory.Ast.UnaryOperatorType.Not)
                    {
                        return(!result);
                    }
                    return(result);
                }
Beispiel #2
0
        private expression convert_unary_expression(ICSharpCode.NRefactory.Ast.UnaryOperatorExpression expr)
        {
            Operators  op   = Operators.Undefined;
            expression left = convert_expression(expr.Expression);

            switch (expr.Op)
            {
            case ICSharpCode.NRefactory.Ast.UnaryOperatorType.Plus: op = Operators.Plus; break;

            case ICSharpCode.NRefactory.Ast.UnaryOperatorType.Minus: op = Operators.Minus; break;

            case ICSharpCode.NRefactory.Ast.UnaryOperatorType.Not: op = Operators.LogicalNOT; break;

            case ICSharpCode.NRefactory.Ast.UnaryOperatorType.BitNot: op = Operators.BitwiseNOT; break;
            }
            return(new un_expr(left, op));
        }