Пример #1
0
        public static ExprBinOp CreateSave(ExprWrap wrap)
        {
            Debug.Assert(wrap != null);
            ExprBinOp expr = CreateBinop(ExpressionKind.Save, wrap.Type, wrap.OptionalExpression, wrap);

            expr.SetAssignment();
            return(expr);
        }
Пример #2
0
        public ExprWrap CreateWrap(
            Scope pCurrentScope,
            Expr pOptionalExpression
            )
        {
            ExprWrap rval = new ExprWrap();

            rval.OptionalExpression = pOptionalExpression;
            rval.Flags = EXPRFLAG.EXF_LVALUE;

            return(rval);
        }
Пример #3
0
        public ExprWrap CreateWrap(
            Scope pCurrentScope,
            Expr pOptionalExpression
            )
        {
            ExprWrap rval = new ExprWrap();

            rval.Kind  = ExpressionKind.EK_WRAP;
            rval.Type  = null;
            rval.Flags = 0;
            rval.OptionalExpression = pOptionalExpression;
            if (pOptionalExpression != null)
            {
                rval.Type = pOptionalExpression.Type;
            }
            rval.Flags |= EXPRFLAG.EXF_LVALUE;

            Debug.Assert(rval != null);
            return(rval);
        }
Пример #4
0
 protected virtual Expr VisitWRAP(ExprWrap pExpr)
 {
     return(VisitEXPR(pExpr));
 }
Пример #5
0
        public ExprWrap CreateWrapNoAutoFree(Scope pCurrentScope, Expr pOptionalWrap)
        {
            ExprWrap rval = CreateWrap(pCurrentScope, pOptionalWrap);

            return(rval);
        }