Lines Matching refs:Desc

176 SVal getStreamArg(const FnDescription *Desc, const CallEvent &Call) {  in getStreamArg()  argument
177 assert(Desc && Desc->StreamArgNo != ArgNone && in getStreamArg()
179 return Call.getArgSVal(Desc->StreamArgNo); in getStreamArg()
280 void evalFopen(const FnDescription *Desc, const CallEvent &Call,
283 void preFreopen(const FnDescription *Desc, const CallEvent &Call,
285 void evalFreopen(const FnDescription *Desc, const CallEvent &Call,
288 void evalFclose(const FnDescription *Desc, const CallEvent &Call,
291 void preFread(const FnDescription *Desc, const CallEvent &Call,
294 void preFwrite(const FnDescription *Desc, const CallEvent &Call,
297 void evalFreadFwrite(const FnDescription *Desc, const CallEvent &Call,
300 void preFseek(const FnDescription *Desc, const CallEvent &Call,
302 void evalFseek(const FnDescription *Desc, const CallEvent &Call,
305 void preDefault(const FnDescription *Desc, const CallEvent &Call,
308 void evalClearerr(const FnDescription *Desc, const CallEvent &Call,
311 void evalFeofFerror(const FnDescription *Desc, const CallEvent &Call,
315 void evalSetFeofFerror(const FnDescription *Desc, const CallEvent &Call,
459 const FnDescription *Desc = lookupFn(Call); in checkPreCall() local
460 if (!Desc || !Desc->PreFn) in checkPreCall()
463 Desc->PreFn(this, Desc, Call, C); in checkPreCall()
467 const FnDescription *Desc = lookupFn(Call); in evalCall() local
468 if (!Desc && TestMode) in evalCall()
469 Desc = FnTestDescriptions.lookup(Call); in evalCall()
470 if (!Desc || !Desc->EvalFn) in evalCall()
473 Desc->EvalFn(this, Desc, Call, C); in evalCall()
478 void StreamChecker::evalFopen(const FnDescription *Desc, const CallEvent &Call, in evalFopen() argument
498 StateNotNull->set<StreamMap>(RetSym, StreamState::getOpened(Desc)); in evalFopen()
500 StateNull->set<StreamMap>(RetSym, StreamState::getOpenFailed(Desc)); in evalFopen()
507 void StreamChecker::preFreopen(const FnDescription *Desc, const CallEvent &Call, in preFreopen() argument
511 State = ensureStreamNonNull(getStreamArg(Desc, Call), in preFreopen()
512 Call.getArgExpr(Desc->StreamArgNo), C, State); in preFreopen()
519 void StreamChecker::evalFreopen(const FnDescription *Desc, in evalFreopen() argument
529 getStreamArg(Desc, Call).getAs<DefinedSVal>(); in evalFreopen()
555 StateRetNotNull->set<StreamMap>(StreamSym, StreamState::getOpened(Desc)); in evalFreopen()
557 StateRetNull->set<StreamMap>(StreamSym, StreamState::getOpenFailed(Desc)); in evalFreopen()
564 void StreamChecker::evalFclose(const FnDescription *Desc, const CallEvent &Call, in evalFclose() argument
567 SymbolRef Sym = getStreamArg(Desc, Call).getAsSymbol(); in evalFclose()
580 State = State->set<StreamMap>(Sym, StreamState::getClosed(Desc)); in evalFclose()
585 void StreamChecker::preFread(const FnDescription *Desc, const CallEvent &Call, in preFread() argument
588 SVal StreamVal = getStreamArg(Desc, Call); in preFread()
589 State = ensureStreamNonNull(StreamVal, Call.getArgExpr(Desc->StreamArgNo), C, in preFread()
610 void StreamChecker::preFwrite(const FnDescription *Desc, const CallEvent &Call, in preFwrite() argument
613 SVal StreamVal = getStreamArg(Desc, Call); in preFwrite()
614 State = ensureStreamNonNull(StreamVal, Call.getArgExpr(Desc->StreamArgNo), C, in preFwrite()
628 void StreamChecker::evalFreadFwrite(const FnDescription *Desc, in evalFreadFwrite() argument
632 SymbolRef StreamSym = getStreamArg(Desc, Call).getAsSymbol(); in evalFreadFwrite()
675 StreamSym, StreamState::getOpened(Desc)); in evalFreadFwrite()
705 StreamState NewSS = StreamState::getOpened(Desc, NewES, !NewES.isFEof()); in evalFreadFwrite()
713 void StreamChecker::preFseek(const FnDescription *Desc, const CallEvent &Call, in preFseek() argument
716 SVal StreamVal = getStreamArg(Desc, Call); in preFseek()
717 State = ensureStreamNonNull(StreamVal, Call.getArgExpr(Desc->StreamArgNo), C, in preFseek()
731 void StreamChecker::evalFseek(const FnDescription *Desc, const CallEvent &Call, in evalFseek() argument
734 SymbolRef StreamSym = getStreamArg(Desc, Call).getAsSymbol(); in evalFseek()
759 StateNotFailed->set<StreamMap>(StreamSym, StreamState::getOpened(Desc)); in evalFseek()
766 StreamState::getOpened(Desc, ErrorNone | ErrorFEof | ErrorFError, true)); in evalFseek()
772 void StreamChecker::evalClearerr(const FnDescription *Desc, in evalClearerr() argument
776 SymbolRef StreamSym = getStreamArg(Desc, Call).getAsSymbol(); in evalClearerr()
789 StreamState::getOpened(Desc, ErrorNone, SS->FilePositionIndeterminate)); in evalClearerr()
793 void StreamChecker::evalFeofFerror(const FnDescription *Desc, in evalFeofFerror() argument
797 SymbolRef StreamSym = getStreamArg(Desc, Call).getAsSymbol(); in evalFeofFerror()
817 StreamSym, StreamState::getOpened(Desc, ErrorKind, in evalFeofFerror()
829 Desc, NewES, SS->FilePositionIndeterminate && !NewES.isFEof()))); in evalFeofFerror()
833 void StreamChecker::preDefault(const FnDescription *Desc, const CallEvent &Call, in preDefault() argument
836 SVal StreamVal = getStreamArg(Desc, Call); in preDefault()
837 State = ensureStreamNonNull(StreamVal, Call.getArgExpr(Desc->StreamArgNo), C, in preDefault()
848 void StreamChecker::evalSetFeofFerror(const FnDescription *Desc, in evalSetFeofFerror() argument
852 SymbolRef StreamSym = getStreamArg(Desc, Call).getAsSymbol(); in evalSetFeofFerror()