Lines Matching refs:Terminator
3053 CFGBlock *CFGBuilder::VisitSwitchStmt(SwitchStmt *Terminator) { in VisitSwitchStmt() argument
3064 if (VarDecl *VD = Terminator->getConditionVariable()) { in VisitSwitchStmt()
3067 addAutomaticObjDtors(ScopePos, SwitchBeginScopePos, Terminator); in VisitSwitchStmt()
3097 assert(Terminator->getBody() && "switch must contain a non-NULL body"); in VisitSwitchStmt()
3106 assert(Terminator->getCond() && "switch condition must be non-NULL"); in VisitSwitchStmt()
3108 bool b = tryEvaluate(Terminator->getCond(), result); in VisitSwitchStmt()
3114 if (!isa<CompoundStmt>(Terminator->getBody())) in VisitSwitchStmt()
3115 addLocalScopeAndDtors(Terminator->getBody()); in VisitSwitchStmt()
3117 addStmt(Terminator->getBody()); in VisitSwitchStmt()
3131 SwitchAlwaysHasSuccessor |= Terminator->isAllEnumCasesCovered() && in VisitSwitchStmt()
3132 Terminator->getSwitchCaseList(); in VisitSwitchStmt()
3137 SwitchTerminatedBlock->setTerminator(Terminator); in VisitSwitchStmt()
3139 CFGBlock *LastBlock = addStmt(Terminator->getCond()); in VisitSwitchStmt()
3143 if (VarDecl *VD = Terminator->getConditionVariable()) { in VisitSwitchStmt()
3146 appendStmt(Block, Terminator->getConditionVariableDeclStmt()); in VisitSwitchStmt()
3253 CFGBlock *CFGBuilder::VisitDefaultStmt(DefaultStmt *Terminator) { in VisitDefaultStmt() argument
3254 if (Terminator->getSubStmt()) in VisitDefaultStmt()
3255 addStmt(Terminator->getSubStmt()); in VisitDefaultStmt()
3264 DefaultCaseBlock->setLabel(Terminator); in VisitDefaultStmt()
3284 CFGBlock *CFGBuilder::VisitCXXTryStmt(CXXTryStmt *Terminator) { in VisitCXXTryStmt() argument
3300 NewTryTerminatedBlock->setTerminator(Terminator); in VisitCXXTryStmt()
3303 for (unsigned h = 0; h <Terminator->getNumHandlers(); ++h) { in VisitCXXTryStmt()
3306 CXXCatchStmt *CS = Terminator->getHandler(h); in VisitCXXTryStmt()
3332 assert(Terminator->getTryBlock() && "try must contain a non-NULL body"); in VisitCXXTryStmt()
3334 return addStmt(Terminator->getTryBlock()); in VisitCXXTryStmt()
4091 void VisitStmt(Stmt *Terminator) { in VisitStmt() argument
4092 Terminator->printPretty(OS, Helper, Policy); in VisitStmt()
4125 void VisitSwitchStmt(SwitchStmt *Terminator) { in VisitSwitchStmt() argument
4127 Terminator->getCond()->printPretty(OS, Helper, Policy); in VisitSwitchStmt()
4538 Stmt *Terminator = this->Terminator; in getTerminatorCondition() local
4539 if (!Terminator) in getTerminatorCondition()
4544 switch (Terminator->getStmtClass()) { in getTerminatorCondition()
4549 E = cast<CXXForRangeStmt>(Terminator)->getCond(); in getTerminatorCondition()
4553 E = cast<ForStmt>(Terminator)->getCond(); in getTerminatorCondition()
4557 E = cast<WhileStmt>(Terminator)->getCond(); in getTerminatorCondition()
4561 E = cast<DoStmt>(Terminator)->getCond(); in getTerminatorCondition()
4565 E = cast<IfStmt>(Terminator)->getCond(); in getTerminatorCondition()
4569 E = cast<ChooseExpr>(Terminator)->getCond(); in getTerminatorCondition()
4573 E = cast<IndirectGotoStmt>(Terminator)->getTarget(); in getTerminatorCondition()
4577 E = cast<SwitchStmt>(Terminator)->getCond(); in getTerminatorCondition()
4581 E = cast<BinaryConditionalOperator>(Terminator)->getCond(); in getTerminatorCondition()
4585 E = cast<ConditionalOperator>(Terminator)->getCond(); in getTerminatorCondition()
4589 E = cast<BinaryOperator>(Terminator)->getLHS(); in getTerminatorCondition()
4593 return Terminator; in getTerminatorCondition()