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); }
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)); }