Lines Matching defs:SubExpr

285     const Expr *SubExpr = S->getSubExpr();
286 assert(SubExpr != nullptr);
294 dyn_cast_or_null<BoolValue>(Env.getValue(*SubExpr)))
306 auto *SubExprVal = maybeUnpackLValueExpr(*SubExpr, Env);
329 propagateValueOrStorageLocation(*SubExpr, *S, Env);
343 StorageLocation *PointeeLoc = Env.getStorageLocation(*SubExpr);
362 const Expr *SubExpr = S->getSubExpr();
363 assert(SubExpr != nullptr);
367 const auto *SubExprVal = Env.get<PointerValue>(*SubExpr);
379 if (StorageLocation *PointeeLoc = Env.getStorageLocation(*SubExpr))
384 auto *SubExprVal = dyn_cast_or_null<BoolValue>(Env.getValue(*SubExpr));
659 const Expr *SubExpr = S->getSubExpr();
660 assert(SubExpr != nullptr);
665 if (SubExpr->getType()->isRecordType())
667 // `SubExpr`.
670 if (Value *SubExprVal = Env.getValue(*SubExpr))
675 const Expr *SubExpr = S->getSubExpr();
676 assert(SubExpr != nullptr);
678 propagateValue(*SubExpr, *S, Env);
683 const Expr *SubExpr = S->getSubExpr();
684 assert(SubExpr != nullptr);
686 propagateValueOrStorageLocation(*SubExpr, *S, Env);
805 auto *SubExpr = S->getSubExpr();
806 assert(SubExpr != nullptr);
807 Visit(SubExpr);
814 auto *SubExpr = S->getSubExpr();
815 assert(SubExpr != nullptr);
816 Visit(SubExpr);
820 /// Returns the value for the sub-expression `SubExpr` of a logic operator.
821 BoolValue &getLogicOperatorSubExprValue(const Expr &SubExpr) {
822 // `SubExpr` and its parent logic operator might be part of different basic
823 // blocks. We try to access the value that is assigned to `SubExpr` in the
825 if (const Environment *SubExprEnv = StmtToEnv.getEnvironment(SubExpr))
827 dyn_cast_or_null<BoolValue>(SubExprEnv->getValue(SubExpr)))
832 // (see https://discourse.llvm.org/t/70775). In this case, visit `SubExpr`
835 if (Env.getValue(SubExpr) == nullptr)
836 Visit(&SubExpr);
837 if (auto *Val = dyn_cast_or_null<BoolValue>(Env.getValue(SubExpr)))
840 // If the value of `SubExpr` is still unknown, we create a fresh symbolic