コード例 #1
0
ファイル: ExprFactory.cs プロジェクト: vinaykk/corefx
        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);
        }
コード例 #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));
        }
コード例 #3
0
ファイル: ExprVisitorBase.cs プロジェクト: wenchaoli/corefx
 protected virtual Expr VisitFIELDINFO(ExprFieldInfo pExpr)
 {
     return(VisitEXPR(pExpr));
 }