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 SVal val = State->getSVal(S, LCtx); in isTainted()
150 return isTainted(State, val, Kind); in isTainted()
153 bool taint::isTainted(ProgramStateRef State, SVal V, TaintTagType Kind) { in isTainted() argument
155 return isTainted(State, Sym, Kind); in isTainted()
157 return isTainted(State, Reg, Kind); in isTainted()
161 bool taint::isTainted(ProgramStateRef State, const MemRegion *Reg, in isTainted() argument
169 return isTainted(State, ER->getSuperRegion(), K) || in isTainted()
170 isTainted(State, ER->getIndex(), K); in isTainted()
173 return isTainted(State, SR->getSymbol(), K); in isTainted()
176 return isTainted(State, ER->getSuperRegion(), K); in isTainted()
181 bool taint::isTainted(ProgramStateRef State, SymbolRef Sym, TaintTagType Kind) { in isTainted() argument
192 if (const TaintTagType *Tag = State->get<TaintMap>(*SI)) { in isTainted()
199 if (isTainted(State, SD->getParentSymbol(), Kind)) in isTainted()
206 State->get<DerivedSymTaint>(SD->getParentSymbol())) { in isTainted()
221 if (isTainted(State, SRV->getRegion(), Kind)) in isTainted()
227 if (isTainted(State, SC->getOperand(), Kind)) in isTainted()