Lines Matching refs:Call

95   void handleOverloadedOperator(CheckerContext &C, const CallEvent &Call,
97 void handleAdvanceLikeFunction(CheckerContext &C, const CallEvent &Call,
150 void checkPostCall(const CallEvent &Call, CheckerContext &C) const;
167 const ExplodedNode *findCallEnter(const ExplodedNode *Node, const Expr *Call);
171 void IteratorModeling::checkPostCall(const CallEvent &Call, in checkPostCall() argument
174 const auto *Func = dyn_cast_or_null<FunctionDecl>(Call.getDecl()); in checkPostCall()
180 handleOverloadedOperator(C, Call, Op); in checkPostCall()
184 const auto *OrigExpr = Call.getOriginExpr(); in checkPostCall()
188 const AdvanceFn *Handler = AdvanceLikeFunctions.lookup(Call); in checkPostCall()
190 handleAdvanceLikeFunction(C, Call, OrigExpr, Handler); in checkPostCall()
194 if (!isIteratorType(Call.getResultType())) in checkPostCall()
200 if (getIteratorPosition(State, Call.getReturnValue())) in checkPostCall()
204 if (isa<CXXConstructorCall>(&Call) && Call.getNumArgs() == 1) { in checkPostCall()
205 if (const auto *Pos = getIteratorPosition(State, Call.getArgSVal(0))) { in checkPostCall()
206 State = setIteratorPosition(State, Call.getReturnValue(), *Pos); in checkPostCall()
208 State = removeIteratorPosition(State, Call.getArgSVal(0)); in checkPostCall()
220 for (unsigned i = 0; i < Call.getNumArgs(); ++i) { in checkPostCall()
221 if (isIteratorType(Call.getArgExpr(i)->getType()) && in checkPostCall()
222 Call.getArgExpr(i)->getType().getNonReferenceType().getDesugaredType( in checkPostCall()
224 Call.getResultType().getDesugaredType(C.getASTContext()).getTypePtr()) { in checkPostCall()
225 if (const auto *Pos = getIteratorPosition(State, Call.getArgSVal(i))) { in checkPostCall()
226 assignToContainer(C, OrigExpr, Call.getReturnValue(), in checkPostCall()
352 const CallEvent &Call, in handleOverloadedOperator() argument
355 const auto *OrigExpr = Call.getOriginExpr(); in handleOverloadedOperator()
359 if (const auto *InstCall = dyn_cast<CXXInstanceCall>(&Call)) { in handleOverloadedOperator()
360 handleComparison(C, OrigExpr, Call.getReturnValue(), in handleOverloadedOperator()
361 InstCall->getCXXThisVal(), Call.getArgSVal(0), Op); in handleOverloadedOperator()
365 handleComparison(C, OrigExpr, Call.getReturnValue(), Call.getArgSVal(0), in handleOverloadedOperator()
366 Call.getArgSVal(1), Op); in handleOverloadedOperator()
369 const auto *OrigExpr = Call.getOriginExpr(); in handleOverloadedOperator()
373 if (const auto *InstCall = dyn_cast<CXXInstanceCall>(&Call)) { in handleOverloadedOperator()
374 if (Call.getNumArgs() >= 1 && in handleOverloadedOperator()
375 Call.getArgExpr(0)->getType()->isIntegralOrEnumerationType()) { in handleOverloadedOperator()
376 handleRandomIncrOrDecr(C, OrigExpr, Op, Call.getReturnValue(), in handleOverloadedOperator()
377 InstCall->getCXXThisVal(), Call.getArgSVal(0)); in handleOverloadedOperator()
380 } else if (Call.getNumArgs() >= 2) { in handleOverloadedOperator()
381 const Expr *FirstArg = Call.getArgExpr(0); in handleOverloadedOperator()
382 const Expr *SecondArg = Call.getArgExpr(1); in handleOverloadedOperator()
391 const SVal FirstArg = Call.getArgSVal(0); in handleOverloadedOperator()
392 const SVal SecondArg = Call.getArgSVal(1); in handleOverloadedOperator()
396 handleRandomIncrOrDecr(C, OrigExpr, Op, Call.getReturnValue(), in handleOverloadedOperator()
402 if (const auto *InstCall = dyn_cast<CXXInstanceCall>(&Call)) { in handleOverloadedOperator()
403 handleIncrement(C, Call.getReturnValue(), InstCall->getCXXThisVal(), in handleOverloadedOperator()
404 Call.getNumArgs()); in handleOverloadedOperator()
408 handleIncrement(C, Call.getReturnValue(), Call.getArgSVal(0), in handleOverloadedOperator()
409 Call.getNumArgs()); in handleOverloadedOperator()
412 if (const auto *InstCall = dyn_cast<CXXInstanceCall>(&Call)) { in handleOverloadedOperator()
413 handleDecrement(C, Call.getReturnValue(), InstCall->getCXXThisVal(), in handleOverloadedOperator()
414 Call.getNumArgs()); in handleOverloadedOperator()
418 handleDecrement(C, Call.getReturnValue(), Call.getArgSVal(0), in handleOverloadedOperator()
419 Call.getNumArgs()); in handleOverloadedOperator()
426 const CallEvent &Call, in handleAdvanceLikeFunction() argument
430 (this->**Handler)(C, OrigExpr, Call.getReturnValue(), in handleAdvanceLikeFunction()
431 Call.getArgSVal(0), Call.getArgSVal(1)); in handleAdvanceLikeFunction()
437 const auto *IdInfo = cast<FunctionDecl>(Call.getDecl())->getIdentifier(); in handleAdvanceLikeFunction()
440 if (noChangeInAdvance(C, Call.getArgSVal(0), OrigExpr)) { in handleAdvanceLikeFunction()
441 (this->**Handler)(C, OrigExpr, Call.getReturnValue(), in handleAdvanceLikeFunction()
442 Call.getArgSVal(0), Call.getArgSVal(1)); in handleAdvanceLikeFunction()
833 const ExplodedNode *findCallEnter(const ExplodedNode *Node, const Expr *Call) { in findCallEnter() argument
837 if (Enter->getCallExpr() == Call) in findCallEnter()