Lines Matching refs:Cont

90   const MemRegion *Cont;  member
99 : Cont(C), Valid(V), Offset(Of) {} in IteratorPosition()
102 const MemRegion *getContainer() const { return Cont; } in getContainer()
107 return IteratorPosition(Cont, false, Offset); in invalidate()
115 return IteratorPosition(Cont, Valid, NewOf); in setTo()
123 return Cont == X.Cont && Valid == X.Valid && Offset == X.Offset; in operator ==()
127 return Cont != X.Cont || Valid != X.Valid || Offset != X.Offset; in operator !=()
131 ID.AddPointer(Cont); in Profile()
221 const SVal &Cont) const;
223 const SVal &Cont) const;
225 const MemRegion *Cont) const;
226 void handleAssign(CheckerContext &C, const SVal &Cont,
229 void handleClear(CheckerContext &C, const SVal &Cont) const;
230 void handlePushBack(CheckerContext &C, const SVal &Cont) const;
231 void handlePopBack(CheckerContext &C, const SVal &Cont) const;
232 void handlePushFront(CheckerContext &C, const SVal &Cont) const;
233 void handlePopFront(CheckerContext &C, const SVal &Cont) const;
246 const MemRegion *Cont) const;
338 SymbolRef getContainerBegin(ProgramStateRef State, const MemRegion *Cont);
339 SymbolRef getContainerEnd(ProgramStateRef State, const MemRegion *Cont);
341 const MemRegion *Cont,
343 ProgramStateRef createContainerEnd(ProgramStateRef State, const MemRegion *Cont,
363 const MemRegion *Cont);
366 const MemRegion *Cont, SymbolRef Offset,
377 const MemRegion *Cont,
380 const MemRegion *Cont,
388 const MemRegion *Cont);
389 ProgramStateRef setContainerData(ProgramStateRef State, const MemRegion *Cont,
391 bool hasLiveIterators(ProgramStateRef State, const MemRegion *Cont);
792 for (const auto Cont : ContMap) { in checkLiveSymbols() local
793 const auto CData = Cont.second; in checkLiveSymbols()
832 for (const auto Cont : ContMap) { in checkDeadSymbols() local
833 if (!SR.isLiveRegion(Cont.first)) { in checkDeadSymbols()
836 if (!hasLiveIterators(State, Cont.first)) { in checkDeadSymbols()
837 State = State->remove<ContainerMap>(Cont.first); in checkDeadSymbols()
1098 const MemRegion *Cont) const { in verifyMatch()
1100 Cont = Cont->getMostDerivedObjectRegion(); in verifyMatch()
1104 if (Pos && Pos->getContainer() != Cont) { in verifyMatch()
1109 reportMismatchedBug("Container accessed using foreign iterator argument.", Iter, Cont, C, N); in verifyMatch()
1129 const SVal &RetVal, const SVal &Cont) const { in handleBegin()
1130 const auto *ContReg = Cont.getAsRegion(); in handleBegin()
1153 const SVal &RetVal, const SVal &Cont) const { in handleEnd()
1154 const auto *ContReg = Cont.getAsRegion(); in handleEnd()
1178 const MemRegion *Cont) const { in assignToContainer()
1179 Cont = Cont->getMostDerivedObjectRegion(); in assignToContainer()
1187 IteratorPosition::getPosition(Cont, Sym)); in assignToContainer()
1191 void IteratorChecker::handleAssign(CheckerContext &C, const SVal &Cont, in handleAssign() argument
1193 const auto *ContReg = Cont.getAsRegion(); in handleAssign()
1267 void IteratorChecker::handleClear(CheckerContext &C, const SVal &Cont) const { in handleClear()
1268 const auto *ContReg = Cont.getAsRegion(); in handleClear()
1294 const SVal &Cont) const { in handlePushBack()
1295 const auto *ContReg = Cont.getAsRegion(); in handlePushBack()
1331 void IteratorChecker::handlePopBack(CheckerContext &C, const SVal &Cont) const { in handlePopBack()
1332 const auto *ContReg = Cont.getAsRegion(); in handlePopBack()
1369 const SVal &Cont) const { in handlePushFront()
1370 const auto *ContReg = Cont.getAsRegion(); in handlePushFront()
1402 const SVal &Cont) const { in handlePopFront()
1403 const auto *ContReg = Cont.getAsRegion(); in handlePopFront()
1443 const auto *Cont = Pos->getContainer(); in handleInsert() local
1444 if (hasSubscriptOperator(State, Cont) && backModifiable(State, Cont)) { in handleInsert()
1445 if (frontModifiable(State, Cont)) { in handleInsert()
1446 State = invalidateAllIteratorPositions(State, Cont); in handleInsert()
1450 if (const auto *CData = getContainerData(State, Cont)) { in handleInsert()
1453 State = setContainerData(State, Cont, CData->newEnd(nullptr)); in handleInsert()
1469 const auto *Cont = Pos->getContainer(); in handleErase() local
1470 if (hasSubscriptOperator(State, Cont) && backModifiable(State, Cont)) { in handleErase()
1471 if (frontModifiable(State, Cont)) { in handleErase()
1472 State = invalidateAllIteratorPositions(State, Cont); in handleErase()
1476 if (const auto *CData = getContainerData(State, Cont)) { in handleErase()
1479 State = setContainerData(State, Cont, CData->newEnd(nullptr)); in handleErase()
1500 const auto *Cont = Pos1->getContainer(); in handleErase() local
1501 if (hasSubscriptOperator(State, Cont) && backModifiable(State, Cont)) { in handleErase()
1502 if (frontModifiable(State, Cont)) { in handleErase()
1503 State = invalidateAllIteratorPositions(State, Cont); in handleErase()
1507 if (const auto *CData = getContainerData(State, Cont)) { in handleErase()
1510 State = setContainerData(State, Cont, CData->newEnd(nullptr)); in handleErase()
1975 SymbolRef getContainerBegin(ProgramStateRef State, const MemRegion *Cont) { in getContainerBegin() argument
1976 const auto *CDataPtr = getContainerData(State, Cont); in getContainerBegin()
1983 SymbolRef getContainerEnd(ProgramStateRef State, const MemRegion *Cont) { in getContainerEnd() argument
1984 const auto *CDataPtr = getContainerData(State, Cont); in getContainerEnd()
1992 const MemRegion *Cont, in createContainerBegin() argument
1995 const auto *CDataPtr = getContainerData(State, Cont); in createContainerBegin()
2001 return setContainerData(State, Cont, CData); in createContainerBegin()
2004 return setContainerData(State, Cont, CData); in createContainerBegin()
2007 ProgramStateRef createContainerEnd(ProgramStateRef State, const MemRegion *Cont, in createContainerEnd() argument
2010 const auto *CDataPtr = getContainerData(State, Cont); in createContainerEnd()
2016 return setContainerData(State, Cont, CData); in createContainerEnd()
2019 return setContainerData(State, Cont, CData); in createContainerEnd()
2023 const MemRegion *Cont) { in getContainerData() argument
2024 return State->get<ContainerMap>(Cont); in getContainerData()
2027 ProgramStateRef setContainerData(ProgramStateRef State, const MemRegion *Cont, in setContainerData() argument
2029 return State->set<ContainerMap>(Cont, CData); in setContainerData()
2136 bool hasLiveIterators(ProgramStateRef State, const MemRegion *Cont) { in hasLiveIterators() argument
2139 if (Reg.second.getContainer() == Cont) in hasLiveIterators()
2145 if (Sym.second.getContainer() == Cont) in hasLiveIterators()
2197 const MemRegion *Cont) { in invalidateAllIteratorPositions() argument
2199 return Pos.getContainer() == Cont; in invalidateAllIteratorPositions()
2209 const MemRegion *Cont, SymbolRef Offset, in invalidateAllIteratorPositionsExcept() argument
2212 return Pos.getContainer() == Cont && in invalidateAllIteratorPositionsExcept()
2249 const MemRegion *Cont, in reassignAllIteratorPositions() argument
2252 return Pos.getContainer() == Cont; in reassignAllIteratorPositions()
2261 const MemRegion *Cont, in reassignAllIteratorPositionsUnless() argument
2266 return Pos.getContainer() == Cont && in reassignAllIteratorPositionsUnless()
2318 const auto *Cont = Pos.getContainer(); in isPastTheEnd() local
2319 const auto *CData = getContainerData(State, Cont); in isPastTheEnd()
2334 const auto *Cont = Pos.getContainer(); in isAheadOfRange() local
2335 const auto *CData = getContainerData(State, Cont); in isAheadOfRange()
2350 const auto *Cont = Pos.getContainer(); in isBehindPastTheEnd() local
2351 const auto *CData = getContainerData(State, Cont); in isBehindPastTheEnd()