Exemplo n.º 1
0
                    public static bool IsConstant(Expression exp, out object value, out Type type, Decoder decoder)
                    {
                        VisitorForValueOf visitor = decoder.visitorForValueOf;
                        bool result = Decode(exp, visitor, decoder);

                        value = visitor.Value;
                        type  = visitor.Type;
                        return(result);
                    }
Exemplo n.º 2
0
                public Decoder(IExpressionContext <Local, Parameter, Method, Field, Type, Expression, Variable> context,
                               IDecodeMetaData <Local, Parameter, Method, Field, Property, Event, Type, Attribute, Assembly> decoderForMetaData)
                {
                    Contract.Requires(context != null);

                    this.context            = context;
                    this.decoderForMetaData = decoderForMetaData;

                    visitorForIsUnaryExpression  = new VisitorForIsUnaryExpression();
                    visitorForIsBinaryExpression = new VisitorForIsBinaryExpression();
                    visitorForVariablesIn        = new VisitorForVariablesIn(context);
                    visitorForValueOf            = new VisitorForValueOf();
                    visitorForSizeOf             = new VisitorForSizeOf();
                    visitorForIsNull             = new VisitorForIsNull();
                    visitorForVariable           = new VisitorForVariable();
                    visitorForIsInst             = new VisitorForIsInst();
                    visitorForUnderlyingVariable = new VisitorForUnderlyingVariable();
                    visitorForDispatch           = new VisitorForDispatch(this);
                }
Exemplo n.º 3
0
 public bool IsConstant(Expression exp, out object value, out Type type)
 {
     return(VisitorForValueOf.IsConstant(exp, out value, out type, this));
 }