コード例 #1
0
ファイル: AssignmentSimplifier.cs プロジェクト: Beier/Omnium
        public override void ExitUnaryExpression(UnaryExpression unaryExpression)
        {
            switch (unaryExpression.Operator.Text)
            {
            case "+":
                unaryExpression.ReplaceWith(unaryExpression.Base);
                break;

            case "-":
                unaryExpression.ReplaceWith(new BinaryExpression(
                                                unaryExpression.Context,
                                                new INode[]
                {
                    new NumberLiteral(unaryExpression.Context, 0),
                    unaryExpression.Operator,
                    unaryExpression.Base
                }));
                break;
            }
        }