Lines Matching refs:State

31 void taint::printTaint(ProgramStateRef State, raw_ostream &Out, const char *NL,  in REGISTER_MAP_WITH_PROGRAMSTATE()
33 TaintMapTy TM = State->get<TaintMap>(); in REGISTER_MAP_WITH_PROGRAMSTATE()
42 void taint::dumpTaint(ProgramStateRef State) { in dumpTaint() argument
43 printTaint(State, llvm::errs()); in dumpTaint()
46 ProgramStateRef taint::addTaint(ProgramStateRef State, const Stmt *S, in addTaint() argument
49 return addTaint(State, State->getSVal(S, LCtx), Kind); in addTaint()
52 ProgramStateRef taint::addTaint(ProgramStateRef State, SVal V, in addTaint() argument
56 return addTaint(State, Sym, Kind); in addTaint()
69 State->getStateManager().getStoreManager().getDefaultBinding( in addTaint()
72 return addPartialTaint(State, Sym, LCV->getRegion(), Kind); in addTaint()
77 return addTaint(State, R, Kind); in addTaint()
80 ProgramStateRef taint::addTaint(ProgramStateRef State, const MemRegion *R, in addTaint() argument
83 return addTaint(State, SR->getSymbol(), Kind); in addTaint()
84 return State; in addTaint()
87 ProgramStateRef taint::addTaint(ProgramStateRef State, SymbolRef Sym, in addTaint() argument
94 ProgramStateRef NewState = State->set<TaintMap>(Sym, Kind); in addTaint()
99 ProgramStateRef taint::removeTaint(ProgramStateRef State, SVal V) { in removeTaint() argument
102 return removeTaint(State, Sym); in removeTaint()
105 return removeTaint(State, R); in removeTaint()
108 ProgramStateRef taint::removeTaint(ProgramStateRef State, const MemRegion *R) { in removeTaint() argument
110 return removeTaint(State, SR->getSymbol()); in removeTaint()
111 return State; in removeTaint()
114 ProgramStateRef taint::removeTaint(ProgramStateRef State, SymbolRef Sym) { in removeTaint() argument
120 ProgramStateRef NewState = State->remove<TaintMap>(Sym); in removeTaint()
125 ProgramStateRef taint::addPartialTaint(ProgramStateRef State, in addPartialTaint() argument
130 if (const TaintTagType *T = State->get<TaintMap>(ParentSym)) in addPartialTaint()
132 return State; in addPartialTaint()
136 return addTaint(State, ParentSym, Kind); in addPartialTaint()
138 const TaintedSubRegions *SavedRegs = State->get<DerivedSymTaint>(ParentSym); in addPartialTaint()
139 TaintedSubRegions::Factory &F = State->get_context<TaintedSubRegions>(); in addPartialTaint()
143 ProgramStateRef NewState = State->set<DerivedSymTaint>(ParentSym, Regs); in addPartialTaint()
148 bool taint::isTainted(ProgramStateRef State, const Stmt *S, in isTainted() argument
150 return !getTaintedSymbolsImpl(State, S, LCtx, Kind, /*ReturnFirstOnly=*/true) in isTainted()
154 bool taint::isTainted(ProgramStateRef State, SVal V, TaintTagType Kind) { in isTainted() argument
155 return !getTaintedSymbolsImpl(State, V, Kind, /*ReturnFirstOnly=*/true) in isTainted()
159 bool taint::isTainted(ProgramStateRef State, const MemRegion *Reg, in isTainted() argument
161 return !getTaintedSymbolsImpl(State, Reg, K, /*ReturnFirstOnly=*/true) in isTainted()
165 bool taint::isTainted(ProgramStateRef State, SymbolRef Sym, TaintTagType Kind) { in isTainted() argument
166 return !getTaintedSymbolsImpl(State, Sym, Kind, /*ReturnFirstOnly=*/true) in isTainted()
170 std::vector<SymbolRef> taint::getTaintedSymbols(ProgramStateRef State, in getTaintedSymbols() argument
174 return getTaintedSymbolsImpl(State, S, LCtx, Kind, /*ReturnFirstOnly=*/false); in getTaintedSymbols()
177 std::vector<SymbolRef> taint::getTaintedSymbols(ProgramStateRef State, SVal V, in getTaintedSymbols() argument
179 return getTaintedSymbolsImpl(State, V, Kind, /*ReturnFirstOnly=*/false); in getTaintedSymbols()
182 std::vector<SymbolRef> taint::getTaintedSymbols(ProgramStateRef State, in getTaintedSymbols() argument
185 return getTaintedSymbolsImpl(State, Sym, Kind, /*ReturnFirstOnly=*/false); in getTaintedSymbols()
188 std::vector<SymbolRef> taint::getTaintedSymbols(ProgramStateRef State, in getTaintedSymbols() argument
191 return getTaintedSymbolsImpl(State, Reg, Kind, /*ReturnFirstOnly=*/false); in getTaintedSymbols()
194 std::vector<SymbolRef> taint::getTaintedSymbolsImpl(ProgramStateRef State, in getTaintedSymbolsImpl() argument
199 SVal val = State->getSVal(S, LCtx); in getTaintedSymbolsImpl()
200 return getTaintedSymbolsImpl(State, val, Kind, returnFirstOnly); in getTaintedSymbolsImpl()
203 std::vector<SymbolRef> taint::getTaintedSymbolsImpl(ProgramStateRef State, in getTaintedSymbolsImpl() argument
207 return getTaintedSymbolsImpl(State, Sym, Kind, returnFirstOnly); in getTaintedSymbolsImpl()
209 return getTaintedSymbolsImpl(State, Reg, Kind, returnFirstOnly); in getTaintedSymbolsImpl()
213 std::vector<SymbolRef> taint::getTaintedSymbolsImpl(ProgramStateRef State, in getTaintedSymbolsImpl() argument
224 getTaintedSymbolsImpl(State, ER->getIndex(), K, returnFirstOnly); in getTaintedSymbolsImpl()
233 getTaintedSymbolsImpl(State, SR->getSymbol(), K, returnFirstOnly); in getTaintedSymbolsImpl()
243 getTaintedSymbolsImpl(State, ER->getSuperRegion(), K, returnFirstOnly); in getTaintedSymbolsImpl()
252 std::vector<SymbolRef> taint::getTaintedSymbolsImpl(ProgramStateRef State, in getTaintedSymbolsImpl() argument
261 if (const auto &Opts = State->getAnalysisManager().getAnalyzerOptions(); in getTaintedSymbolsImpl()
271 if (const TaintTagType *Tag = State->get<TaintMap>(SubSym)) { in getTaintedSymbolsImpl()
282 State, SD->getParentSymbol(), Kind, returnFirstOnly); in getTaintedSymbolsImpl()
291 State->get<DerivedSymTaint>(SD->getParentSymbol())) { in getTaintedSymbolsImpl()
310 getTaintedSymbolsImpl(State, SRV->getRegion(), Kind, returnFirstOnly); in getTaintedSymbolsImpl()
319 getTaintedSymbolsImpl(State, SC->getOperand(), Kind, returnFirstOnly); in getTaintedSymbolsImpl()