Lines Matching refs:state
130 ProgramStateRef state; member in __anon143b538f0111::StopTrackingCallback
132 StopTrackingCallback(ProgramStateRef st) : state(std::move(st)) {} in StopTrackingCallback()
133 ProgramStateRef getState() const { return state; } in getState()
136 state = removeRefBinding(state, sym); in VisitSymbol()
154 ProgramStateRef state = C.getState(); in checkPostStmt() local
178 state = state->scanReachableSymbols<StopTrackingCallback>(Regions).getState(); in checkPostStmt()
179 C.addTransition(state); in checkPostStmt()
210 ProgramStateRef state = C.getState(); in checkPostStmt() local
214 const RefVal* T = getRefBinding(state, Sym); in checkPostStmt()
219 state = updateSymbol(state, Sym, *T, AE, hasErr, C); in checkPostStmt()
226 C.addTransition(state); in checkPostStmt()
231 ProgramStateRef state = C.getState(); in processObjCLiterals() local
236 if (const RefVal* T = getRefBinding(state, sym)) { in processObjCLiterals()
238 state = updateSymbol(state, sym, *T, in processObjCLiterals()
241 processNonLeakError(state, Child->getSourceRange(), hasErr, sym, C); in processObjCLiterals()
250 state->getSVal(Ex, pred->getLocationContext()).getAsSymbol()) { in processObjCLiterals()
252 state = setRefBinding(state, sym, in processObjCLiterals()
256 C.addTransition(state); in processObjCLiterals()
451 ProgramStateRef state = C.getState(); in processSummaryOfInlined() local
459 if (const RefVal *T = getRefBinding(state, Sym)) in processSummaryOfInlined()
464 state = removeRefBinding(state, Sym); in processSummaryOfInlined()
472 state = removeRefBinding(state, Sym); in processSummaryOfInlined()
482 state = removeRefBinding(state, Sym); in processSummaryOfInlined()
485 C.addTransition(state); in processSummaryOfInlined()
608 ProgramStateRef state = C.getState(); in checkSummary() local
624 if (const RefVal *T = getRefBinding(state, Sym)) { in checkSummary()
629 state = updateSymbol(state, Sym, *T, Effect, hasErr, C); in checkSummary()
646 if (const RefVal *T = getRefBinding(state, Sym)) { in checkSummary()
648 state = updateSymbol(state, Sym, *T, in checkSummary()
660 if (const RefVal *T = getRefBinding(state, Sym)) { in checkSummary()
661 state = updateSymbol(state, Sym, *T, Summ.getThisEffect(), in checkSummary()
674 processNonLeakError(state, ErrorRange, hasErr, ErrorSym, C); in checkSummary()
696 state = setRefBinding(state, Sym, *updatedRefVal); in checkSummary()
700 updateOutParameters(state, Summ, CallOrMsg); in checkSummary()
711 ProgramStateRef RetainCountChecker::updateSymbol(ProgramStateRef state, in updateSymbol() argument
737 return setRefBinding(state, sym, V); in updateSymbol()
756 return setRefBinding(state, sym, V); in updateSymbol()
773 return state; in updateSymbol()
782 return removeRefBinding(state, sym); in updateSymbol()
813 return removeRefBinding(state, sym); in updateSymbol()
822 return removeRefBinding(state, sym); in updateSymbol()
829 return removeRefBinding(state, sym); in updateSymbol()
839 return setRefBinding(state, sym, V); in updateSymbol()
891 ProgramStateRef state = C.getState(); in evalCall() local
926 SVal RetVal = state->getSVal(BindReturnTo, LCtx); in evalCall()
940 state = state->BindExpr(CE, LCtx, RetVal, /*Invalidate=*/false); in evalCall()
955 state = state->assume(*L, /*assumption=*/true); in evalCall()
960 C.addTransition(state); in evalCall()
983 ProgramStateRef state = C.getState(); in processReturn() local
986 SymbolRef Sym = state->getSValAsScalarOrLoc(RetE, C.getLocationContext()) in processReturn()
992 const RefVal *T = getRefBinding(state, Sym); in processReturn()
1024 state = setRefBinding(state, Sym, X); in processReturn()
1025 Pred = C.addTransition(state); in processReturn()
1037 state = handleAutoreleaseCounts(state, Pred, &AutoreleaseTag, C, Sym, X, S); in processReturn()
1040 if (!state) in processReturn()
1044 T = getRefBinding(state, Sym); in processReturn()
1064 return checkReturnWithRetEffect(S, C, Pred, RE, X, Sym, state); in processReturn()
1072 ProgramStateRef state) const { in checkReturnWithRetEffect()
1092 state = setRefBinding(state, Sym, X); in checkReturnWithRetEffect()
1095 ExplodedNode *N = C.addTransition(state, Pred, &ReturnOwnLeakTag); in checkReturnWithRetEffect()
1111 state = setRefBinding(state, Sym, in checkReturnWithRetEffect()
1116 state = setRefBinding(state, Sym, X ^ RefVal::ErrorReturnedNotOwned); in checkReturnWithRetEffect()
1121 ExplodedNode *N = C.addTransition(state, Pred, &ReturnNotOwnedTag); in checkReturnWithRetEffect()
1140 ProgramStateRef state = C.getState(); in checkBind() local
1146 state = state->scanReachableSymbols<StopTrackingCallback>(val).getState(); in checkBind()
1147 C.addTransition(state); in checkBind()
1151 ProgramStateRef RetainCountChecker::evalAssume(ProgramStateRef state, in evalAssume() argument
1160 RefBindingsTy B = state->get<RefBindings>(); in evalAssume()
1163 return state; in evalAssume()
1166 RefBindingsTy::Factory &RefBFactory = state->get_context<RefBindings>(); in evalAssume()
1167 ConstraintManager &CMgr = state->getConstraintManager(); in evalAssume()
1171 ConditionTruthVal AllocFailed = CMgr.isNull(state, I.first); in evalAssume()
1179 state = state->set<RefBindings>(B); in evalAssume()
1181 return state; in evalAssume()
1185 ProgramStateRef state, const InvalidatedSymbols *invalidated, in checkRegionChanges() argument
1190 return state; in checkRegionChanges()
1202 state = removeRefBinding(state, sym); in checkRegionChanges()
1204 return state; in checkRegionChanges()
1208 RetainCountChecker::handleAutoreleaseCounts(ProgramStateRef state, in handleAutoreleaseCounts() argument
1219 return state; in handleAutoreleaseCounts()
1248 return setRefBinding(state, Sym, V); in handleAutoreleaseCounts()
1258 return state; in handleAutoreleaseCounts()
1263 state = setRefBinding(state, Sym, V); in handleAutoreleaseCounts()
1265 ExplodedNode *N = Ctx.generateSink(state, Pred, Tag); in handleAutoreleaseCounts()
1286 RetainCountChecker::handleSymbolDeath(ProgramStateRef state, in handleSymbolDeath() argument
1307 return removeRefBinding(state, sid); in handleSymbolDeath()
1310 return setRefBinding(state, sid, V ^ RefVal::ErrorLeak); in handleSymbolDeath()
1314 RetainCountChecker::processLeaks(ProgramStateRef state, in processLeaks() argument
1319 ExplodedNode *N = Ctx.addTransition(state, Pred); in processLeaks()
1344 ProgramStateRef state = Ctx.getState(); in checkBeginFunction() local
1350 SymbolRef Sym = state->getSVal(state->getRegion(Param, LCtx)).getAsSymbol(); in checkBeginFunction()
1360 state = setRefBinding(state, Sym, NewVal); in checkBeginFunction()
1365 Ctx.addTransition(state); in checkBeginFunction()
1377 ProgramStateRef state = Pred->getState(); in checkEndFunction() local
1378 RefBindingsTy B = state->get<RefBindings>(); in checkEndFunction()
1388 state = handleAutoreleaseCounts(state, Pred, /*Tag=*/nullptr, Ctx, in checkEndFunction()
1390 if (!state) in checkEndFunction()
1401 B = state->get<RefBindings>(); in checkEndFunction()
1405 state = handleSymbolDeath(state, I.first, I.second, Leaked); in checkEndFunction()
1407 processLeaks(state, Leaked, Ctx, Pred); in checkEndFunction()
1414 ProgramStateRef state = C.getState(); in checkDeadSymbols() local
1418 for (const auto &I: state->get<RefBindings>()) { in checkDeadSymbols()
1423 state = handleAutoreleaseCounts(state, Pred, &Tag, C, Sym, V); in checkDeadSymbols()
1424 if (!state) in checkDeadSymbols()
1429 state = handleSymbolDeath(state, Sym, *getRefBinding(state, Sym), Leaked); in checkDeadSymbols()
1434 C.addTransition(state); in checkDeadSymbols()
1438 Pred = processLeaks(state, Leaked, C, Pred); in checkDeadSymbols()
1446 RefBindingsTy::Factory &F = state->get_context<RefBindings>(); in checkDeadSymbols()
1447 RefBindingsTy B = state->get<RefBindings>(); in checkDeadSymbols()
1452 state = state->set<RefBindings>(B); in checkDeadSymbols()
1453 C.addTransition(state, Pred); in checkDeadSymbols()