Ejemplo n.º 1
0
 protected internal virtual void TraverseOperator(Operator op) { op.Unsupported(); } 
        protected internal override void TraverseOperator(Operator op)
        {
            var opt = op.OperatorType;
            if (op.IsUnary())
            {
                if (!opt.ToString().StartsWith("Post"))
                    _writer.Write(opt.ToCSharpSymbol());

                Traverse(op.Args.First());

                if (opt.ToString().StartsWith("Post"))
                    _writer.Write(opt.ToCSharpSymbol());
            }
            else if (op.IsBinary())
            {
                Traverse(op.Args.First());
                _writer.Write(" " + opt.ToCSharpSymbol() + " ");
                Traverse(op.Args.Second());
            }
            else
            {
                op.Unsupported();
            }
        }