Lines Matching refs:Call

96   void handleOverloadedOperator(CheckerContext &C, const CallEvent &Call,
98 void handleAdvanceLikeFunction(CheckerContext &C, const CallEvent &Call,
151 void checkPostCall(const CallEvent &Call, CheckerContext &C) const;
168 const ExplodedNode *findCallEnter(const ExplodedNode *Node, const Expr *Call);
172 void IteratorModeling::checkPostCall(const CallEvent &Call, in checkPostCall() argument
175 const auto *Func = dyn_cast_or_null<FunctionDecl>(Call.getDecl()); in checkPostCall()
181 handleOverloadedOperator(C, Call, Op); in checkPostCall()
185 const auto *OrigExpr = Call.getOriginExpr(); in checkPostCall()
189 const AdvanceFn *Handler = AdvanceLikeFunctions.lookup(Call); in checkPostCall()
191 handleAdvanceLikeFunction(C, Call, OrigExpr, Handler); in checkPostCall()
195 if (!isIteratorType(Call.getResultType())) in checkPostCall()
201 if (getIteratorPosition(State, Call.getReturnValue())) in checkPostCall()
205 if (isa<CXXConstructorCall>(&Call) && Call.getNumArgs() == 1) { in checkPostCall()
206 if (const auto *Pos = getIteratorPosition(State, Call.getArgSVal(0))) { in checkPostCall()
207 State = setIteratorPosition(State, Call.getReturnValue(), *Pos); in checkPostCall()
209 State = removeIteratorPosition(State, Call.getArgSVal(0)); in checkPostCall()
221 for (unsigned i = 0; i < Call.getNumArgs(); ++i) { in checkPostCall()
222 if (isIteratorType(Call.getArgExpr(i)->getType()) && in checkPostCall()
223 Call.getArgExpr(i)->getType().getNonReferenceType().getDesugaredType( in checkPostCall()
225 Call.getResultType().getDesugaredType(C.getASTContext()).getTypePtr()) { in checkPostCall()
226 if (const auto *Pos = getIteratorPosition(State, Call.getArgSVal(i))) { in checkPostCall()
227 assignToContainer(C, OrigExpr, Call.getReturnValue(), in checkPostCall()
350 const CallEvent &Call, in handleOverloadedOperator() argument
353 const auto *OrigExpr = Call.getOriginExpr(); in handleOverloadedOperator()
357 if (const auto *InstCall = dyn_cast<CXXInstanceCall>(&Call)) { in handleOverloadedOperator()
358 handleComparison(C, OrigExpr, Call.getReturnValue(), in handleOverloadedOperator()
359 InstCall->getCXXThisVal(), Call.getArgSVal(0), Op); in handleOverloadedOperator()
363 handleComparison(C, OrigExpr, Call.getReturnValue(), Call.getArgSVal(0), in handleOverloadedOperator()
364 Call.getArgSVal(1), Op); in handleOverloadedOperator()
367 const auto *OrigExpr = Call.getOriginExpr(); in handleOverloadedOperator()
371 if (const auto *InstCall = dyn_cast<CXXInstanceCall>(&Call)) { in handleOverloadedOperator()
372 if (Call.getNumArgs() >= 1 && in handleOverloadedOperator()
373 Call.getArgExpr(0)->getType()->isIntegralOrEnumerationType()) { in handleOverloadedOperator()
374 handleRandomIncrOrDecr(C, OrigExpr, Op, Call.getReturnValue(), in handleOverloadedOperator()
375 InstCall->getCXXThisVal(), Call.getArgSVal(0)); in handleOverloadedOperator()
378 } else if (Call.getNumArgs() >= 2) { in handleOverloadedOperator()
379 const Expr *FirstArg = Call.getArgExpr(0); in handleOverloadedOperator()
380 const Expr *SecondArg = Call.getArgExpr(1); in handleOverloadedOperator()
389 const SVal FirstArg = Call.getArgSVal(0); in handleOverloadedOperator()
390 const SVal SecondArg = Call.getArgSVal(1); in handleOverloadedOperator()
394 handleRandomIncrOrDecr(C, OrigExpr, Op, Call.getReturnValue(), in handleOverloadedOperator()
400 if (const auto *InstCall = dyn_cast<CXXInstanceCall>(&Call)) { in handleOverloadedOperator()
401 handleIncrement(C, Call.getReturnValue(), InstCall->getCXXThisVal(), in handleOverloadedOperator()
402 Call.getNumArgs()); in handleOverloadedOperator()
406 handleIncrement(C, Call.getReturnValue(), Call.getArgSVal(0), in handleOverloadedOperator()
407 Call.getNumArgs()); in handleOverloadedOperator()
410 if (const auto *InstCall = dyn_cast<CXXInstanceCall>(&Call)) { in handleOverloadedOperator()
411 handleDecrement(C, Call.getReturnValue(), InstCall->getCXXThisVal(), in handleOverloadedOperator()
412 Call.getNumArgs()); in handleOverloadedOperator()
416 handleDecrement(C, Call.getReturnValue(), Call.getArgSVal(0), in handleOverloadedOperator()
417 Call.getNumArgs()); in handleOverloadedOperator()
424 const CallEvent &Call, in handleAdvanceLikeFunction() argument
428 (this->**Handler)(C, OrigExpr, Call.getReturnValue(), in handleAdvanceLikeFunction()
429 Call.getArgSVal(0), Call.getArgSVal(1)); in handleAdvanceLikeFunction()
435 const auto *IdInfo = cast<FunctionDecl>(Call.getDecl())->getIdentifier(); in handleAdvanceLikeFunction()
438 if (noChangeInAdvance(C, Call.getArgSVal(0), OrigExpr)) { in handleAdvanceLikeFunction()
439 (this->**Handler)(C, OrigExpr, Call.getReturnValue(), in handleAdvanceLikeFunction()
440 Call.getArgSVal(0), Call.getArgSVal(1)); in handleAdvanceLikeFunction()
829 const ExplodedNode *findCallEnter(const ExplodedNode *Node, const Expr *Call) { in findCallEnter() argument
833 if (Enter->getCallExpr() == Call) in findCallEnter()