Lines Matching refs:Call

96   void handleOverloadedOperator(CheckerContext &C, const CallEvent &Call,
98 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()
349 const CallEvent &Call, in handleOverloadedOperator() argument
352 const auto *OrigExpr = Call.getOriginExpr(); in handleOverloadedOperator()
356 if (const auto *InstCall = dyn_cast<CXXInstanceCall>(&Call)) { in handleOverloadedOperator()
357 handleComparison(C, OrigExpr, Call.getReturnValue(), in handleOverloadedOperator()
358 InstCall->getCXXThisVal(), Call.getArgSVal(0), Op); in handleOverloadedOperator()
362 handleComparison(C, OrigExpr, Call.getReturnValue(), Call.getArgSVal(0), in handleOverloadedOperator()
363 Call.getArgSVal(1), Op); in handleOverloadedOperator()
366 const auto *OrigExpr = Call.getOriginExpr(); in handleOverloadedOperator()
370 if (const auto *InstCall = dyn_cast<CXXInstanceCall>(&Call)) { in handleOverloadedOperator()
371 if (Call.getNumArgs() >= 1 && in handleOverloadedOperator()
372 Call.getArgExpr(0)->getType()->isIntegralOrEnumerationType()) { in handleOverloadedOperator()
373 handleRandomIncrOrDecr(C, OrigExpr, Op, Call.getReturnValue(), in handleOverloadedOperator()
374 InstCall->getCXXThisVal(), Call.getArgSVal(0)); in handleOverloadedOperator()
377 } else if (Call.getNumArgs() >= 2) { in handleOverloadedOperator()
378 const Expr *FirstArg = Call.getArgExpr(0); in handleOverloadedOperator()
379 const Expr *SecondArg = Call.getArgExpr(1); in handleOverloadedOperator()
388 const SVal FirstArg = Call.getArgSVal(0); in handleOverloadedOperator()
389 const SVal SecondArg = Call.getArgSVal(1); in handleOverloadedOperator()
393 handleRandomIncrOrDecr(C, OrigExpr, Op, Call.getReturnValue(), in handleOverloadedOperator()
399 if (const auto *InstCall = dyn_cast<CXXInstanceCall>(&Call)) { in handleOverloadedOperator()
400 handleIncrement(C, Call.getReturnValue(), InstCall->getCXXThisVal(), in handleOverloadedOperator()
401 Call.getNumArgs()); in handleOverloadedOperator()
405 handleIncrement(C, Call.getReturnValue(), Call.getArgSVal(0), in handleOverloadedOperator()
406 Call.getNumArgs()); in handleOverloadedOperator()
409 if (const auto *InstCall = dyn_cast<CXXInstanceCall>(&Call)) { in handleOverloadedOperator()
410 handleDecrement(C, Call.getReturnValue(), InstCall->getCXXThisVal(), in handleOverloadedOperator()
411 Call.getNumArgs()); in handleOverloadedOperator()
415 handleDecrement(C, Call.getReturnValue(), Call.getArgSVal(0), in handleOverloadedOperator()
416 Call.getNumArgs()); in handleOverloadedOperator()
423 const CallEvent &Call, in handleAdvanceLikeFunction() argument
427 (this->**Handler)(C, OrigExpr, Call.getReturnValue(), in handleAdvanceLikeFunction()
428 Call.getArgSVal(0), Call.getArgSVal(1)); in handleAdvanceLikeFunction()
434 const auto *IdInfo = cast<FunctionDecl>(Call.getDecl())->getIdentifier(); in handleAdvanceLikeFunction()
437 if (noChangeInAdvance(C, Call.getArgSVal(0), OrigExpr)) { in handleAdvanceLikeFunction()
438 (this->**Handler)(C, OrigExpr, Call.getReturnValue(), in handleAdvanceLikeFunction()
439 Call.getArgSVal(0), Call.getArgSVal(1)); in handleAdvanceLikeFunction()
828 const ExplodedNode *findCallEnter(const ExplodedNode *Node, const Expr *Call) { in findCallEnter() argument
832 if (Enter->getCallExpr() == Call) in findCallEnter()