Lines Matching refs:Desc
177 SVal getStreamArg(const FnDescription *Desc, const CallEvent &Call) { in getStreamArg() argument
178 assert(Desc && Desc->StreamArgNo != ArgNone && in getStreamArg()
180 return Call.getArgSVal(Desc->StreamArgNo); in getStreamArg()
281 void evalFopen(const FnDescription *Desc, const CallEvent &Call,
284 void preFreopen(const FnDescription *Desc, const CallEvent &Call,
286 void evalFreopen(const FnDescription *Desc, const CallEvent &Call,
289 void evalFclose(const FnDescription *Desc, const CallEvent &Call,
292 void preFread(const FnDescription *Desc, const CallEvent &Call,
295 void preFwrite(const FnDescription *Desc, const CallEvent &Call,
298 void evalFreadFwrite(const FnDescription *Desc, const CallEvent &Call,
301 void preFseek(const FnDescription *Desc, const CallEvent &Call,
303 void evalFseek(const FnDescription *Desc, const CallEvent &Call,
306 void preDefault(const FnDescription *Desc, const CallEvent &Call,
309 void evalClearerr(const FnDescription *Desc, const CallEvent &Call,
312 void evalFeofFerror(const FnDescription *Desc, const CallEvent &Call,
316 void evalSetFeofFerror(const FnDescription *Desc, const CallEvent &Call,
460 const FnDescription *Desc = lookupFn(Call); in checkPreCall() local
461 if (!Desc || !Desc->PreFn) in checkPreCall()
464 Desc->PreFn(this, Desc, Call, C); in checkPreCall()
468 const FnDescription *Desc = lookupFn(Call); in evalCall() local
469 if (!Desc && TestMode) in evalCall()
470 Desc = FnTestDescriptions.lookup(Call); in evalCall()
471 if (!Desc || !Desc->EvalFn) in evalCall()
474 Desc->EvalFn(this, Desc, Call, C); in evalCall()
479 void StreamChecker::evalFopen(const FnDescription *Desc, const CallEvent &Call, in evalFopen() argument
499 StateNotNull->set<StreamMap>(RetSym, StreamState::getOpened(Desc)); in evalFopen()
501 StateNull->set<StreamMap>(RetSym, StreamState::getOpenFailed(Desc)); in evalFopen()
508 void StreamChecker::preFreopen(const FnDescription *Desc, const CallEvent &Call, in preFreopen() argument
512 State = ensureStreamNonNull(getStreamArg(Desc, Call), in preFreopen()
513 Call.getArgExpr(Desc->StreamArgNo), C, State); in preFreopen()
520 void StreamChecker::evalFreopen(const FnDescription *Desc, in evalFreopen() argument
530 getStreamArg(Desc, Call).getAs<DefinedSVal>(); in evalFreopen()
557 StateRetNotNull->set<StreamMap>(StreamSym, StreamState::getOpened(Desc)); in evalFreopen()
559 StateRetNull->set<StreamMap>(StreamSym, StreamState::getOpenFailed(Desc)); in evalFreopen()
566 void StreamChecker::evalFclose(const FnDescription *Desc, const CallEvent &Call, in evalFclose() argument
569 SymbolRef Sym = getStreamArg(Desc, Call).getAsSymbol(); in evalFclose()
582 State = State->set<StreamMap>(Sym, StreamState::getClosed(Desc)); in evalFclose()
587 void StreamChecker::preFread(const FnDescription *Desc, const CallEvent &Call, in preFread() argument
590 SVal StreamVal = getStreamArg(Desc, Call); in preFread()
591 State = ensureStreamNonNull(StreamVal, Call.getArgExpr(Desc->StreamArgNo), C, in preFread()
612 void StreamChecker::preFwrite(const FnDescription *Desc, const CallEvent &Call, in preFwrite() argument
615 SVal StreamVal = getStreamArg(Desc, Call); in preFwrite()
616 State = ensureStreamNonNull(StreamVal, Call.getArgExpr(Desc->StreamArgNo), C, in preFwrite()
630 void StreamChecker::evalFreadFwrite(const FnDescription *Desc, in evalFreadFwrite() argument
634 SymbolRef StreamSym = getStreamArg(Desc, Call).getAsSymbol(); in evalFreadFwrite()
676 StateNotFailed->set<StreamMap>(StreamSym, StreamState::getOpened(Desc)); in evalFreadFwrite()
702 StreamState NewSS = StreamState::getOpened(Desc, NewES, !NewES.isFEof()); in evalFreadFwrite()
710 void StreamChecker::preFseek(const FnDescription *Desc, const CallEvent &Call, in preFseek() argument
713 SVal StreamVal = getStreamArg(Desc, Call); in preFseek()
714 State = ensureStreamNonNull(StreamVal, Call.getArgExpr(Desc->StreamArgNo), C, in preFseek()
728 void StreamChecker::evalFseek(const FnDescription *Desc, const CallEvent &Call, in evalFseek() argument
731 SymbolRef StreamSym = getStreamArg(Desc, Call).getAsSymbol(); in evalFseek()
756 StateNotFailed->set<StreamMap>(StreamSym, StreamState::getOpened(Desc)); in evalFseek()
763 StreamState::getOpened(Desc, ErrorNone | ErrorFEof | ErrorFError, true)); in evalFseek()
769 void StreamChecker::evalClearerr(const FnDescription *Desc, in evalClearerr() argument
773 SymbolRef StreamSym = getStreamArg(Desc, Call).getAsSymbol(); in evalClearerr()
786 StreamState::getOpened(Desc, ErrorNone, SS->FilePositionIndeterminate)); in evalClearerr()
790 void StreamChecker::evalFeofFerror(const FnDescription *Desc, in evalFeofFerror() argument
794 SymbolRef StreamSym = getStreamArg(Desc, Call).getAsSymbol(); in evalFeofFerror()
814 StreamSym, StreamState::getOpened(Desc, ErrorKind, in evalFeofFerror()
826 Desc, NewES, SS->FilePositionIndeterminate && !NewES.isFEof()))); in evalFeofFerror()
830 void StreamChecker::preDefault(const FnDescription *Desc, const CallEvent &Call, in preDefault() argument
833 SVal StreamVal = getStreamArg(Desc, Call); in preDefault()
834 State = ensureStreamNonNull(StreamVal, Call.getArgExpr(Desc->StreamArgNo), C, in preDefault()
845 void StreamChecker::evalSetFeofFerror(const FnDescription *Desc, in evalSetFeofFerror() argument
849 SymbolRef StreamSym = getStreamArg(Desc, Call).getAsSymbol(); in evalSetFeofFerror()