public EXPRUSERLOGOP CreateUserLogOpError(CType pType, EXPR pCallTF, EXPRCALL pCallOp)
        {
            EXPRUSERLOGOP rval = CreateUserLogOp(pType, pCallTF, pCallOp);

            rval.SetError();
            return(rval);
        }
        public EXPRUSERLOGOP CreateUserLogOp(CType pType, EXPR pCallTF, EXPRCALL pCallOp)
        {
            Debug.Assert(pCallTF != null);
            Debug.Assert(pCallOp != null);
            Debug.Assert(pCallOp.GetOptionalArguments() != null);
            Debug.Assert(pCallOp.GetOptionalArguments().isLIST());
            Debug.Assert(pCallOp.GetOptionalArguments().asLIST().GetOptionalElement() != null);
            EXPRUSERLOGOP rval      = new EXPRUSERLOGOP();
            EXPR          leftChild = pCallOp.GetOptionalArguments().asLIST().GetOptionalElement();

            Debug.Assert(leftChild != null);
            if (leftChild.isWRAP())
            {
                // In the EE case, we don't create WRAPEXPRs.
                leftChild = leftChild.asWRAP().GetOptionalExpression();
                Debug.Assert(leftChild != null);
            }
            rval.kind                  = ExpressionKind.EK_USERLOGOP;
            rval.type                  = pType;
            rval.flags                 = EXPRFLAG.EXF_ASSGOP;
            rval.TrueFalseCall         = pCallTF;
            rval.OperatorCall          = pCallOp;
            rval.FirstOperandToExamine = leftChild;
            Debug.Assert(rval != null);
            return(rval);
        }
예제 #3
0
 protected virtual EXPR VisitUSERLOGOP(EXPRUSERLOGOP pExpr)
 {
     return(VisitEXPR(pExpr));
 }
예제 #4
0
 protected virtual EXPR VisitUSERLOGOP(EXPRUSERLOGOP pExpr)
 {
     return VisitEXPR(pExpr);
 }
예제 #5
0
 public EXPRUSERLOGOP CreateUserLogOp(CType pType, EXPR pCallTF, EXPRCALL pCallOp)
 {
     Debug.Assert(pCallTF != null);
     Debug.Assert(pCallOp != null);
     Debug.Assert(pCallOp.GetOptionalArguments() != null);
     Debug.Assert(pCallOp.GetOptionalArguments().isLIST());
     Debug.Assert(pCallOp.GetOptionalArguments().asLIST().GetOptionalElement() != null);
     EXPRUSERLOGOP rval = new EXPRUSERLOGOP();
     EXPR leftChild = pCallOp.GetOptionalArguments().asLIST().GetOptionalElement();
     Debug.Assert(leftChild != null);
     if (leftChild.isWRAP())
     {
         // In the EE case, we don't create WRAPEXPRs.
         leftChild = leftChild.asWRAP().GetOptionalExpression();
         Debug.Assert(leftChild != null);
     }
     rval.kind = ExpressionKind.EK_USERLOGOP;
     rval.type = pType;
     rval.flags = EXPRFLAG.EXF_ASSGOP;
     rval.TrueFalseCall = pCallTF;
     rval.OperatorCall = pCallOp;
     rval.FirstOperandToExamine = leftChild;
     Debug.Assert(rval != null);
     return (rval);
 }