Lines Matching defs:Ex
370 // that the whole expression 'Ex' refers to. This trick is usual,
434 // Still, what we can do is assign the value of expression Ex (which
2037 const auto *Ex = cast<Expr>(S);
2038 QualType resultType = Ex->getType();
2042 SVal result = svalBuilder.conjureSymbolVal(nullptr, Ex, LCtx,
2045 ProgramStateRef State = N->getState()->BindExpr(Ex, LCtx, result);
2049 if (!(isa<ObjCBoxedExpr>(Ex) &&
2050 !cast<ObjCBoxedExpr>(Ex)->getSubExpr()
2052 for (auto Child : Ex->children()) {
2600 const auto *Ex = dyn_cast<Expr>(Condition);
2601 if (!Ex)
2607 while (const auto *CE = dyn_cast<CastExpr>(Ex)) {
2619 Ex = CE->getSubExpr();
2623 QualType T = Ex->getType();
2629 return state->getSVal(Ex, LCtx);
2661 if (const auto *Ex = dyn_cast<Expr>(Condition))
2662 Condition = Ex->IgnoreParens();
2740 if (const auto *Ex = dyn_cast<Expr>(Condition)) {
2741 if (Ex->getType()->isIntegralOrEnumerationType()) {
2784 if (const auto *Ex = dyn_cast<Expr>(Condition))
2785 Condition = Ex->IgnoreParens();
3087 void ExprEngine::VisitCommonDeclRefExpr(const Expr *Ex, const NamedDecl *D,
3098 assert(Ex->isGLValue() || VD->getType()->isVoidType());
3102 const auto *DeclRefEx = dyn_cast<DeclRefExpr>(Ex);
3139 Bldr.generateNode(Ex, Pred, state->BindExpr(Ex, LCtx, V), nullptr,
3144 assert(!Ex->isGLValue());
3146 Bldr.generateNode(Ex, Pred, state->BindExpr(Ex, LCtx, V));
3151 Bldr.generateNode(Ex, Pred, state->BindExpr(Ex, LCtx, V), nullptr,
3211 Bldr.generateNode(Ex, Pred, state->BindExpr(Ex, LCtx, V), nullptr,
3227 void ExprEngine::VisitArrayInitLoopExpr(const ArrayInitLoopExpr *Ex,
3231 getCheckerManager().runCheckersForPreStmt(CheckerPreStmt, Pred, Ex, *this);
3236 const Expr *Arr = Ex->getCommonExpr()->getSourceExpr();
3241 if (isa<CXXConstructExpr>(Ex->getSubExpr()))
3318 Bldr.generateNode(Ex, Pred, state->BindExpr(Ex, LCtx, Base));
3321 getCheckerManager().runCheckersForPostStmt(Dst, EvalSet, Ex, *this);
3771 const Expr *Ex) {
3779 if (!P.getAs<PostStmt>() || P.castAs<PostStmt>().getStmt() != Ex) {
3785 SVal V = State->getSVal(Ex, Pred->getLocationContext());
3793 StateTrue = StateTrue->set<LastEagerlyAssumeExprIfSuccessful>(Ex);
3794 StateFalse = StateFalse->set<LastEagerlyAssumeExprIfSuccessful>(Ex);
3799 SVal Val = svalBuilder.makeIntVal(1U, Ex->getType());
3800 StateTrue = StateTrue->BindExpr(Ex, Pred->getLocationContext(), Val);
3801 Bldr.generateNode(Ex, Pred, StateTrue, TrueTag);
3806 SVal Val = svalBuilder.makeIntVal(0U, Ex->getType());
3807 StateFalse = StateFalse->BindExpr(Ex, Pred->getLocationContext(), Val);
3808 Bldr.generateNode(Ex, Pred, StateFalse, FalseTag);
3815 const Expr *Ex) const {
3816 return Ex && State->get<LastEagerlyAssumeExprIfSuccessful>() == Ex;