Esempio n. 1
0
        public ExprFieldInfo CreateFieldInfo(FieldSymbol field, AggregateType fieldType)
        {
            Debug.Assert(field != null);
            Debug.Assert(fieldType != null);
            ExprFieldInfo rval = new ExprFieldInfo(field, fieldType);

            rval.Kind  = ExpressionKind.EK_FIELDINFO;
            rval.Type  = GetTypes().GetOptPredefAgg(PredefinedType.PT_FIELDINFO).getThisType();
            rval.Flags = 0;
            return(rval);
        }
Esempio n. 2
0
        protected override Expr VisitFIELD(ExprField expr)
        {
            Debug.Assert(expr != null);
            Expr pObject;

            if (expr.OptionalObject == null)
            {
                pObject = GetExprFactory().CreateNull();
            }
            else
            {
                pObject = Visit(expr.OptionalObject);
            }
            ExprFieldInfo pFieldInfo = GetExprFactory().CreateFieldInfo(expr.FieldWithType.Field(), expr.FieldWithType.GetType());

            return(GenerateCall(PREDEFMETH.PM_EXPRESSION_FIELD, pObject, pFieldInfo));
        }
Esempio n. 3
0
 protected virtual Expr VisitFIELDINFO(ExprFieldInfo pExpr)
 {
     return(VisitEXPR(pExpr));
 }