Lines Matching refs:State
51 checkRegionChanges(ProgramStateRef State,
56 void printState(raw_ostream &Out, ProgramStateRef State, const char *NL,
58 void checkLiveSymbols(ProgramStateRef State, SymbolReaper &SR) const;
104 bool isNullSmartPtr(const ProgramStateRef State, const MemRegion *ThisRegion) { in isNullSmartPtr() argument
105 const auto *InnerPointVal = State->get<TrackedRegionMap>(ThisRegion); in isNullSmartPtr()
107 !State->assume(InnerPointVal->castAs<DefinedOrUnknownSVal>(), true); in isNullSmartPtr()
127 static ProgramStateRef updateSwappedRegion(ProgramStateRef State, in updateSwappedRegion() argument
131 State = State->set<TrackedRegionMap>(Region, *RegionInnerPointerVal); in updateSwappedRegion()
133 State = State->remove<TrackedRegionMap>(Region); in updateSwappedRegion()
135 return State; in updateSwappedRegion()
180 ProgramStateRef State = C.getState(); in evalCall() local
196 if (!move::isMovedFrom(State, ThisR)) { in evalCall()
203 C.addTransition(State->BindExpr( in evalCall()
227 State = State->set<TrackedRegionMap>(ThisRegion, NullVal); in evalCall()
230 State, C.getNoteTag([ThisRegion](PathSensitiveBugReport &BR, in evalCall()
244 State = State->set<TrackedRegionMap>(ThisRegion, ArgVal); in evalCall()
246 C.addTransition(State, C.getNoteTag([ThisRegion, TrackingExpr, in evalCall()
277 ProgramStateRef State = C.getState(); in checkDeadSymbols() local
279 TrackedRegionMapTy TrackedRegions = State->get<TrackedRegionMap>(); in checkDeadSymbols()
285 State = State->remove<TrackedRegionMap>(Region); in checkDeadSymbols()
287 C.addTransition(State); in checkDeadSymbols()
290 void SmartPtrModeling::printState(raw_ostream &Out, ProgramStateRef State, in printState() argument
292 TrackedRegionMapTy RS = State->get<TrackedRegionMap>(); in printState()
298 if (smartptr::isNullSmartPtr(State, I.first)) in printState()
308 ProgramStateRef State, const InvalidatedSymbols *Invalidated, in checkRegionChanges() argument
312 TrackedRegionMapTy RegionMap = State->get<TrackedRegionMap>(); in checkRegionChanges()
314 State->get_context<TrackedRegionMap>(); in checkRegionChanges()
318 return State->set<TrackedRegionMap>(RegionMap); in checkRegionChanges()
321 void SmartPtrModeling::checkLiveSymbols(ProgramStateRef State, in checkLiveSymbols() argument
324 TrackedRegionMapTy TrackedRegions = State->get<TrackedRegionMap>(); in checkLiveSymbols()
335 ProgramStateRef State = C.getState(); in handleReset() local
346 State = State->set<TrackedRegionMap>(ThisRegion, Call.getArgSVal(0)); in handleReset()
349 State, C.getNoteTag([ThisRegion, TrackingExpr](PathSensitiveBugReport &BR, in handleReset()
365 ProgramStateRef State = C.getState(); in handleRelease() local
374 const auto *InnerPointVal = State->get<TrackedRegionMap>(ThisRegion); in handleRelease()
377 State = State->BindExpr(Call.getOriginExpr(), C.getLocationContext(), in handleRelease()
382 State = State->set<TrackedRegionMap>(ThisRegion, ValueToUpdate); in handleRelease()
384 C.addTransition(State, C.getNoteTag([ThisRegion](PathSensitiveBugReport &BR, in handleRelease()
413 auto State = C.getState(); in handleSwap() local
415 State->get<TrackedRegionMap>(ThisRegion); in handleSwap()
417 State->get<TrackedRegionMap>(ArgRegion); in handleSwap()
420 State = updateSwappedRegion(State, ThisRegion, ArgRegionInnerPointerVal); in handleSwap()
421 State = updateSwappedRegion(State, ArgRegion, ThisRegionInnerPointerVal); in handleSwap()
424 State, C.getNoteTag([ThisRegion, ArgRegion](PathSensitiveBugReport &BR, in handleSwap()
439 ProgramStateRef State = C.getState(); in handleGet() local
449 if (const auto *InnerValPtr = State->get<TrackedRegionMap>(ThisRegion)) { in handleGet()
455 State = State->set<TrackedRegionMap>(ThisRegion, InnerPointerVal); in handleGet()
458 State = State->BindExpr(Call.getOriginExpr(), C.getLocationContext(), in handleGet()
461 C.addTransition(State); in handleGet()
466 ProgramStateRef State = C.getState(); in handleAssignOp() local
484 State = State->set<TrackedRegionMap>(ThisRegion, NullVal); in handleAssignOp()
485 C.addTransition(State, C.getNoteTag([ThisRegion](PathSensitiveBugReport &BR, in handleAssignOp()
512 ProgramStateRef State = C.getState(); in updateMovedSmartPointers() local
513 const auto *OtherInnerPtr = State->get<TrackedRegionMap>(OtherSmartPtrRegion); in updateMovedSmartPointers()
515 State = State->set<TrackedRegionMap>(ThisRegion, *OtherInnerPtr); in updateMovedSmartPointers()
517 State = State->set<TrackedRegionMap>(OtherSmartPtrRegion, NullVal); in updateMovedSmartPointers()
521 State, in updateMovedSmartPointers()
543 State = State->remove<TrackedRegionMap>(ThisRegion); in updateMovedSmartPointers()
544 State = State->set<TrackedRegionMap>(OtherSmartPtrRegion, NullVal); in updateMovedSmartPointers()
545 C.addTransition(State, C.getNoteTag([OtherSmartPtrRegion, in updateMovedSmartPointers()
564 ProgramStateRef State = C.getState(); in handleBoolConversion() local
570 if (const auto *InnerValPtr = State->get<TrackedRegionMap>(ThisRegion)) { in handleBoolConversion()
582 State = State->set<TrackedRegionMap>(ThisRegion, InnerPointerVal); in handleBoolConversion()
585 if (State->isNull(InnerPointerVal).isConstrainedTrue()) { in handleBoolConversion()
586 State = State->BindExpr(CallExpr, C.getLocationContext(), in handleBoolConversion()
589 C.addTransition(State); in handleBoolConversion()
591 } else if (State->isNonNull(InnerPointerVal).isConstrainedTrue()) { in handleBoolConversion()
592 State = State->BindExpr(CallExpr, C.getLocationContext(), in handleBoolConversion()
595 C.addTransition(State); in handleBoolConversion()
597 } else if (move::isMovedFrom(State, ThisRegion)) { in handleBoolConversion()
599 State->BindExpr(CallExpr, C.getLocationContext(), in handleBoolConversion()
605 State->assume(InnerPointerVal.castAs<DefinedOrUnknownSVal>()); in handleBoolConversion()