System.Management.Pash.Implementation.ExecutionVisitor.VisitUnaryExpression C# (CSharp) Method

VisitUnaryExpression() public method

public VisitUnaryExpression ( System.Management.Automation.Language.UnaryExpressionAst unaryExpressionAst ) : AstVisitAction
unaryExpressionAst System.Management.Automation.Language.UnaryExpressionAst
return AstVisitAction
        public override AstVisitAction VisitUnaryExpression(UnaryExpressionAst unaryExpressionAst)
        {
            switch (unaryExpressionAst.TokenKind)
            {
                case TokenKind.PostfixPlusPlus:
                case TokenKind.PlusPlus:
                case TokenKind.MinusMinus:
                case TokenKind.PostfixMinusMinus:
                    VisitIncrementDecrementExpression(unaryExpressionAst);
                break;

                case TokenKind.Not:
                    var value = EvaluateAst(unaryExpressionAst.Child, _writeSideEffectsToPipeline);
                    var boolValue = (bool) LanguagePrimitives.ConvertTo(value, typeof(bool));
                    _pipelineCommandRuntime.WriteObject(!boolValue);
                    break;

                default:
                    throw new NotImplementedException(unaryExpressionAst.ToString());
            }

            return AstVisitAction.SkipChildren;
        }
ExecutionVisitor