Lines Matching defs:RD
148 ObjectKind classifyObject(const MemRegion *MR, const CXXRecordDecl *RD) const;
153 const CXXRecordDecl *RD, MisuseKind MK) const;
155 bool belongsTo(const CXXRecordDecl *RD, const llvm::StringSet<> &Set) const;
160 const CXXRecordDecl *RD, MisuseKind MK)
161 : Chk(Chk), Region(R), RD(RD), MK(MK), Found(false) {}
167 // Don't add RD because it's, in theory, uniquely determined by
182 const CXXRecordDecl *RD;
212 const CXXRecordDecl *RD, MisuseKind MK,
218 ExplodedNode *tryToReportBug(const MemRegion *Region, const CXXRecordDecl *RD,
302 ObjectKind OK = Chk.classifyObject(Region, RD);
307 Chk.explainObject(OS, Region, RD, MK);
318 Chk.explainObject(OS, Region, RD, MK);
323 Chk.explainObject(OS, Region, RD, MK);
352 const CXXRecordDecl *RD, MisuseKind MK,
356 ObjectKind OK = classifyObject(Region, RD);
382 ExplodedNode *N = tryToReportBug(Region, RD, C, MK);
393 const CXXRecordDecl *RD,
412 explainObject(OS, Region, RD, MK);
416 explainObject(OS, Region, RD, MK);
421 explainObject(OS, Region, RD, MK);
426 explainObject(OS, Region, RD, MK);
433 R->addVisitor(std::make_unique<MovedBugVisitor>(*this, Region, RD, MK));
484 const CXXRecordDecl *RD = MethodDecl->getParent();
485 ObjectKind OK = classifyObject(ArgRegion, RD);
545 bool MoveChecker::belongsTo(const CXXRecordDecl *RD,
547 const IdentifierInfo *II = RD->getIdentifier();
553 const CXXRecordDecl *RD) const {
562 if (!RD || !RD->getDeclContext()->isStdNamespace())
565 if (belongsTo(RD, StdSmartPtrClasses))
568 if (belongsTo(RD, StdSafeClasses))
575 const CXXRecordDecl *RD, MisuseKind MK) const {
584 ObjectKind OK = classifyObject(MR, RD);
596 OS << " of type '" << RD->getQualifiedNameAsString() << "'";
614 const CXXRecordDecl *RD = CtorDec->getParent();
616 modelUse(State, ArgRegion, RD, MK, C);
652 const CXXRecordDecl *RD = MethodDecl->getParent();
667 modelUse(State, ArgRegion, RD, MK, C);
675 modelUse(State, ThisRegion, RD, MK_Dereference, C);
680 modelUse(State, ThisRegion, RD, MK_FunCall, C);