Lines Matching refs:Terminator
950 /// happens to be logical end. Use blocks terminator as statement that specifies
1137 CFGBlock *CFGBuilder::VisitChildren(Stmt *Terminator) {
1139 for (Stmt::child_range I = Terminator->children(); I; ++I)
1651 // Set the terminator of the new block to the If statement.
1804 // Set the terminator for the "exit" condition block.
1973 // Set the terminator for the "exit" condition block.
2120 // Set the terminator for the "exit" condition block.
2278 // Set the terminator for the "exit" condition block.
2413 CFGBlock *CFGBuilder::VisitSwitchStmt(SwitchStmt *Terminator) {
2424 if (VarDecl *VD = Terminator->getConditionVariable()) {
2427 addAutomaticObjDtors(ScopePos, SwitchBeginScopePos, Terminator);
2457 assert(Terminator->getBody() && "switch must contain a non-NULL body");
2466 assert(Terminator->getCond() && "switch condition must be non-NULL");
2468 bool b = tryEvaluate(Terminator->getCond(), result);
2474 Terminator->getBody()))
2475 addLocalScopeAndDtors(Terminator->getBody());
2477 addStmt(Terminator->getBody());
2487 switchExclusivelyCovered || Terminator->isAllEnumCasesCovered()
2490 // Add the terminator and condition in the switch block.
2491 SwitchTerminatedBlock->setTerminator(Terminator);
2493 Block = addStmt(Terminator->getCond());
2497 if (VarDecl *VD = Terminator->getConditionVariable()) {
2500 appendStmt(Block, Terminator->getConditionVariableDeclStmt());
2608 CFGBlock *CFGBuilder::VisitDefaultStmt(DefaultStmt *Terminator) {
2609 if (Terminator->getSubStmt())
2610 addStmt(Terminator->getSubStmt());
2619 DefaultCaseBlock->setLabel(Terminator);
2639 CFGBlock *CFGBuilder::VisitCXXTryStmt(CXXTryStmt *Terminator) {
2654 // Add the terminator in the try block.
2655 NewTryTerminatedBlock->setTerminator(Terminator);
2658 for (unsigned h = 0; h <Terminator->getNumHandlers(); ++h) {
2661 CXXCatchStmt *CS = Terminator->getHandler(h);
2687 assert(Terminator->getTryBlock() && "try must contain a non-NULL body");
2689 Block = addStmt(Terminator->getTryBlock());
3482 void VisitStmt(Stmt *Terminator) {
3483 Terminator->printPretty(OS, Helper, Policy);
3511 void VisitSwitchStmt(SwitchStmt *Terminator) {
3513 Terminator->getCond()->printPretty(OS, Helper, Policy);
3741 // Print the terminator of this block.
3865 /// printTerminator - A simple pretty printer of the terminator of a CFGBlock.
3873 Stmt *Terminator = this->Terminator;
3874 if (!Terminator)
3879 switch (Terminator->getStmtClass()) {
3884 E = cast<ForStmt>(Terminator)->getCond();
3888 E = cast<WhileStmt>(Terminator)->getCond();
3892 E = cast<DoStmt>(Terminator)->getCond();
3896 E = cast<IfStmt>(Terminator)->getCond();
3900 E = cast<ChooseExpr>(Terminator)->getCond();
3904 E = cast<IndirectGotoStmt>(Terminator)->getTarget();
3908 E = cast<SwitchStmt>(Terminator)->getCond();
3912 E = cast<BinaryConditionalOperator>(Terminator)->getCond();
3916 E = cast<ConditionalOperator>(Terminator)->getCond();
3920 E = cast<BinaryOperator>(Terminator)->getLHS();
3924 return Terminator;