Lines Matching defs:pExpr

284             PVBCPPEXPR      pExpr;
3244 * @param pExpr The root of the expression tree to destroy.
3246 static void vbcppExprDestoryTree(PVBCPPEXPR pExpr)
3248 if (!pExpr)
3251 switch (pExpr->enmKind)
3254 vbcppExprDestoryTree(pExpr->u.Unary.pArg);
3257 vbcppExprDestoryTree(pExpr->u.Binary.pLeft);
3258 vbcppExprDestoryTree(pExpr->u.Binary.pRight);
3261 vbcppExprDestoryTree(pExpr->u.Ternary.pExpr);
3262 vbcppExprDestoryTree(pExpr->u.Ternary.pExpr);
3263 vbcppExprDestoryTree(pExpr->u.Ternary.pFalse);
3272 RTMemFree(pExpr);
3314 PVBCPPEXPR pExpr = (PVBCPPEXPR)RTMemAllocZ(sizeof(*pExpr));
3315 if (!pExpr)
3317 return pExpr;
3367 Assert(pCur->u.Ternary.pExpr);
3526 PVBCPPEXPR pExpr = vbcppExprParseAllocNode(pParser);
3527 if (!pExpr)
3529 pExpr->fComplete = true;
3530 pExpr->enmKind = kVBCppExprKind_Binary;
3531 pExpr->u.Binary.enmOperator = enmOp;
3532 pExpr->u.Binary.pLeft = NULL;
3533 pExpr->u.Binary.pRight = NULL;
3589 pChild->pParent = pExpr;
3591 pExpr->u.Binary.pLeft = pChild;
3592 pExpr->pParent = pParent;
3595 pParser->pRoot = pExpr;
3597 *ppPlace = pExpr;
3599 pParser->ppCur = &pExpr->u.Binary.pRight;
3600 pParser->pCur = pExpr;
3650 PVBCPPEXPR pExpr = vbcppExprParseAllocNode(pParser);
3651 if (!pExpr)
3653 pExpr->fComplete = true;
3654 pExpr->enmKind = kVBCppExprKind_UnsignedValue;
3655 pExpr->u.UnsignedValue.u64 = 0;
3658 pExpr->pParent = pParser->pCur;
3659 pParser->pCur = pExpr;
3660 *pParser->ppCur = pExpr;
3746 PVBCPPEXPR pExpr = vbcppExprParseAllocNode(pParser);
3747 if (!pExpr)
3749 pExpr->fComplete = true;
3752 pExpr->enmKind = kVBCppExprKind_SignedValue;
3753 pExpr->u.SignedValue.s64 = (int64_t)u64;
3757 pExpr->enmKind = kVBCppExprKind_UnsignedValue;
3758 pExpr->u.UnsignedValue.u64 = u64;
3762 pExpr->pParent = pParser->pCur;
3763 pParser->pCur = pExpr;
3764 *pParser->ppCur = pExpr;
3805 PVBCPPEXPR pExpr = vbcppExprParseAllocNode(pParser);
3806 if (!pExpr)
3808 pExpr->fComplete = true;
3809 pExpr->enmKind = kVBCppExprKind_SignedValue;
3810 pExpr->u.SignedValue.s64 = s64;
3813 pExpr->pParent = pParser->pCur;
3814 pParser->pCur = pExpr;
3815 *pParser->ppCur = pExpr;
3877 PVBCPPEXPR pExpr = vbcppExprParseAllocNode(pParser);
3878 if (!pExpr)
3880 pExpr->fComplete = false;
3881 pExpr->enmKind = kVBCppExprKind_Unary;
3882 pExpr->u.Unary.enmOperator = enmOperator;
3883 pExpr->u.Unary.pArg = NULL;
3886 pExpr->pParent = pParser->pCur;
3887 pParser->pCur = pExpr;
3888 *pParser->ppCur = pExpr;
3889 pParser->ppCur = &pExpr->u.Unary.pArg;
3971 * @param pExpr The value expression.
3973 static bool vbcppExprIsExprTrue(PVBCPPEXPR pExpr)
3975 Assert(pExpr->enmKind == kVBCppExprKind_SignedValue || pExpr->enmKind == kVBCppExprKind_UnsignedValue);
3977 return pExpr->enmKind == kVBCppExprKind_SignedValue
3978 ? pExpr->u.SignedValue.s64 != 0
3979 : pExpr->u.UnsignedValue.u64 != 0;
4218 rcExit = vbcppExprEvaluteTree(pThis, pRoot->u.Ternary.pExpr, pResult);