Lines Matching refs:Stmt
22 typedef llvm::DenseMap<Stmt*, Stmt*> MapTy;
29 static void BuildParentMap(MapTy& M, Stmt* S,
35 case Stmt::PseudoObjectExprClass: {
41 for (Stmt *SubStmt : S->children())
55 case Stmt::BinaryConditionalOperatorClass: {
73 case Stmt::OpaqueValueExprClass: {
86 case Stmt::CapturedStmtClass:
87 for (Stmt *SubStmt : S->children()) {
93 if (Stmt *SubStmt = cast<CapturedStmt>(S)->getCapturedStmt()) {
99 for (Stmt *SubStmt : S->children()) {
109 ParentMap::ParentMap(Stmt *S) : Impl(nullptr) {
121 void ParentMap::addStmt(Stmt* S) {
127 void ParentMap::setParent(const Stmt *S, const Stmt *Parent) {
131 M->insert(std::make_pair(const_cast<Stmt *>(S), const_cast<Stmt *>(Parent)));
134 Stmt* ParentMap::getParent(Stmt* S) const {
140 Stmt *ParentMap::getParentIgnoreParens(Stmt *S) const {
145 Stmt *ParentMap::getParentIgnoreParenCasts(Stmt *S) const {
154 Stmt *ParentMap::getParentIgnoreParenImpCasts(Stmt *S) const {
162 Stmt *ParentMap::getOuterParenParent(Stmt *S) const {
163 Stmt *Paren = nullptr;
172 Stmt *P = getParent(E);
173 Stmt *DirectChild = E;
188 case Stmt::DeclStmtClass:
190 case Stmt::BinaryOperatorClass: {
196 case Stmt::ForStmtClass:
198 case Stmt::WhileStmtClass:
200 case Stmt::DoStmtClass:
202 case Stmt::IfStmtClass:
204 case Stmt::IndirectGotoStmtClass:
206 case Stmt::SwitchStmtClass:
208 case Stmt::ObjCForCollectionStmtClass:
210 case Stmt::ReturnStmtClass: