Lines Matching defs:Cp

150                             const CapabilityExpr &Cp, SourceLocation UnlockLoc,
884 const CapabilityExpr &Cp, SourceLocation UnlockLoc,
887 FSet.removeLock(FactMan, Cp);
888 if (!Cp.negative()) {
890 !Cp, LK_Exclusive, UnlockLoc));
970 const CapabilityExpr &Cp, SourceLocation UnlockLoc,
973 assert(!Cp.negative() && "Managing object cannot be negative.");
988 FSet.removeLock(FactMan, Cp);
996 void lock(FactSet &FSet, FactManager &FactMan, const CapabilityExpr &Cp,
999 if (const FactEntry *Fact = FSet.findLock(FactMan, Cp)) {
1001 Handler->handleDoubleLock(Cp.getKind(), Cp.toString(), Fact->loc(),
1004 FSet.removeLock(FactMan, !Cp);
1006 std::make_unique<LockableFactEntry>(Cp, kind, loc, Managed));
1010 void unlock(FactSet &FSet, FactManager &FactMan, const CapabilityExpr &Cp,
1012 if (FSet.findLock(FactMan, Cp)) {
1013 FSet.removeLock(FactMan, Cp);
1015 !Cp, LK_Exclusive, loc));
1018 if (const FactEntry *Neg = FSet.findLock(FactMan, !Cp))
1020 Handler->handleUnmatchedUnlock(Cp.getKind(), Cp.toString(), loc, PrevLoc);
1122 CapabilityExpr Cp =
1124 if (const ValueDecl *Cpvd = Cp.valueDecl()) {
1138 CapabilityExpr Cp =
1140 if (const ValueDecl *ArgVd = Cp.valueDecl()) {
1310 if (const FactEntry *Cp = FSet.findLock(FactMan, *Entry)) {
1312 Cp->handleLock(FSet, FactMan, *Entry, Handler);
1320 void ThreadSafetyAnalyzer::removeLock(FactSet &FSet, const CapabilityExpr &Cp,
1323 if (Cp.shouldIgnore())
1326 const FactEntry *LDat = FSet.findLock(FactMan, Cp);
1329 if (const FactEntry *Neg = FSet.findLock(FactMan, !Cp))
1331 Handler.handleUnmatchedUnlock(Cp.getKind(), Cp.toString(), UnlockLoc,
1339 Handler.handleIncorrectUnlockKind(Cp.getKind(), Cp.toString(), LDat->kind(),
1343 LDat->handleUnlock(FSet, FactMan, Cp, UnlockLoc, FullyRemove, Handler);
1354 CapabilityExpr Cp = SxBuilder.translateAttrExpr(nullptr, D, Exp, Self);
1355 if (Cp.isInvalid()) {
1356 warnInvalidLock(Handler, nullptr, D, Exp, Cp.getKind());
1360 if (!Cp.shouldIgnore())
1361 Mtxs.push_back_nodup(Cp);
1366 CapabilityExpr Cp = SxBuilder.translateAttrExpr(Arg, D, Exp, Self);
1367 if (Cp.isInvalid()) {
1368 warnInvalidLock(Handler, nullptr, D, Exp, Cp.getKind());
1372 if (!Cp.shouldIgnore())
1373 Mtxs.push_back_nodup(Cp);
1619 CapabilityExpr Cp = SxBuilder.translateAttrExpr(MutexExp, D, Exp, Self);
1620 if (Cp.isInvalid()) {
1621 warnInvalidLock(Handler, MutexExp, D, Exp, Cp.getKind());
1623 } else if (Cp.shouldIgnore()) {
1627 if (Cp.negative()) {
1629 const FactEntry *LDat = FSet.findLock(FactMan, !Cp);
1631 Handler.handleFunExcludesLock(Cp.getKind(), D->getNameAsString(),
1632 (!Cp).toString(), Loc);
1638 if (!inCurrentScope(Cp))
1642 LDat = FSet.findLock(FactMan, Cp);
1644 Handler.handleNegativeNotHeld(D, Cp.toString(), Loc);
1649 const FactEntry *LDat = FSet.findLockUniv(FactMan, Cp);
1653 LDat = FSet.findPartialMatch(FactMan, Cp);
1658 Handler.handleMutexNotHeld(Cp.getKind(), D, POK, Cp.toString(), LK, Loc,
1662 Handler.handleMutexNotHeld(Cp.getKind(), D, POK, Cp.toString(), LK, Loc);
1668 Handler.handleMutexNotHeld(Cp.getKind(), D, POK, Cp.toString(), LK, Loc);
1678 CapabilityExpr Cp = SxBuilder.translateAttrExpr(MutexExp, D, Exp, Self);
1679 if (Cp.isInvalid()) {
1680 warnInvalidLock(Handler, MutexExp, D, Exp, Cp.getKind());
1682 } else if (Cp.shouldIgnore()) {
1686 const FactEntry *LDat = FSet.findLock(FactMan, Cp);
1688 Handler.handleFunExcludesLock(Cp.getKind(), D->getNameAsString(),
1689 Cp.toString(), Loc);
1999 CapabilityExpr Cp(Analyzer->SxBuilder.translate(Arg, nullptr),
2002 Cp.isInvalid() && CBTE) {
2005 Cp = CapabilityExpr(Object->second, StringRef("mutex"), false);
2007 const FactEntry *Fact = FSet.findLock(Analyzer->FactMan, Cp);
2009 Analyzer->Handler.handleMutexNotHeld(Cp.getKind(), D, POK_FunctionCall,
2010 Cp.toString(), LK_Exclusive,
2513 CapabilityExpr Cp(SxBuilder.createVariable(Param), StringRef(), false);
2515 Cp, Param->getLocation(), FactEntry::Declared);