Lines Matching refs:State
132 static HandleState getAllocated(ProgramStateRef State, HandleState S) { in getAllocated() argument
134 assert(State->getConstraintManager() in getAllocated()
135 .isNull(State, S.getErrorSym()) in getAllocated()
202 ProgramStateRef evalAssume(ProgramStateRef State, SVal Cond,
204 ProgramStateRef checkPointerEscape(ProgramStateRef State,
225 void printState(raw_ostream &Out, ProgramStateRef State, const char *NL,
234 ProgramStateRef State = N->getState(); in REGISTER_MAP_WITH_PROGRAMSTATE() local
237 if (!State->get<HStateMap>(Sym)) in REGISTER_MAP_WITH_PROGRAMSTATE()
242 State = N->getState(); in REGISTER_MAP_WITH_PROGRAMSTATE()
243 if (!State->get<HStateMap>(Sym)) { in REGISTER_MAP_WITH_PROGRAMSTATE()
257 FuchsiaHandleSymbolVisitor(ProgramStateRef State) : State(std::move(State)) {} in FuchsiaHandleSymbolVisitor() argument
258 ProgramStateRef getState() const { return State; } in getState()
271 ProgramStateRef State; member in __anonf11f63c60211::FuchsiaHandleSymbolVisitor
278 getFuchsiaHandleSymbols(QualType QT, SVal Arg, ProgramStateRef State) { in getFuchsiaHandleSymbols() argument
287 FuchsiaHandleSymbolVisitor Visitor(State); in getFuchsiaHandleSymbols()
288 State->scanReachableSymbols(Arg, Visitor); in getFuchsiaHandleSymbols()
308 SymbolRef Sym = State->getSVal(*ArgLoc).getAsSymbol(); in getFuchsiaHandleSymbols()
322 ProgramStateRef State = C.getState(); in checkPreCall() local
329 State = State->set<HStateMap>(Handle, HandleState::getEscaped()); in checkPreCall()
331 C.addTransition(State); in checkPreCall()
340 getFuchsiaHandleSymbols(PVD->getType(), Call.getArgSVal(Arg), State); in checkPreCall()
348 const HandleState *HState = State->get<HStateMap>(Handle); in checkPreCall()
361 C.addTransition(State); in checkPreCall()
374 ProgramStateRef State = C.getState(); in checkPostCall() local
396 State = in checkPostCall()
397 State->set<HStateMap>(RetSym, HandleState::getMaybeAllocated(nullptr)); in checkPostCall()
412 State = State->set<HStateMap>(RetSym, HandleState::getUnowned()); in checkPostCall()
421 getFuchsiaHandleSymbols(PVD->getType(), Call.getArgSVal(Arg), State); in checkPostCall()
424 const HandleState *HState = State->get<HStateMap>(Handle); in checkPostCall()
446 State = State->set<HStateMap>(Handle, HandleState::getReleased()); in checkPostCall()
460 State = State->set<HStateMap>( in checkPostCall()
474 State = State->set<HStateMap>(Handle, HandleState::getUnowned()); in checkPostCall()
482 State = State->set<HStateMap>(Handle, HandleState::getEscaped()); in checkPostCall()
503 C.addTransition(State, T); in checkPostCall()
508 ProgramStateRef State = C.getState(); in checkDeadSymbols() local
510 HStateMapTy TrackedHandles = State->get<HStateMap>(); in checkDeadSymbols()
522 State = State->remove<HStateMap>(CurItem.first); in checkDeadSymbols()
529 C.addTransition(State, N); in checkDeadSymbols()
542 ProgramStateRef FuchsiaHandleChecker::evalAssume(ProgramStateRef State, in evalAssume() argument
546 ConstraintManager &Cmr = State->getConstraintManager(); in evalAssume()
547 HStateMapTy TrackedHandles = State->get<HStateMap>(); in evalAssume()
549 ConditionTruthVal HandleVal = Cmr.isNull(State, CurItem.first); in evalAssume()
552 State = State->remove<HStateMap>(CurItem.first); in evalAssume()
557 ConditionTruthVal ErrorVal = Cmr.isNull(State, ErrorSym); in evalAssume()
561 State = State->set<HStateMap>( in evalAssume()
562 CurItem.first, HandleState::getAllocated(State, CurItem.second)); in evalAssume()
566 State = State->remove<HStateMap>(CurItem.first); in evalAssume()
569 return State; in evalAssume()
573 ProgramStateRef State, const InvalidatedSymbols &Escaped, in checkPointerEscape() argument
588 getFuchsiaHandleSymbols(PVD->getType(), Call->getArgSVal(Arg), State); in checkPointerEscape()
600 for (auto I : State->get<HStateMap>()) { in checkPointerEscape()
602 State = State->set<HStateMap>(I.first, HandleState::getEscaped()); in checkPointerEscape()
606 State = State->set<HStateMap>(I.first, HandleState::getEscaped()); in checkPointerEscape()
610 return State; in checkPointerEscape()
685 void FuchsiaHandleChecker::printState(raw_ostream &Out, ProgramStateRef State, in printState() argument
688 HStateMapTy StateMap = State->get<HStateMap>(); in printState()