Lines Matching defs:MK
77 static bool misuseCausesCrash(MisuseKind MK) {
78 return MK == MK_Dereference;
137 bool shouldWarnAbout(ObjectKind OK, MisuseKind MK) const {
143 OK.StdKind != SK_SmartPtr || MK == MK_Dereference);
153 const CXXRecordDecl *RD, MisuseKind MK) const;
160 const CXXRecordDecl *RD, MisuseKind MK)
161 : Chk(Chk), Region(R), RD(RD), MK(MK), Found(false) {}
184 const MisuseKind MK;
212 const CXXRecordDecl *RD, MisuseKind MK,
219 CheckerContext &C, MisuseKind MK) const;
305 if (MK == MK_Dereference) {
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,
360 if (MK == MK_Dereference && OK.StdKind != SK_SmartPtr)
361 MK = MK_FunCall;
363 if (!RS || !shouldWarnAbout(OK, MK)
374 if (misuseCausesCrash(MK)) {
382 ExplodedNode *N = tryToReportBug(Region, RD, C, MK);
395 MisuseKind MK) const {
396 if (ExplodedNode *N = misuseCausesCrash(MK) ? C.generateErrorNode()
409 switch(MK) {
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));
575 const CXXRecordDecl *RD, MisuseKind MK) const {
590 if (MK != MK_Dereference)
615 MisuseKind MK = CtorDec->isMoveConstructor() ? MK_Move : MK_Copy;
616 modelUse(State, ArgRegion, RD, MK, C);
665 MisuseKind MK =
667 modelUse(State, ArgRegion, RD, MK, C);