Lines Matching refs:Call

39     : public Checker<eval::Call, check::DeadSymbols, check::RegionChanges,
42 bool isBoolConversionMethod(const CallEvent &Call) const;
47 bool evalCall(const CallEvent &Call, CheckerContext &C) const;
48 void checkPreCall(const CallEvent &Call, CheckerContext &C) const;
55 const LocationContext *LCtx, const CallEvent *Call) const;
61 void handleReset(const CallEvent &Call, CheckerContext &C) const;
62 void handleRelease(const CallEvent &Call, CheckerContext &C) const;
63 void handleSwap(const CallEvent &Call, CheckerContext &C) const;
64 void handleGet(const CallEvent &Call, CheckerContext &C) const;
65 bool handleAssignOp(const CallEvent &Call, CheckerContext &C) const;
66 bool handleMoveCtr(const CallEvent &Call, CheckerContext &C,
70 void handleBoolConversion(const CallEvent &Call, CheckerContext &C) const;
73 void (SmartPtrModeling::*)(const CallEvent &Call, CheckerContext &) const;
88 bool isStdSmartPtrCall(const CallEvent &Call) { in isStdSmartPtrCall() argument
89 const auto *MethodDecl = dyn_cast_or_null<CXXMethodDecl>(Call.getDecl()); in isStdSmartPtrCall()
140 static QualType getInnerPointerType(const CallEvent &Call, CheckerContext &C) { in getInnerPointerType() argument
141 const auto *MethodDecl = dyn_cast_or_null<CXXMethodDecl>(Call.getDecl()); in getInnerPointerType()
169 bool SmartPtrModeling::isBoolConversionMethod(const CallEvent &Call) const { in isBoolConversionMethod()
174 const auto *CD = dyn_cast_or_null<CXXConversionDecl>(Call.getDecl()); in isBoolConversionMethod()
178 bool SmartPtrModeling::evalCall(const CallEvent &Call, in evalCall() argument
181 if (!smartptr::isStdSmartPtrCall(Call)) in evalCall()
184 if (isBoolConversionMethod(Call)) { in evalCall()
186 cast<CXXInstanceCall>(&Call)->getCXXThisVal().getAsRegion(); in evalCall()
193 handleBoolConversion(Call, C); in evalCall()
204 Call.getOriginExpr(), C.getLocationContext(), in evalCall()
205 C.getSValBuilder().makeZeroVal(Call.getResultType()))); in evalCall()
214 if (const auto *CC = dyn_cast<CXXConstructorCall>(&Call)) { in evalCall()
223 return handleMoveCtr(Call, C, ThisRegion); in evalCall()
225 if (Call.getNumArgs() == 0) { in evalCall()
240 const auto *TrackingExpr = Call.getArgExpr(0); in evalCall()
243 auto ArgVal = Call.getArgSVal(0); in evalCall()
264 if (handleAssignOp(Call, C)) in evalCall()
267 const SmartPtrMethodHandlerFn *Handler = SmartPtrMethodHandlers.lookup(Call); in evalCall()
270 (this->**Handler)(Call, C); in evalCall()
311 const CallEvent *Call) const { in checkRegionChanges()
333 void SmartPtrModeling::handleReset(const CallEvent &Call, in handleReset() argument
336 const auto *IC = dyn_cast<CXXInstanceCall>(&Call); in handleReset()
344 assert(Call.getArgExpr(0)->getType()->isPointerType() && in handleReset()
346 State = State->set<TrackedRegionMap>(ThisRegion, Call.getArgSVal(0)); in handleReset()
347 const auto *TrackingExpr = Call.getArgExpr(0); in handleReset()
363 void SmartPtrModeling::handleRelease(const CallEvent &Call, in handleRelease() argument
366 const auto *IC = dyn_cast<CXXInstanceCall>(&Call); in handleRelease()
377 State = State->BindExpr(Call.getOriginExpr(), C.getLocationContext(), in handleRelease()
398 void SmartPtrModeling::handleSwap(const CallEvent &Call, in handleSwap() argument
401 const auto *IC = dyn_cast<CXXInstanceCall>(&Call); in handleSwap()
409 const auto *ArgRegion = Call.getArgSVal(0).getAsRegion(); in handleSwap()
437 void SmartPtrModeling::handleGet(const CallEvent &Call, in handleGet() argument
440 const auto *IC = dyn_cast<CXXInstanceCall>(&Call); in handleGet()
452 const auto *CallExpr = Call.getOriginExpr(); in handleGet()
454 CallExpr, C.getLocationContext(), Call.getResultType(), C.blockCount()); in handleGet()
458 State = State->BindExpr(Call.getOriginExpr(), C.getLocationContext(), in handleGet()
464 bool SmartPtrModeling::handleAssignOp(const CallEvent &Call, in handleAssignOp() argument
467 const auto *OC = dyn_cast<CXXMemberOperatorCall>(&Call); in handleAssignOp()
480 bool AssignedNull = Call.getArgSVal(0).isZeroConstant(); in handleAssignOp()
500 bool SmartPtrModeling::handleMoveCtr(const CallEvent &Call, CheckerContext &C, in handleMoveCtr() argument
502 const auto *OtherSmartPtrRegion = Call.getArgSVal(0).getAsRegion(); in handleMoveCtr()
561 void SmartPtrModeling::handleBoolConversion(const CallEvent &Call, in handleBoolConversion() argument
565 const Expr *CallExpr = Call.getOriginExpr(); in handleBoolConversion()
567 cast<CXXInstanceCall>(&Call)->getCXXThisVal().getAsRegion(); in handleBoolConversion()
575 auto InnerPointerType = getInnerPointerType(Call, C); in handleBoolConversion()
600 C.getSValBuilder().makeZeroVal(Call.getResultType()))); in handleBoolConversion()