Lines Matching refs:Stmt

168                  const Stmt *stmt) const;
391 llvm::SmallVector<Stmt *, 12> childrenBuf;
392 ArrayRef<Stmt *> children;
395 reverse_children(Stmt *S);
397 using iterator = ArrayRef<Stmt *>::reverse_iterator;
405 reverse_children::reverse_children(Stmt *S) { in reverse_children()
412 case Stmt::InitListExprClass: { in reverse_children()
414 children = llvm::makeArrayRef(reinterpret_cast<Stmt**>(IE->getInits()), in reverse_children()
423 for (Stmt *SubStmt : S->children()) in reverse_children()
501 const Stmt *lastLookup = nullptr;
516 std::unique_ptr<CFG> buildCFG(const Decl *D, Stmt *Statement);
518 bool alwaysAdd(const Stmt *stmt);
561 Stmt *Term,
575 CFGBlock *VisitReturnStmt(Stmt *S);
587 CFGBlock *Visit(Stmt *S, AddStmtChoice asc = AddStmtChoice::NotAlwaysAdd);
588 CFGBlock *VisitStmt(Stmt *S, AddStmtChoice asc);
589 CFGBlock *VisitChildren(Stmt *S);
593 const Stmt *S) { in maybeAddScopeBeginForVarDecl()
656 CFGBlock *VisitForTemporaryDtors(Stmt *E, bool BindToTemporary,
658 CFGBlock *VisitChildrenForTemporaryDtors(Stmt *E, TempDtorContext &Context);
686 Stmt *Child);
716 CFGBlock *addStmt(Stmt *S) { in addStmt()
721 void addLoopExit(const Stmt *LoopStmt);
723 LocalScope::const_iterator E, Stmt *S);
725 LocalScope::const_iterator E, Stmt *S);
727 LocalScope::const_iterator E, Stmt *S);
730 Stmt *S);
733 LocalScope::const_iterator E, Stmt *S);
738 void addLocalScopeForStmt(Stmt *S);
743 void addLocalScopeAndDtors(Stmt *S);
760 void appendStmt(CFGBlock *B, const Stmt *S) { in appendStmt()
766 B->appendStmt(const_cast<Stmt*>(S), cfg->getBumpVectorContext()); in appendStmt()
828 void appendAutomaticObjDtor(CFGBlock *B, VarDecl *VD, Stmt *S) { in appendAutomaticObjDtor()
832 void appendLifetimeEnds(CFGBlock *B, VarDecl *VD, Stmt *S) { in appendLifetimeEnds()
836 void appendLoopExit(CFGBlock *B, const Stmt *LoopStmt) { in appendLoopExit()
868 void appendScopeBegin(CFGBlock *B, const VarDecl *VD, const Stmt *S) { in appendScopeBegin()
873 void prependScopeBegin(CFGBlock *B, const VarDecl *VD, const Stmt *S) { in prependScopeBegin()
878 void appendScopeEnd(CFGBlock *B, const VarDecl *VD, const Stmt *S) { in appendScopeEnd()
883 void prependScopeEnd(CFGBlock *B, const VarDecl *VD, const Stmt *S) { in prependScopeEnd()
1219 const Stmt *stmt) const { in alwaysAdd()
1223 bool CFGBuilder::alwaysAdd(const Stmt *stmt) { in alwaysAdd()
1289 const ConstructionContextLayer *Layer, Stmt *Child) { in findConstructionContexts()
1302 case Stmt::CXXConstructExprClass: in findConstructionContexts()
1303 case Stmt::CXXTemporaryObjectExprClass: { in findConstructionContexts()
1316 case Stmt::CallExprClass: in findConstructionContexts()
1317 case Stmt::CXXMemberCallExprClass: in findConstructionContexts()
1318 case Stmt::CXXOperatorCallExprClass: in findConstructionContexts()
1319 case Stmt::UserDefinedLiteralClass: in findConstructionContexts()
1320 case Stmt::ObjCMessageExprClass: { in findConstructionContexts()
1326 case Stmt::ExprWithCleanupsClass: { in findConstructionContexts()
1331 case Stmt::CXXFunctionalCastExprClass: { in findConstructionContexts()
1336 case Stmt::ImplicitCastExprClass: { in findConstructionContexts()
1349 case Stmt::CXXBindTemporaryExprClass: { in findConstructionContexts()
1354 case Stmt::MaterializeTemporaryExprClass: { in findConstructionContexts()
1366 case Stmt::ConditionalOperatorClass: { in findConstructionContexts()
1401 std::unique_ptr<CFG> CFGBuilder::buildCFG(const Decl *D, Stmt *Statement) { in buildCFG()
1546 if (Stmt *Child = Default->getExpr()) in addInitializer()
1599 void CFGBuilder::addLoopExit(const Stmt *LoopStmt){ in addLoopExit()
1607 LocalScope::const_iterator E, Stmt *S) { in getDeclsWithEndedScope()
1630 Stmt *S) { in addAutomaticObjHandling()
1642 LocalScope::const_iterator E, Stmt *S) { in addLifetimeEnds()
1687 LocalScope::const_iterator E, Stmt *S) { in addScopesEnd()
1706 LocalScope::const_iterator E, Stmt *S) { in addAutomaticObjDtors()
1812 void CFGBuilder::addLocalScopeForStmt(Stmt *S) { in addLocalScopeForStmt()
1822 Stmt *SI = BI->stripLabelLikeStatements(); in addLocalScopeForStmt()
1929 void CFGBuilder::addLocalScopeAndDtors(Stmt *S) { in addLocalScopeAndDtors()
1993 CFGBlock *CFGBuilder::Visit(Stmt * S, AddStmtChoice asc) { in Visit()
2006 case Stmt::AddrLabelExprClass: in Visit()
2009 case Stmt::BinaryConditionalOperatorClass: in Visit()
2012 case Stmt::BinaryOperatorClass: in Visit()
2015 case Stmt::BlockExprClass: in Visit()
2018 case Stmt::BreakStmtClass: in Visit()
2021 case Stmt::CallExprClass: in Visit()
2022 case Stmt::CXXOperatorCallExprClass: in Visit()
2023 case Stmt::CXXMemberCallExprClass: in Visit()
2024 case Stmt::UserDefinedLiteralClass: in Visit()
2027 case Stmt::CaseStmtClass: in Visit()
2030 case Stmt::ChooseExprClass: in Visit()
2033 case Stmt::CompoundStmtClass: in Visit()
2036 case Stmt::ConditionalOperatorClass: in Visit()
2039 case Stmt::ContinueStmtClass: in Visit()
2042 case Stmt::CXXCatchStmtClass: in Visit()
2045 case Stmt::ExprWithCleanupsClass: in Visit()
2048 case Stmt::CXXDefaultArgExprClass: in Visit()
2049 case Stmt::CXXDefaultInitExprClass: in Visit()
2061 case Stmt::CXXBindTemporaryExprClass: in Visit()
2064 case Stmt::CXXConstructExprClass: in Visit()
2067 case Stmt::CXXNewExprClass: in Visit()
2070 case Stmt::CXXDeleteExprClass: in Visit()
2073 case Stmt::CXXFunctionalCastExprClass: in Visit()
2076 case Stmt::CXXTemporaryObjectExprClass: in Visit()
2079 case Stmt::CXXThrowExprClass: in Visit()
2082 case Stmt::CXXTryStmtClass: in Visit()
2085 case Stmt::CXXForRangeStmtClass: in Visit()
2088 case Stmt::DeclStmtClass: in Visit()
2091 case Stmt::DefaultStmtClass: in Visit()
2094 case Stmt::DoStmtClass: in Visit()
2097 case Stmt::ForStmtClass: in Visit()
2100 case Stmt::GotoStmtClass: in Visit()
2103 case Stmt::IfStmtClass: in Visit()
2106 case Stmt::ImplicitCastExprClass: in Visit()
2109 case Stmt::ConstantExprClass: in Visit()
2112 case Stmt::IndirectGotoStmtClass: in Visit()
2115 case Stmt::LabelStmtClass: in Visit()
2118 case Stmt::LambdaExprClass: in Visit()
2121 case Stmt::MaterializeTemporaryExprClass: in Visit()
2125 case Stmt::MemberExprClass: in Visit()
2128 case Stmt::NullStmtClass: in Visit()
2131 case Stmt::ObjCAtCatchStmtClass: in Visit()
2134 case Stmt::ObjCAutoreleasePoolStmtClass: in Visit()
2137 case Stmt::ObjCAtSynchronizedStmtClass: in Visit()
2140 case Stmt::ObjCAtThrowStmtClass: in Visit()
2143 case Stmt::ObjCAtTryStmtClass: in Visit()
2146 case Stmt::ObjCForCollectionStmtClass: in Visit()
2149 case Stmt::ObjCMessageExprClass: in Visit()
2152 case Stmt::OpaqueValueExprClass: in Visit()
2155 case Stmt::PseudoObjectExprClass: in Visit()
2158 case Stmt::ReturnStmtClass: in Visit()
2159 case Stmt::CoreturnStmtClass: in Visit()
2162 case Stmt::SEHExceptStmtClass: in Visit()
2165 case Stmt::SEHFinallyStmtClass: in Visit()
2168 case Stmt::SEHLeaveStmtClass: in Visit()
2171 case Stmt::SEHTryStmtClass: in Visit()
2174 case Stmt::UnaryExprOrTypeTraitExprClass: in Visit()
2178 case Stmt::StmtExprClass: in Visit()
2181 case Stmt::SwitchStmtClass: in Visit()
2184 case Stmt::UnaryOperatorClass: in Visit()
2187 case Stmt::WhileStmtClass: in Visit()
2192 CFGBlock *CFGBuilder::VisitStmt(Stmt *S, AddStmtChoice asc) { in VisitStmt()
2202 CFGBlock *CFGBuilder::VisitChildren(Stmt *S) { in VisitChildren()
2210 if (Stmt *Child = *I) in VisitChildren()
2252 Stmt *Term, in VisitLogicalOperator()
2769 if (Stmt *Init = I->getInit()) in VisitIfStmt()
2790 if (Stmt *Else = I->getElse()) { in VisitIfStmt()
2815 Stmt *Then = I->getThen(); in VisitIfStmt()
2882 if (Stmt *Init = I->getInit()) { in VisitIfStmt()
2890 CFGBlock *CFGBuilder::VisitReturnStmt(Stmt *S) { in VisitReturnStmt()
3116 if (Stmt *Init = F->getInit()) in VisitForStmt()
3158 if (Stmt *I = F->getInc()) { in VisitForStmt()
3270 if (Stmt *I = F->getInit()) { in VisitForStmt()
3685 if (Stmt *C = D->getCond()) { in VisitDoStmt()
3823 if (Stmt *Init = Terminator->getInit()) in VisitSwitchStmt()
3916 if (Stmt *Init = Terminator->getInit()) { in VisitSwitchStmt()
3965 if (Stmt *Sub = CS->getSubStmt()) { in VisitCaseStmt()
4168 if (Stmt *Range = S->getRangeStmt()) in VisitCXXForRangeStmt()
4170 if (Stmt *Begin = S->getBeginStmt()) in VisitCXXForRangeStmt()
4172 if (Stmt *End = S->getEndStmt()) in VisitCXXForRangeStmt()
4416 CFGBlock *CFGBuilder::VisitForTemporaryDtors(Stmt *E, bool BindToTemporary, in VisitForTemporaryDtors()
4429 case Stmt::BinaryOperatorClass: in VisitForTemporaryDtors()
4433 case Stmt::CXXBindTemporaryExprClass: in VisitForTemporaryDtors()
4437 case Stmt::BinaryConditionalOperatorClass: in VisitForTemporaryDtors()
4438 case Stmt::ConditionalOperatorClass: in VisitForTemporaryDtors()
4442 case Stmt::ImplicitCastExprClass: in VisitForTemporaryDtors()
4447 case Stmt::CXXFunctionalCastExprClass: in VisitForTemporaryDtors()
4452 case Stmt::ConstantExprClass: in VisitForTemporaryDtors()
4456 case Stmt::ParenExprClass: in VisitForTemporaryDtors()
4460 case Stmt::MaterializeTemporaryExprClass: { in VisitForTemporaryDtors()
4478 case Stmt::BlockExprClass: in VisitForTemporaryDtors()
4483 case Stmt::LambdaExprClass: { in VisitForTemporaryDtors()
4498 case Stmt::CXXDefaultArgExprClass: in VisitForTemporaryDtors()
4502 case Stmt::CXXDefaultInitExprClass: in VisitForTemporaryDtors()
4508 CFGBlock *CFGBuilder::VisitChildrenForTemporaryDtors(Stmt *E, in VisitChildrenForTemporaryDtors()
4520 for (Stmt *Child : E->children()) in VisitChildrenForTemporaryDtors()
4665 std::unique_ptr<CFG> CFG::buildCFG(const Decl *D, Stmt *Statement, in buildCFG()
4771 const Stmt *L = To->getLabel(); in FilterEdge()
4788 using StmtMapTy = llvm::DenseMap<const Stmt *, std::pair<unsigned, unsigned>>;
4805 const Stmt *stmt= SE->getStmt(); in StmtPrinterHelper()
4810 case Stmt::DeclStmtClass: in StmtPrinterHelper()
4813 case Stmt::IfStmtClass: { in StmtPrinterHelper()
4819 case Stmt::ForStmtClass: { in StmtPrinterHelper()
4825 case Stmt::WhileStmtClass: { in StmtPrinterHelper()
4832 case Stmt::SwitchStmtClass: { in StmtPrinterHelper()
4839 case Stmt::CXXCatchStmtClass: { in StmtPrinterHelper()
4860 bool handledStmt(Stmt *S, raw_ostream &OS) override { in handledStmt()
4906 if (Stmt *C = I->getCond()) in VisitIfStmt()
4911 void VisitStmt(Stmt *Terminator) { in VisitStmt()
4925 if (Stmt *C = F->getCond()) in VisitForStmt()
4935 if (Stmt *C = W->getCond()) in VisitWhileStmt()
4941 if (Stmt *C = D->getCond()) in VisitDoStmt()
4959 if (Stmt *Cond = C->getCond()) in VisitAbstractConditionalOperator()
4966 if (Stmt *Cond = C->getCond()) in VisitChooseExpr()
4973 if (Stmt *T = I->getTarget()) in VisitIndirectGotoStmt()
5036 SmallVector<const Stmt *, 3> Stmts; in print_construction_context()
5095 if (const Stmt *BTE = ACC->getCXXBindTemporaryExpr()) { in print_construction_context()
5097 Helper.handledStmt(const_cast<Stmt *>(BTE), OS); in print_construction_context()
5108 Helper.handledStmt(const_cast<Stmt *>(I), OS); in print_construction_context()
5115 const Stmt *S = CS->getStmt(); in print_elem()
5190 const Stmt *LoopStmt = LE->getLoopStmt(); in print_elem()
5213 Helper.handledStmt(cast<Stmt>(DelExpr->getArgument()), OS); in print_elem()
5261 if (Stmt *Label = const_cast<Stmt*>(B.getLabel())) { in print_block()
5467 Stmt *CFGBlock::getTerminatorCondition(bool StripParens) { in getTerminatorCondition()
5468 Stmt *Terminator = this->Terminator; in getTerminatorCondition()
5478 case Stmt::CXXForRangeStmtClass: in getTerminatorCondition()
5482 case Stmt::ForStmtClass: in getTerminatorCondition()
5486 case Stmt::WhileStmtClass: in getTerminatorCondition()
5490 case Stmt::DoStmtClass: in getTerminatorCondition()
5494 case Stmt::IfStmtClass: in getTerminatorCondition()
5498 case Stmt::ChooseExprClass: in getTerminatorCondition()
5502 case Stmt::IndirectGotoStmtClass: in getTerminatorCondition()
5506 case Stmt::SwitchStmtClass: in getTerminatorCondition()
5510 case Stmt::BinaryConditionalOperatorClass: in getTerminatorCondition()
5514 case Stmt::ConditionalOperatorClass: in getTerminatorCondition()
5518 case Stmt::BinaryOperatorClass: // '&&' and '||' in getTerminatorCondition()
5522 case Stmt::ObjCForCollectionStmtClass: in getTerminatorCondition()