Lines Matching refs:Expr

37     if (Expr *Ex = VD->getInit())
43 /// or EnumConstantDecl from the given Expr. If it fails, returns nullptr.
44 const Expr *tryTransformToIntOrEnumConstant(const Expr *E) {
53 /// Tries to interpret a binary operator into `Decl Op Expr` form, if Expr is
56 /// If this fails, at least one of the returned DeclRefExpr or Expr will be
58 static std::tuple<const DeclRefExpr *, BinaryOperatorKind, const Expr *>
62 const Expr *MaybeDecl = B->getLHS();
63 const Expr *Constant = tryTransformToIntOrEnumConstant(B->getRHS());
64 // Expr looked like `0 == Foo` instead of `Foo == 0`
90 static bool areExprTypesCompatible(const Expr *E1, const Expr *E2) {
402 Expr::EvalResult *switchCond;
409 typedef llvm::DenseMap<Expr *, TryResult> CachedBoolEvalsTy;
489 CFGBlock *VisitNoRecurse(Expr *E, AddStmtChoice asc);
600 assert(!isa<Expr>(S) || cast<Expr>(S)->IgnoreParens() == S);
645 const Expr *LHSExpr = B->getLHS()->IgnoreParens();
646 const Expr *RHSExpr = B->getRHS()->IgnoreParens();
649 const Expr *BoolExpr = RHSExpr;
684 const Expr *LHSExpr = B->getLHS()->IgnoreParens();
685 const Expr *RHSExpr = B->getRHS()->IgnoreParens();
688 const Expr *BoolExpr = RHSExpr;
701 const Expr *LHSExpr2 = BitOp->getLHS()->IgnoreParens();
702 const Expr *RHSExpr2 = BitOp->getRHS()->IgnoreParens();
771 const Expr *Expr1;
779 const Expr *Expr2;
854 bool tryEvaluate(Expr *S, Expr::EvalResult &outResult) {
864 TryResult tryEvaluateBool(Expr *S) {
911 TryResult evaluateAsBooleanConditionNoCache(Expr *E) {
1124 Expr *Init = I->getInit();
1148 // may cause the same Expr to appear more than once in the CFG. Doing it
1167 const Expr *Init) {
1370 const Expr *Init = VD->getInit();
1437 if (Expr *E = dyn_cast<Expr>(S))
1490 // this expression to the CFG, we could end up with the same Expr
1674 Expr *RHS = B->getRHS()->IgnoreParens();
1713 Expr *LHS = B->getLHS()->IgnoreParens();
1791 CFGBlock *CFGBuilder::VisitNoRecurse(Expr *E, AddStmtChoice asc) {
1821 static bool CanThrow(Expr *E, ASTContext &Ctx) {
1842 QualType boundType = Expr::findBoundMemberType(C->getCallee());
1989 const Expr *trueExpr = C->getTrueExpr();
2019 Expr *condExpr = C->getCond();
2101 Expr *Init = VD->getInit();
2337 if (Expr *CopyExpr = CI.getCopyExpr()) {
2350 if (Expr *Init = *it) {
2477 Expr *C = F->getCond();
2506 if (Expr *Init = VD->getInit()) {
2712 Expr *Semantic = E->getSemanticExpr(--i);
2795 Expr *C = W->getCond();
2819 if (Expr *Init = VD->getInit()) {
3107 Expr::EvalResult result;
3109 SaveAndRestore<Expr::EvalResult*> save_switchCond(switchCond,
3144 if (Expr *Init = VD->getInit()) {
3155 const Expr::EvalResult *switchCond,
3174 if (const Expr *RHS = CS->getRHS()) {
3426 if (Expr *C = S->getCond()) {
3654 SmallVector<const Expr *, 2> CommaLHSs;
3657 E = const_cast<Expr *>(
3662 for (const Expr *CommaLHS : CommaLHSs) {
3663 VisitForTemporaryDtors(const_cast<Expr *>(CommaLHS),
3679 for (Expr *Init : LE->capture_inits()) {
4174 void VisitExpr(Expr *E) {
4233 if (isa<Expr>(S))
4245 if (Expr *IE = I->getInit())
4542 Expr *E = nullptr;