Lines Matching defs:ContReg

55                               const MemRegion *ContReg,
252 const auto *ContReg = Cont.getAsRegion();
253 if (!ContReg)
256 ContReg = ContReg->getMostDerivedObjectRegion();
261 auto BeginSym = getContainerBegin(State, ContReg);
263 State = createContainerBegin(State, ContReg, CE, C.getASTContext().LongTy,
265 BeginSym = getContainerBegin(State, ContReg);
268 IteratorPosition::getPosition(ContReg, BeginSym));
274 const auto *ContReg = Cont.getAsRegion();
275 if (!ContReg)
278 ContReg = ContReg->getMostDerivedObjectRegion();
283 auto EndSym = getContainerEnd(State, ContReg);
285 State = createContainerEnd(State, ContReg, CE, C.getASTContext().LongTy,
287 EndSym = getContainerEnd(State, ContReg);
290 IteratorPosition::getPosition(ContReg, EndSym));
296 const auto *ContReg = Cont.getAsRegion();
297 if (!ContReg)
300 ContReg = ContReg->getMostDerivedObjectRegion();
305 const auto CData = getContainerData(State, ContReg);
307 State = invalidateAllIteratorPositions(State, ContReg);
323 State = reassignAllIteratorPositionsUnless(State, OldContReg, ContReg,
333 State = setContainerData(State, ContReg, CData->newEnd(NewEndSym));
335 State = setContainerData(State, ContReg,
345 State = reassignAllIteratorPositions(State, OldContReg, ContReg);
352 setContainerData(State, ContReg, CData->newBegin(OldBeginSym));
354 State = setContainerData(State, ContReg,
363 State = reassignAllIteratorPositions(State, OldContReg, ContReg);
372 const auto *ContReg = Cont.getAsRegion();
373 if (!ContReg)
376 ContReg = ContReg->getMostDerivedObjectRegion();
380 State = invalidateAllIteratorPositions(State, ContReg);
386 const auto *ContReg = Cont.getAsRegion();
387 if (!ContReg)
390 ContReg = ContReg->getMostDerivedObjectRegion();
395 if (!hasSubscriptOperator(State, ContReg) ||
396 !backModifiable(State, ContReg)) {
397 const auto CData = getContainerData(State, ContReg);
401 invalidateAllIteratorPositionsExcept(State, ContReg, EndSym, BO_GE);
408 getChangeTag(C, "became empty", ContReg, ContE);
409 State = invalidateAllIteratorPositions(State, ContReg);
415 const auto *ContReg = Cont.getAsRegion();
416 if (!ContReg)
419 ContReg = ContReg->getMostDerivedObjectRegion();
423 if (hasSubscriptOperator(State, ContReg) && frontModifiable(State, ContReg)) {
424 State = invalidateAllIteratorPositions(State, ContReg);
429 const auto CData = getContainerData(State, ContReg);
435 if (hasSubscriptOperator(State, ContReg)) {
447 getChangeTag(C, "extended to the back by 1 position", ContReg, ContE);
448 State = setContainerData(State, ContReg, CData->newEnd(newEndSym));
455 const auto *ContReg = Cont.getAsRegion();
456 if (!ContReg)
459 ContReg = ContReg->getMostDerivedObjectRegion();
462 const auto CData = getContainerData(State, ContReg);
476 getChangeTag(C, "shrank from the back by 1 position", ContReg, ContE);
480 if (hasSubscriptOperator(State, ContReg) &&
481 backModifiable(State, ContReg)) {
483 State = setContainerData(State, ContReg, CData->newEnd(nullptr));
488 State = setContainerData(State, ContReg, CData->newEnd(newEndSym));
495 const auto *ContReg = Cont.getAsRegion();
496 if (!ContReg)
499 ContReg = ContReg->getMostDerivedObjectRegion();
503 if (hasSubscriptOperator(State, ContReg)) {
504 State = invalidateAllIteratorPositions(State, ContReg);
507 const auto CData = getContainerData(State, ContReg);
521 getChangeTag(C, "extended to the front by 1 position", ContReg, ContE);
522 State = setContainerData(State, ContReg, CData->newBegin(newBeginSym));
530 const auto *ContReg = Cont.getAsRegion();
531 if (!ContReg)
534 ContReg = ContReg->getMostDerivedObjectRegion();
537 const auto CData = getContainerData(State, ContReg);
544 if (hasSubscriptOperator(State, ContReg)) {
558 getChangeTag(C, "shrank from the front by 1 position", ContReg, ContE);
559 State = setContainerData(State, ContReg, CData->newBegin(newBeginSym));
566 const auto *ContReg = Cont.getAsRegion();
567 if (!ContReg)
570 ContReg = ContReg->getMostDerivedObjectRegion();
579 if (hasSubscriptOperator(State, ContReg) && backModifiable(State, ContReg)) {
580 if (frontModifiable(State, ContReg)) {
581 State = invalidateAllIteratorPositions(State, ContReg);
585 if (const auto *CData = getContainerData(State, ContReg)) {
588 State = setContainerData(State, ContReg, CData->newEnd(nullptr));
597 const auto *ContReg = Cont.getAsRegion();
598 if (!ContReg)
601 ContReg = ContReg->getMostDerivedObjectRegion();
611 if (hasSubscriptOperator(State, ContReg) && backModifiable(State, ContReg)) {
612 if (frontModifiable(State, ContReg)) {
613 State = invalidateAllIteratorPositions(State, ContReg);
617 if (const auto *CData = getContainerData(State, ContReg)) {
620 State = setContainerData(State, ContReg, CData->newEnd(nullptr));
631 const auto *ContReg = Cont.getAsRegion();
632 if (!ContReg)
635 ContReg = ContReg->getMostDerivedObjectRegion();
646 if (hasSubscriptOperator(State, ContReg) && backModifiable(State, ContReg)) {
647 if (frontModifiable(State, ContReg)) {
648 State = invalidateAllIteratorPositions(State, ContReg);
652 if (const auto *CData = getContainerData(State, ContReg)) {
655 State = setContainerData(State, ContReg, CData->newEnd(nullptr));
702 const MemRegion *ContReg,
706 if (const auto *DR = dyn_cast<DeclRegion>(ContReg)) {
715 [Text, Name, ContReg](PathSensitiveBugReport &BR) -> std::string {
716 if (!BR.isInteresting(ContReg))