public EXPRBINOP CreateSave(EXPRWRAP wrap)
        {
            Debug.Assert(wrap != null);
            EXPRBINOP expr = CreateBinop(ExpressionKind.EK_SAVE, wrap.type, wrap.GetOptionalExpression(), wrap);

            expr.setAssignment();
            return(expr);
        }
        public EXPRWRAP CreateWrap(
            Scope pCurrentScope,
            EXPR pOptionalExpression
            )
        {
            EXPRWRAP rval = new EXPRWRAP();

            rval.kind  = ExpressionKind.EK_WRAP;
            rval.type  = null;
            rval.flags = 0;
            rval.SetOptionalExpression(pOptionalExpression);
            if (pOptionalExpression != null)
            {
                rval.setType(pOptionalExpression.type);
            }
            rval.flags |= EXPRFLAG.EXF_LVALUE;

            Debug.Assert(rval != null);
            return(rval);
        }
        public EXPRWRAP CreateWrapNoAutoFree(Scope pCurrentScope, EXPR pOptionalWrap)
        {
            EXPRWRAP rval = CreateWrap(pCurrentScope, pOptionalWrap);

            return(rval);
        }
Пример #4
0
 protected virtual EXPR VisitWRAP(EXPRWRAP pExpr)
 {
     return VisitEXPR(pExpr);
 }
Пример #5
0
 protected virtual EXPR VisitWRAP(EXPRWRAP pExpr)
 {
     return(VisitEXPR(pExpr));
 }
Пример #6
0
 public EXPRBINOP CreateSave(EXPRWRAP wrap)
 {
     Debug.Assert(wrap != null);
     EXPRBINOP expr = CreateBinop(ExpressionKind.EK_SAVE, wrap.type, wrap.GetOptionalExpression(), wrap);
     expr.setAssignment();
     return expr;
 }
Пример #7
0
        public EXPRWRAP CreateWrap(
            Scope pCurrentScope,
            EXPR pOptionalExpression
        )
        {
            EXPRWRAP rval = new EXPRWRAP();
            rval.kind = ExpressionKind.EK_WRAP;
            rval.type = null;
            rval.flags = 0;
            rval.SetOptionalExpression(pOptionalExpression);
            if (pOptionalExpression != null)
            {
                rval.setType(pOptionalExpression.type);
            }
            rval.flags |= EXPRFLAG.EXF_LVALUE;

            Debug.Assert(rval != null);
            return (rval);
        }