Lines Matching refs:ContReg
54 const MemRegion *ContReg,
261 const auto *ContReg = Cont.getAsRegion(); in handleBegin() local
262 if (!ContReg) in handleBegin()
265 ContReg = ContReg->getMostDerivedObjectRegion(); in handleBegin()
270 auto BeginSym = getContainerBegin(State, ContReg); in handleBegin()
272 State = createContainerBegin(State, ContReg, CE, C.getASTContext().LongTy, in handleBegin()
274 BeginSym = getContainerBegin(State, ContReg); in handleBegin()
277 IteratorPosition::getPosition(ContReg, BeginSym)); in handleBegin()
283 const auto *ContReg = Cont.getAsRegion(); in handleEnd() local
284 if (!ContReg) in handleEnd()
287 ContReg = ContReg->getMostDerivedObjectRegion(); in handleEnd()
292 auto EndSym = getContainerEnd(State, ContReg); in handleEnd()
294 State = createContainerEnd(State, ContReg, CE, C.getASTContext().LongTy, in handleEnd()
296 EndSym = getContainerEnd(State, ContReg); in handleEnd()
299 IteratorPosition::getPosition(ContReg, EndSym)); in handleEnd()
305 const auto *ContReg = Cont.getAsRegion(); in handleAssignment() local
306 if (!ContReg) in handleAssignment()
309 ContReg = ContReg->getMostDerivedObjectRegion(); in handleAssignment()
314 const auto CData = getContainerData(State, ContReg); in handleAssignment()
316 State = invalidateAllIteratorPositions(State, ContReg); in handleAssignment()
332 State = reassignAllIteratorPositionsUnless(State, OldContReg, ContReg, in handleAssignment()
342 State = setContainerData(State, ContReg, CData->newEnd(NewEndSym)); in handleAssignment()
344 State = setContainerData(State, ContReg, in handleAssignment()
354 State = reassignAllIteratorPositions(State, OldContReg, ContReg); in handleAssignment()
361 setContainerData(State, ContReg, CData->newBegin(OldBeginSym)); in handleAssignment()
363 State = setContainerData(State, ContReg, in handleAssignment()
372 State = reassignAllIteratorPositions(State, OldContReg, ContReg); in handleAssignment()
381 const auto *ContReg = Cont.getAsRegion(); in handleAssign() local
382 if (!ContReg) in handleAssign()
385 ContReg = ContReg->getMostDerivedObjectRegion(); in handleAssign()
389 State = invalidateAllIteratorPositions(State, ContReg); in handleAssign()
395 const auto *ContReg = Cont.getAsRegion(); in handleClear() local
396 if (!ContReg) in handleClear()
399 ContReg = ContReg->getMostDerivedObjectRegion(); in handleClear()
404 if (!hasSubscriptOperator(State, ContReg) || in handleClear()
405 !backModifiable(State, ContReg)) { in handleClear()
406 const auto CData = getContainerData(State, ContReg); in handleClear()
410 invalidateAllIteratorPositionsExcept(State, ContReg, EndSym, BO_GE); in handleClear()
417 getChangeTag(C, "became empty", ContReg, ContE); in handleClear()
418 State = invalidateAllIteratorPositions(State, ContReg); in handleClear()
424 const auto *ContReg = Cont.getAsRegion(); in handlePushBack() local
425 if (!ContReg) in handlePushBack()
428 ContReg = ContReg->getMostDerivedObjectRegion(); in handlePushBack()
432 if (hasSubscriptOperator(State, ContReg) && frontModifiable(State, ContReg)) { in handlePushBack()
433 State = invalidateAllIteratorPositions(State, ContReg); in handlePushBack()
438 const auto CData = getContainerData(State, ContReg); in handlePushBack()
444 if (hasSubscriptOperator(State, ContReg)) { in handlePushBack()
456 getChangeTag(C, "extended to the back by 1 position", ContReg, ContE); in handlePushBack()
457 State = setContainerData(State, ContReg, CData->newEnd(newEndSym)); in handlePushBack()
464 const auto *ContReg = Cont.getAsRegion(); in handlePopBack() local
465 if (!ContReg) in handlePopBack()
468 ContReg = ContReg->getMostDerivedObjectRegion(); in handlePopBack()
471 const auto CData = getContainerData(State, ContReg); in handlePopBack()
485 getChangeTag(C, "shrank from the back by 1 position", ContReg, ContE); in handlePopBack()
489 if (hasSubscriptOperator(State, ContReg) && in handlePopBack()
490 backModifiable(State, ContReg)) { in handlePopBack()
492 State = setContainerData(State, ContReg, CData->newEnd(nullptr)); in handlePopBack()
497 State = setContainerData(State, ContReg, CData->newEnd(newEndSym)); in handlePopBack()
504 const auto *ContReg = Cont.getAsRegion(); in handlePushFront() local
505 if (!ContReg) in handlePushFront()
508 ContReg = ContReg->getMostDerivedObjectRegion(); in handlePushFront()
512 if (hasSubscriptOperator(State, ContReg)) { in handlePushFront()
513 State = invalidateAllIteratorPositions(State, ContReg); in handlePushFront()
516 const auto CData = getContainerData(State, ContReg); in handlePushFront()
530 getChangeTag(C, "extended to the front by 1 position", ContReg, ContE); in handlePushFront()
531 State = setContainerData(State, ContReg, CData->newBegin(newBeginSym)); in handlePushFront()
539 const auto *ContReg = Cont.getAsRegion(); in handlePopFront() local
540 if (!ContReg) in handlePopFront()
543 ContReg = ContReg->getMostDerivedObjectRegion(); in handlePopFront()
546 const auto CData = getContainerData(State, ContReg); in handlePopFront()
553 if (hasSubscriptOperator(State, ContReg)) { in handlePopFront()
567 getChangeTag(C, "shrank from the front by 1 position", ContReg, ContE); in handlePopFront()
568 State = setContainerData(State, ContReg, CData->newBegin(newBeginSym)); in handlePopFront()
575 const auto *ContReg = Cont.getAsRegion(); in handleInsert() local
576 if (!ContReg) in handleInsert()
579 ContReg = ContReg->getMostDerivedObjectRegion(); in handleInsert()
588 if (hasSubscriptOperator(State, ContReg) && backModifiable(State, ContReg)) { in handleInsert()
589 if (frontModifiable(State, ContReg)) { in handleInsert()
590 State = invalidateAllIteratorPositions(State, ContReg); in handleInsert()
594 if (const auto *CData = getContainerData(State, ContReg)) { in handleInsert()
597 State = setContainerData(State, ContReg, CData->newEnd(nullptr)); in handleInsert()
606 const auto *ContReg = Cont.getAsRegion(); in handleErase() local
607 if (!ContReg) in handleErase()
610 ContReg = ContReg->getMostDerivedObjectRegion(); in handleErase()
620 if (hasSubscriptOperator(State, ContReg) && backModifiable(State, ContReg)) { in handleErase()
621 if (frontModifiable(State, ContReg)) { in handleErase()
622 State = invalidateAllIteratorPositions(State, ContReg); in handleErase()
626 if (const auto *CData = getContainerData(State, ContReg)) { in handleErase()
629 State = setContainerData(State, ContReg, CData->newEnd(nullptr)); in handleErase()
640 const auto *ContReg = Cont.getAsRegion(); in handleErase() local
641 if (!ContReg) in handleErase()
644 ContReg = ContReg->getMostDerivedObjectRegion(); in handleErase()
655 if (hasSubscriptOperator(State, ContReg) && backModifiable(State, ContReg)) { in handleErase()
656 if (frontModifiable(State, ContReg)) { in handleErase()
657 State = invalidateAllIteratorPositions(State, ContReg); in handleErase()
661 if (const auto *CData = getContainerData(State, ContReg)) { in handleErase()
664 State = setContainerData(State, ContReg, CData->newEnd(nullptr)); in handleErase()
711 const MemRegion *ContReg, in getChangeTag() argument
715 if (const auto *DR = dyn_cast<DeclRegion>(ContReg)) { in getChangeTag()
724 [Text, Name, ContReg](PathSensitiveBugReport &BR) -> std::string { in getChangeTag()
725 if (!BR.isInteresting(ContReg)) in getChangeTag()