Lines Matching refs:State

56   checkRegionChanges(ProgramStateRef State,
61 void printState(raw_ostream &Out, ProgramStateRef State,
147 ObjectKind classifyObject(ProgramStateRef State, const MemRegion *MR,
152 void explainObject(ProgramStateRef State, llvm::raw_ostream &OS,
212 void modelUse(ProgramStateRef State, const MemRegion *Region,
237 bool isMovedFrom(ProgramStateRef State, const MemRegion *Region) { in isMovedFrom() argument
238 const RegionState *RS = State->get<TrackedRegionMap>(Region); in isMovedFrom()
246 static ProgramStateRef removeFromState(ProgramStateRef State, in removeFromState() argument
249 return State; in removeFromState()
250 for (auto &E : State->get<TrackedRegionMap>()) { in removeFromState()
252 State = State->remove<TrackedRegionMap>(E.first); in removeFromState()
254 return State; in removeFromState()
257 static bool isAnyBaseRegionReported(ProgramStateRef State, in isAnyBaseRegionReported() argument
259 for (auto &E : State->get<TrackedRegionMap>()) { in isAnyBaseRegionReported()
284 ProgramStateRef State = N->getState(); in VisitNode() local
286 const RegionState *TrackedObject = State->get<TrackedRegionMap>(Region); in VisitNode()
303 ObjectKind OK = Chk.classifyObject(State, Region, RD); in VisitNode()
308 Chk.explainObject(State, OS, Region, RD, MK); in VisitNode()
319 Chk.explainObject(State, OS, Region, RD, MK); in VisitNode()
324 Chk.explainObject(State, OS, Region, RD, MK); in VisitNode()
343 ProgramStateRef State = N->getState(); in getMoveLocation() local
344 if (!State->get<TrackedRegionMap>(Region)) in getMoveLocation()
352 void MoveChecker::modelUse(ProgramStateRef State, const MemRegion *Region, in modelUse() argument
356 const RegionState *RS = State->get<TrackedRegionMap>(Region); in modelUse()
357 ObjectKind OK = classifyObject(State, Region, RD); in modelUse()
367 C.addTransition(State); in modelUse()
374 if (isAnyBaseRegionReported(State, Region)) { in modelUse()
376 C.generateSink(State, C.getPredecessor()); in modelUse()
378 C.addTransition(State); in modelUse()
389 State = State->set<TrackedRegionMap>(Region, RegionState::getReported()); in modelUse()
390 C.addTransition(State, N); in modelUse()
410 ProgramStateRef State = N->getState(); in tryToReportBug() local
414 explainObject(State, OS, Region, RD, MK); in tryToReportBug()
418 explainObject(State, OS, Region, RD, MK); in tryToReportBug()
423 explainObject(State, OS, Region, RD, MK); in tryToReportBug()
428 explainObject(State, OS, Region, RD, MK); in tryToReportBug()
448 ProgramStateRef State = C.getState(); in checkPostCall() local
483 if (State->get<TrackedRegionMap>(ArgRegion)) in checkPostCall()
487 ObjectKind OK = classifyObject(State, ArgRegion, RD); in checkPostCall()
490 State = State->set<TrackedRegionMap>(ArgRegion, RegionState::getMoved()); in checkPostCall()
491 C.addTransition(State); in checkPostCall()
554 MoveChecker::classifyObject(ProgramStateRef State, const MemRegion *MR, in classifyObject() argument
562 MR->hasMemorySpace<StackSpaceRegion>(State); in classifyObject()
576 void MoveChecker::explainObject(ProgramStateRef State, llvm::raw_ostream &OS, in explainObject() argument
587 ObjectKind OK = classifyObject(State, MR, RD); in explainObject()
605 ProgramStateRef State = C.getState(); in checkPreCall() local
612 State = removeFromState(State, CC->getCXXThisVal().getAsRegion()); in checkPreCall()
619 modelUse(State, ArgRegion, RD, MK, C); in checkPreCall()
646 State = removeFromState(State, ThisRegion); in checkPreCall()
647 C.addTransition(State); in checkPreCall()
663 State = removeFromState(State, ThisRegion); in checkPreCall()
670 modelUse(State, ArgRegion, RD, MK, C); in checkPreCall()
673 C.addTransition(State); in checkPreCall()
678 modelUse(State, ThisRegion, RD, MK_Dereference, C); in checkPreCall()
683 modelUse(State, ThisRegion, RD, MK_FunCall, C); in checkPreCall()
688 ProgramStateRef State = C.getState(); in checkDeadSymbols() local
689 TrackedRegionMapTy TrackedRegions = State->get<TrackedRegionMap>(); in checkDeadSymbols()
696 State = State->remove<TrackedRegionMap>(Region); in checkDeadSymbols()
699 C.addTransition(State); in checkDeadSymbols()
703 ProgramStateRef State, const InvalidatedSymbols *Invalidated, in checkRegionChanges() argument
723 State = removeFromState(State, Region); in checkRegionChanges()
729 State = removeFromState(State, Region->getBaseRegion()); in checkRegionChanges()
732 return State; in checkRegionChanges()
735 void MoveChecker::printState(raw_ostream &Out, ProgramStateRef State, in printState() argument
738 TrackedRegionMapTy RS = State->get<TrackedRegionMap>(); in printState()