Lines Matching refs:ContReg

55                               const MemRegion *ContReg,
247 const auto *ContReg = Cont.getAsRegion(); in handleBegin() local
248 if (!ContReg) in handleBegin()
251 ContReg = ContReg->getMostDerivedObjectRegion(); in handleBegin()
256 auto BeginSym = getContainerBegin(State, ContReg); in handleBegin()
258 State = createContainerBegin(State, ContReg, CE, C.getASTContext().LongTy, in handleBegin()
260 BeginSym = getContainerBegin(State, ContReg); in handleBegin()
263 IteratorPosition::getPosition(ContReg, BeginSym)); in handleBegin()
269 const auto *ContReg = Cont.getAsRegion(); in handleEnd() local
270 if (!ContReg) in handleEnd()
273 ContReg = ContReg->getMostDerivedObjectRegion(); in handleEnd()
278 auto EndSym = getContainerEnd(State, ContReg); in handleEnd()
280 State = createContainerEnd(State, ContReg, CE, C.getASTContext().LongTy, in handleEnd()
282 EndSym = getContainerEnd(State, ContReg); in handleEnd()
285 IteratorPosition::getPosition(ContReg, EndSym)); in handleEnd()
291 const auto *ContReg = Cont.getAsRegion(); in handleAssignment() local
292 if (!ContReg) in handleAssignment()
295 ContReg = ContReg->getMostDerivedObjectRegion(); in handleAssignment()
300 const auto CData = getContainerData(State, ContReg); in handleAssignment()
302 State = invalidateAllIteratorPositions(State, ContReg); in handleAssignment()
318 State = reassignAllIteratorPositionsUnless(State, OldContReg, ContReg, in handleAssignment()
328 State = setContainerData(State, ContReg, CData->newEnd(NewEndSym)); in handleAssignment()
330 State = setContainerData(State, ContReg, in handleAssignment()
340 State = reassignAllIteratorPositions(State, OldContReg, ContReg); in handleAssignment()
347 setContainerData(State, ContReg, CData->newBegin(OldBeginSym)); in handleAssignment()
349 State = setContainerData(State, ContReg, in handleAssignment()
358 State = reassignAllIteratorPositions(State, OldContReg, ContReg); in handleAssignment()
367 const auto *ContReg = Cont.getAsRegion(); in handleAssign() local
368 if (!ContReg) in handleAssign()
371 ContReg = ContReg->getMostDerivedObjectRegion(); in handleAssign()
375 State = invalidateAllIteratorPositions(State, ContReg); in handleAssign()
381 const auto *ContReg = Cont.getAsRegion(); in handleClear() local
382 if (!ContReg) in handleClear()
385 ContReg = ContReg->getMostDerivedObjectRegion(); in handleClear()
390 if (!hasSubscriptOperator(State, ContReg) || in handleClear()
391 !backModifiable(State, ContReg)) { in handleClear()
392 const auto CData = getContainerData(State, ContReg); in handleClear()
396 invalidateAllIteratorPositionsExcept(State, ContReg, EndSym, BO_GE); in handleClear()
403 getChangeTag(C, "became empty", ContReg, ContE); in handleClear()
404 State = invalidateAllIteratorPositions(State, ContReg); in handleClear()
410 const auto *ContReg = Cont.getAsRegion(); in handlePushBack() local
411 if (!ContReg) in handlePushBack()
414 ContReg = ContReg->getMostDerivedObjectRegion(); in handlePushBack()
418 if (hasSubscriptOperator(State, ContReg) && frontModifiable(State, ContReg)) { in handlePushBack()
419 State = invalidateAllIteratorPositions(State, ContReg); in handlePushBack()
424 const auto CData = getContainerData(State, ContReg); in handlePushBack()
430 if (hasSubscriptOperator(State, ContReg)) { in handlePushBack()
442 getChangeTag(C, "extended to the back by 1 position", ContReg, ContE); in handlePushBack()
443 State = setContainerData(State, ContReg, CData->newEnd(newEndSym)); in handlePushBack()
450 const auto *ContReg = Cont.getAsRegion(); in handlePopBack() local
451 if (!ContReg) in handlePopBack()
454 ContReg = ContReg->getMostDerivedObjectRegion(); in handlePopBack()
457 const auto CData = getContainerData(State, ContReg); in handlePopBack()
471 getChangeTag(C, "shrank from the back by 1 position", ContReg, ContE); in handlePopBack()
475 if (hasSubscriptOperator(State, ContReg) && in handlePopBack()
476 backModifiable(State, ContReg)) { in handlePopBack()
478 State = setContainerData(State, ContReg, CData->newEnd(nullptr)); in handlePopBack()
483 State = setContainerData(State, ContReg, CData->newEnd(newEndSym)); in handlePopBack()
490 const auto *ContReg = Cont.getAsRegion(); in handlePushFront() local
491 if (!ContReg) in handlePushFront()
494 ContReg = ContReg->getMostDerivedObjectRegion(); in handlePushFront()
498 if (hasSubscriptOperator(State, ContReg)) { in handlePushFront()
499 State = invalidateAllIteratorPositions(State, ContReg); in handlePushFront()
502 const auto CData = getContainerData(State, ContReg); in handlePushFront()
516 getChangeTag(C, "extended to the front by 1 position", ContReg, ContE); in handlePushFront()
517 State = setContainerData(State, ContReg, CData->newBegin(newBeginSym)); in handlePushFront()
525 const auto *ContReg = Cont.getAsRegion(); in handlePopFront() local
526 if (!ContReg) in handlePopFront()
529 ContReg = ContReg->getMostDerivedObjectRegion(); in handlePopFront()
532 const auto CData = getContainerData(State, ContReg); in handlePopFront()
539 if (hasSubscriptOperator(State, ContReg)) { in handlePopFront()
553 getChangeTag(C, "shrank from the front by 1 position", ContReg, ContE); in handlePopFront()
554 State = setContainerData(State, ContReg, CData->newBegin(newBeginSym)); in handlePopFront()
561 const auto *ContReg = Cont.getAsRegion(); in handleInsert() local
562 if (!ContReg) in handleInsert()
565 ContReg = ContReg->getMostDerivedObjectRegion(); in handleInsert()
574 if (hasSubscriptOperator(State, ContReg) && backModifiable(State, ContReg)) { in handleInsert()
575 if (frontModifiable(State, ContReg)) { in handleInsert()
576 State = invalidateAllIteratorPositions(State, ContReg); in handleInsert()
580 if (const auto *CData = getContainerData(State, ContReg)) { in handleInsert()
583 State = setContainerData(State, ContReg, CData->newEnd(nullptr)); in handleInsert()
592 const auto *ContReg = Cont.getAsRegion(); in handleErase() local
593 if (!ContReg) in handleErase()
596 ContReg = ContReg->getMostDerivedObjectRegion(); in handleErase()
606 if (hasSubscriptOperator(State, ContReg) && backModifiable(State, ContReg)) { in handleErase()
607 if (frontModifiable(State, ContReg)) { in handleErase()
608 State = invalidateAllIteratorPositions(State, ContReg); in handleErase()
612 if (const auto *CData = getContainerData(State, ContReg)) { in handleErase()
615 State = setContainerData(State, ContReg, CData->newEnd(nullptr)); in handleErase()
626 const auto *ContReg = Cont.getAsRegion(); in handleErase() local
627 if (!ContReg) in handleErase()
630 ContReg = ContReg->getMostDerivedObjectRegion(); in handleErase()
641 if (hasSubscriptOperator(State, ContReg) && backModifiable(State, ContReg)) { in handleErase()
642 if (frontModifiable(State, ContReg)) { in handleErase()
643 State = invalidateAllIteratorPositions(State, ContReg); in handleErase()
647 if (const auto *CData = getContainerData(State, ContReg)) { in handleErase()
650 State = setContainerData(State, ContReg, CData->newEnd(nullptr)); in handleErase()
697 const MemRegion *ContReg, in getChangeTag() argument
701 if (const auto *DR = dyn_cast<DeclRegion>(ContReg)) { in getChangeTag()
710 [Text, Name, ContReg](PathSensitiveBugReport &BR) -> std::string { in getChangeTag()
711 if (!BR.isInteresting(ContReg)) in getChangeTag()