Home | History | Annotate | Download | only in Analysis

Lines Matching refs:Terminator

841 /// happens to be logical end. Use blocks terminator as statement that specifies
1012 CFGBlock *CFGBuilder::VisitChildren(Stmt *Terminator) {
1014 for (Stmt::child_range I = Terminator->children(); I; ++I)
1513 // Set the terminator of the new block to the If statement.
1653 // Set the terminator for the "exit" condition block.
1822 // Set the terminator for the "exit" condition block.
1938 // Set the terminator for the "exit" condition block.
2096 // Set the terminator for the "exit" condition block.
2231 CFGBlock *CFGBuilder::VisitSwitchStmt(SwitchStmt *Terminator) {
2242 if (VarDecl *VD = Terminator->getConditionVariable()) {
2245 addAutomaticObjDtors(ScopePos, SwitchBeginScopePos, Terminator);
2275 assert(Terminator->getBody() && "switch must contain a non-NULL body");
2284 assert(Terminator->getCond() && "switch condition must be non-NULL");
2286 bool b = tryEvaluate(Terminator->getCond(), result);
2292 if (!isa<CompoundStmt>(Terminator->getBody()))
2293 addLocalScopeAndDtors(Terminator->getBody());
2295 addStmt(Terminator->getBody());
2305 switchExclusivelyCovered || Terminator->isAllEnumCasesCovered()
2308 // Add the terminator and condition in the switch block.
2309 SwitchTerminatedBlock->setTerminator(Terminator);
2311 Block = addStmt(Terminator->getCond());
2315 if (VarDecl *VD = Terminator->getConditionVariable()) {
2318 appendStmt(Block, Terminator->getConditionVariableDeclStmt());
2426 CFGBlock *CFGBuilder::VisitDefaultStmt(DefaultStmt *Terminator) {
2427 if (Terminator->getSubStmt())
2428 addStmt(Terminator->getSubStmt());
2437 DefaultCaseBlock->setLabel(Terminator);
2457 CFGBlock *CFGBuilder::VisitCXXTryStmt(CXXTryStmt *Terminator) {
2472 // Add the terminator in the try block.
2473 NewTryTerminatedBlock->setTerminator(Terminator);
2476 for (unsigned h = 0; h <Terminator->getNumHandlers(); ++h) {
2479 CXXCatchStmt *CS = Terminator->getHandler(h);
2505 assert(Terminator->getTryBlock() && "try must contain a non-NULL body");
2507 Block = addStmt(Terminator->getTryBlock());
3293 void VisitStmt(Stmt *Terminator) {
3294 Terminator->printPretty(OS, Helper, Policy);
3322 void VisitSwitchStmt(SwitchStmt *Terminator) {
3324 Terminator->getCond()->printPretty(OS, Helper, Policy);
3534 // Print the terminator of this block.
3623 /// printTerminator - A simple pretty printer of the terminator of a CFGBlock.
3631 Stmt *Terminator = this->Terminator;
3632 if (!Terminator)
3637 switch (Terminator->getStmtClass()) {
3642 E = cast<ForStmt>(Terminator)->getCond();
3646 E = cast<WhileStmt>(Terminator)->getCond();
3650 E = cast<DoStmt>(Terminator)->getCond();
3654 E = cast<IfStmt>(Terminator)->getCond();
3658 E = cast<ChooseExpr>(Terminator)->getCond();
3662 E = cast<IndirectGotoStmt>(Terminator)->getTarget();
3666 E = cast<SwitchStmt>(Terminator)->getCond();
3670 E = cast<BinaryConditionalOperator>(Terminator)->getCond();
3674 E = cast<ConditionalOperator>(Terminator)->getCond();
3678 E = cast<BinaryOperator>(Terminator)->getLHS();
3682 return Terminator;