Lines Matching refs:State
149 const ContainerData *getContainerData(ProgramStateRef State,
151 return State->get<ContainerMap>(Cont);
154 const IteratorPosition *getIteratorPosition(ProgramStateRef State,
158 return State->get<IteratorRegionMap>(Reg);
160 return State->get<IteratorSymbolMap>(Sym);
162 return State->get<IteratorRegionMap>(LCVal->getRegion());
167 ProgramStateRef setIteratorPosition(ProgramStateRef State, const SVal &Val,
171 return State->set<IteratorRegionMap>(Reg, Pos);
173 return State->set<IteratorSymbolMap>(Sym, Pos);
175 return State->set<IteratorRegionMap>(LCVal->getRegion(), Pos);
180 ProgramStateRef advancePosition(ProgramStateRef State, const SVal &Iter,
183 const auto *Pos = getIteratorPosition(State, Iter);
187 auto &SymMgr = State->getStateManager().getSymbolManager();
188 auto &SVB = State->getStateManager().getSValBuilder();
197 Pos->setTo(SVB.evalBinOp(State, BinOp,
201 return setIteratorPosition(State, Iter, NewPos);
207 bool compare(ProgramStateRef State, SymbolRef Sym1, SymbolRef Sym2,
209 return compare(State, nonloc::SymbolVal(Sym1), nonloc::SymbolVal(Sym2), Opc);
212 bool compare(ProgramStateRef State, NonLoc NL1, NonLoc NL2,
214 auto &SVB = State->getStateManager().getSValBuilder();
217 SVB.evalBinOp(State, Opc, NL1, NL2, SVB.getConditionType());
222 return !State->assume(comparison.castAs<DefinedSVal>(), false);