Lines Matching defs:Eval
2392 if (auto *Eval = getEvaluatedStmt())
2393 return Eval->Value.isValid();
2405 auto *Eval = getEvaluatedStmt();
2407 return cast<Expr>(Eval->Value.get(
2408 Eval->Value.isOffset() ? getASTContext().getExternalSource() : nullptr));
2450 if (auto *Eval = dyn_cast_if_present<EvaluatedStmt *>(Init)) {
2451 Eval->~EvaluatedStmt();
2452 getASTContext().Deallocate(Eval);
2530 auto *Eval = dyn_cast_if_present<EvaluatedStmt *>(Init);
2531 if (!Eval) {
2536 Eval = new (getASTContext()) EvaluatedStmt;
2537 Eval->Value = cast<Stmt *>(Init);
2538 Init = Eval;
2540 return Eval;
2554 EvaluatedStmt *Eval = ensureEvaluatedStmt();
2562 if (Eval->WasEvaluated)
2563 return Eval->Evaluated.isAbsent() ? nullptr : &Eval->Evaluated;
2565 if (Eval->IsEvaluating) {
2570 Eval->IsEvaluating = true;
2573 bool Result = Init->EvaluateAsInitializer(Eval->Evaluated, Ctx, this, Notes,
2590 Eval->Evaluated = APValue();
2591 else if (Eval->Evaluated.needsCleanup())
2592 Ctx.addDestruction(&Eval->Evaluated);
2594 Eval->IsEvaluating = false;
2595 Eval->WasEvaluated = true;
2597 return Result ? &Eval->Evaluated : nullptr;
2601 if (EvaluatedStmt *Eval = getEvaluatedStmt())
2602 if (Eval->WasEvaluated)
2603 return &Eval->Evaluated;
2612 EvaluatedStmt *Eval = ensureEvaluatedStmt();
2613 if (!Eval->CheckedForICEInit) {
2614 Eval->CheckedForICEInit = true;
2615 Eval->HasICEInit = Init->isIntegerConstantExpr(Context);
2617 return Eval->HasICEInit;
2630 if (EvaluatedStmt *Eval = getEvaluatedStmt())
2631 return Eval->HasConstantInitialization;
2638 EvaluatedStmt *Eval = ensureEvaluatedStmt();
2642 assert(!Eval->WasEvaluated &&
2651 Eval->HasConstantInitialization =
2656 if (!Eval->HasConstantInitialization)
2657 Eval->WasEvaluated = false;
2659 return Eval->HasConstantInitialization;
2824 if (EvaluatedStmt *Eval = getEvaluatedStmt())
2825 if (Eval->HasConstantDestruction)