Lines Matching full:auto

43     auto [It, IsNew] = VisitedBody.insert(Body);  in VisitBody()
59 if (auto *Body = Decl->getBody()) in HasSpecializedDelete()
74 auto *Arg = E->getArgument(); in VisitCXXDeleteExpr()
76 if (auto *Paren = dyn_cast<ParenExpr>(Arg)) in VisitCXXDeleteExpr()
78 else if (auto *Cast = dyn_cast<CastExpr>(Arg)) { in VisitCXXDeleteExpr()
80 auto CastType = Cast->getType(); in VisitCXXDeleteExpr()
81 if (auto *PtrType = dyn_cast<PointerType>(CastType)) { in VisitCXXDeleteExpr()
82 auto PointeeType = PtrType->getPointeeType(); in VisitCXXDeleteExpr()
83 while (auto *ET = dyn_cast<ElaboratedType>(PointeeType)) { in VisitCXXDeleteExpr()
87 if (auto *ParmType = dyn_cast<TemplateTypeParmType>(PointeeType)) { in VisitCXXDeleteExpr()
89 auto ParmIndex = ParmType->getIndex(); in VisitCXXDeleteExpr()
90 auto Type = ArgList->get(ParmIndex).getAsType(); in VisitCXXDeleteExpr()
94 } else if (auto *RD = dyn_cast<RecordType>(PointeeType)) { in VisitCXXDeleteExpr()
97 } else if (auto *ST = in VisitCXXDeleteExpr()
99 auto Type = ST->getReplacementType(); in VisitCXXDeleteExpr()
100 if (auto *RD = dyn_cast<RecordType>(Type)) { in VisitCXXDeleteExpr()
159 for (auto &Base : RD->bases()) { in checkASTDecl()
160 const auto AccSpec = Base.getAccessSpecifier(); in checkASTDecl()
173 if (auto *CTSD = dyn_cast<ClassTemplateSpecializationDecl>(C)) { in checkASTDecl()
174 for (auto &Arg : CTSD->getTemplateArgs().asArray()) { in checkASTDecl()
177 auto TemplT = Arg.getAsType(); in checkASTDecl()
198 for (auto *RD : visitor.Decls) { in checkASTDecl()
209 for (auto &Base : RD->bases()) { in visitCXXRecordDecl()
210 const auto AccSpec = Base.getAccessSpecifier(); in visitCXXRecordDecl()
215 auto hasRefInBase = clang::hasPublicMethodInBase(&Base, "ref"); in visitCXXRecordDecl()
216 auto hasDerefInBase = clang::hasPublicMethodInBase(&Base, "deref"); in visitCXXRecordDecl()
230 const auto hasPublicRefInBase = in visitCXXRecordDecl()
232 auto hasRefInBase = clang::hasPublicMethodInBase(Base, "ref"); in visitCXXRecordDecl()
239 const auto hasPublicDerefInBase = in visitCXXRecordDecl()
241 auto hasDerefInBase = clang::hasPublicMethodInBase(Base, "deref"); in visitCXXRecordDecl()
257 auto HasSpecializedDelete = isClassWithSpecializedDelete(C, RD); in visitCXXRecordDecl()
262 auto *T = Base->getType().getTypePtrOrNull(); in visitCXXRecordDecl()
265 auto *R = T->getAsCXXRecordDecl(); in visitCXXRecordDecl()
268 auto Result = isClassWithSpecializedDelete(R, RD); in visitCXXRecordDecl()
278 const auto *Dtor = C->getDestructor(); in visitCXXRecordDecl()
280 auto *ProblematicBaseSpecifier = &Base; in visitCXXRecordDecl()
281 auto *ProblematicBaseClass = C; in visitCXXRecordDecl()
299 const auto RDLocation = RD->getLocation(); in shouldSkipDecl()
303 const auto Kind = RD->getTagKind(); in shouldSkipDecl()
318 auto *NsDecl = D->getParent(); in isRefCountedClass()
321 auto NamespaceName = safeGetName(NsDecl); in isRefCountedClass()
322 auto ClsNameStr = safeGetName(D); in isRefCountedClass()
332 if (auto *ClsTmplSpDecl = dyn_cast<ClassTemplateSpecializationDecl>(C)) { in isClassWithSpecializedDelete()
333 for (auto *MethodDecl : C->methods()) { in isClassWithSpecializedDelete()
337 auto Result = Visitor.HasSpecializedDelete(MethodDecl); in isClassWithSpecializedDelete()
344 for (auto *MethodDecl : C->methods()) { in isClassWithSpecializedDelete()
347 auto Result = Visitor.HasSpecializedDelete(MethodDecl); in isClassWithSpecializedDelete()
376 auto Report = std::make_unique<BasicBugReport>(Bug, Os.str(), BSLoc); in reportBug()