Ejemplo n.º 1
0
        internal static UnaryOperatorSymbol UserDefinedUnaryOperator(UnaryOperatorKind kind, ref Expr expr, BindOptions options)
        {
            var name = UnaryOperatorSymbol.OperatorName(kind);

            if (name != null)
            {
                MethodSymbol     mop  = null;
                ConversionSymbol conv = null;
                ResolveUserDefinedUnaryOperator(expr, expr.Datatype.Lookup(name), ref mop, ref conv, options);
                if (mop != null)
                {
                    var op = UnaryOperatorSymbol.Create(kind, mop, conv);
                    ApplyUnaryOperator(ref expr, op);
                    return(op);
                }
            }
            return(null);
        }