Microsoft.CSharp.RuntimeBinder.Semantics.ExprFactory.CreateUserDefinedBinop C# (CSharp) Method

CreateUserDefinedBinop() public method

public CreateUserDefinedBinop ( ExpressionKind exprKind, CType pType, EXPR p1, EXPR p2, EXPR call, MethPropWithInst pmpwi ) : Microsoft.CSharp.RuntimeBinder.Semantics.EXPRBINOP
exprKind ExpressionKind
pType CType
p1 EXPR
p2 EXPR
call EXPR
pmpwi MethPropWithInst
return Microsoft.CSharp.RuntimeBinder.Semantics.EXPRBINOP
        public EXPRBINOP CreateUserDefinedBinop(ExpressionKind exprKind, CType pType, EXPR p1, EXPR p2, EXPR call, MethPropWithInst pmpwi)
        {
            Debug.Assert(p1 != null);
            Debug.Assert(p2 != null);
            Debug.Assert(call != null);
            EXPRBINOP rval = new EXPRBINOP();
            rval.kind = exprKind;
            rval.type = pType;
            rval.flags = EXPRFLAG.EXF_BINOP;
            rval.SetOptionalLeftChild(p1);
            rval.SetOptionalRightChild(p2);
            // The call may be lifted, but we do not mark the outer binop as lifted.
            rval.isLifted = false;
            rval.SetOptionalUserDefinedCall(call);
            rval.SetUserDefinedCallMethod(pmpwi);
            if (call.HasError())
            {
                rval.SetError();
            }
            Debug.Assert(rval != null);
            return (rval);
        }