Lines Matching refs:State

30 void taint::printTaint(ProgramStateRef State, raw_ostream &Out, const char *NL,  in REGISTER_MAP_WITH_PROGRAMSTATE()
32 TaintMapTy TM = State->get<TaintMap>(); in REGISTER_MAP_WITH_PROGRAMSTATE()
41 void taint::dumpTaint(ProgramStateRef State) { in dumpTaint() argument
42 printTaint(State, llvm::errs()); in dumpTaint()
45 ProgramStateRef taint::addTaint(ProgramStateRef State, const Stmt *S, in addTaint() argument
48 return addTaint(State, State->getSVal(S, LCtx), Kind); in addTaint()
51 ProgramStateRef taint::addTaint(ProgramStateRef State, SVal V, in addTaint() argument
55 return addTaint(State, Sym, Kind); in addTaint()
68 State->getStateManager().getStoreManager().getDefaultBinding( in addTaint()
71 return addPartialTaint(State, Sym, LCV->getRegion(), Kind); in addTaint()
76 return addTaint(State, R, Kind); in addTaint()
79 ProgramStateRef taint::addTaint(ProgramStateRef State, const MemRegion *R, in addTaint() argument
82 return addTaint(State, SR->getSymbol(), Kind); in addTaint()
83 return State; in addTaint()
86 ProgramStateRef taint::addTaint(ProgramStateRef State, SymbolRef Sym, in addTaint() argument
93 ProgramStateRef NewState = State->set<TaintMap>(Sym, Kind); in addTaint()
98 ProgramStateRef taint::removeTaint(ProgramStateRef State, SVal V) { in removeTaint() argument
101 return removeTaint(State, Sym); in removeTaint()
104 return removeTaint(State, R); in removeTaint()
107 ProgramStateRef taint::removeTaint(ProgramStateRef State, const MemRegion *R) { in removeTaint() argument
109 return removeTaint(State, SR->getSymbol()); in removeTaint()
110 return State; in removeTaint()
113 ProgramStateRef taint::removeTaint(ProgramStateRef State, SymbolRef Sym) { in removeTaint() argument
119 ProgramStateRef NewState = State->remove<TaintMap>(Sym); in removeTaint()
124 ProgramStateRef taint::addPartialTaint(ProgramStateRef State, in addPartialTaint() argument
129 if (const TaintTagType *T = State->get<TaintMap>(ParentSym)) in addPartialTaint()
131 return State; in addPartialTaint()
135 return addTaint(State, ParentSym, Kind); in addPartialTaint()
137 const TaintedSubRegions *SavedRegs = State->get<DerivedSymTaint>(ParentSym); in addPartialTaint()
138 TaintedSubRegions::Factory &F = State->get_context<TaintedSubRegions>(); in addPartialTaint()
142 ProgramStateRef NewState = State->set<DerivedSymTaint>(ParentSym, Regs); in addPartialTaint()
147 bool taint::isTainted(ProgramStateRef State, const Stmt *S, in isTainted() argument
149 return !getTaintedSymbolsImpl(State, S, LCtx, Kind, /*ReturnFirstOnly=*/true) in isTainted()
153 bool taint::isTainted(ProgramStateRef State, SVal V, TaintTagType Kind) { in isTainted() argument
154 return !getTaintedSymbolsImpl(State, V, Kind, /*ReturnFirstOnly=*/true) in isTainted()
158 bool taint::isTainted(ProgramStateRef State, const MemRegion *Reg, in isTainted() argument
160 return !getTaintedSymbolsImpl(State, Reg, K, /*ReturnFirstOnly=*/true) in isTainted()
164 bool taint::isTainted(ProgramStateRef State, SymbolRef Sym, TaintTagType Kind) { in isTainted() argument
165 return !getTaintedSymbolsImpl(State, Sym, Kind, /*ReturnFirstOnly=*/true) in isTainted()
169 std::vector<SymbolRef> taint::getTaintedSymbols(ProgramStateRef State, in getTaintedSymbols() argument
173 return getTaintedSymbolsImpl(State, S, LCtx, Kind, /*ReturnFirstOnly=*/false); in getTaintedSymbols()
176 std::vector<SymbolRef> taint::getTaintedSymbols(ProgramStateRef State, SVal V, in getTaintedSymbols() argument
178 return getTaintedSymbolsImpl(State, V, Kind, /*ReturnFirstOnly=*/false); in getTaintedSymbols()
181 std::vector<SymbolRef> taint::getTaintedSymbols(ProgramStateRef State, in getTaintedSymbols() argument
184 return getTaintedSymbolsImpl(State, Sym, Kind, /*ReturnFirstOnly=*/false); in getTaintedSymbols()
187 std::vector<SymbolRef> taint::getTaintedSymbols(ProgramStateRef State, in getTaintedSymbols() argument
190 return getTaintedSymbolsImpl(State, Reg, Kind, /*ReturnFirstOnly=*/false); in getTaintedSymbols()
193 std::vector<SymbolRef> taint::getTaintedSymbolsImpl(ProgramStateRef State, in getTaintedSymbolsImpl() argument
198 SVal val = State->getSVal(S, LCtx); in getTaintedSymbolsImpl()
199 return getTaintedSymbolsImpl(State, val, Kind, returnFirstOnly); in getTaintedSymbolsImpl()
202 std::vector<SymbolRef> taint::getTaintedSymbolsImpl(ProgramStateRef State, in getTaintedSymbolsImpl() argument
206 return getTaintedSymbolsImpl(State, Sym, Kind, returnFirstOnly); in getTaintedSymbolsImpl()
208 return getTaintedSymbolsImpl(State, Reg, Kind, returnFirstOnly); in getTaintedSymbolsImpl()
212 std::vector<SymbolRef> taint::getTaintedSymbolsImpl(ProgramStateRef State, in getTaintedSymbolsImpl() argument
223 getTaintedSymbolsImpl(State, ER->getIndex(), K, returnFirstOnly); in getTaintedSymbolsImpl()
232 getTaintedSymbolsImpl(State, SR->getSymbol(), K, returnFirstOnly); in getTaintedSymbolsImpl()
242 getTaintedSymbolsImpl(State, ER->getSuperRegion(), K, returnFirstOnly); in getTaintedSymbolsImpl()
251 std::vector<SymbolRef> taint::getTaintedSymbolsImpl(ProgramStateRef State, in getTaintedSymbolsImpl() argument
264 if (const TaintTagType *Tag = State->get<TaintMap>(SubSym)) { in getTaintedSymbolsImpl()
275 State, SD->getParentSymbol(), Kind, returnFirstOnly); in getTaintedSymbolsImpl()
284 State->get<DerivedSymTaint>(SD->getParentSymbol())) { in getTaintedSymbolsImpl()
303 getTaintedSymbolsImpl(State, SRV->getRegion(), Kind, returnFirstOnly); in getTaintedSymbolsImpl()
312 getTaintedSymbolsImpl(State, SC->getOperand(), Kind, returnFirstOnly); in getTaintedSymbolsImpl()