Lines Matching refs:Call
92 bool isInvalidatingMemberFunction(const CallEvent &Call) const;
95 bool isInnerPointerAccessFunction(const CallEvent &Call) const;
99 void markPtrSymbolsReleased(const CallEvent &Call, ProgramStateRef State,
106 void checkFunctionArguments(const CallEvent &Call, ProgramStateRef State,
112 void checkPostCall(const CallEvent &Call, CheckerContext &C) const;
121 const CallEvent &Call) const { in isInvalidatingMemberFunction()
122 if (const auto *MemOpCall = dyn_cast<CXXMemberOperatorCall>(&Call)) { in isInvalidatingMemberFunction()
128 return (isa<CXXDestructorCall>(Call) || Call.isCalled(AppendFn) || in isInvalidatingMemberFunction()
129 Call.isCalled(AssignFn) || Call.isCalled(ClearFn) || in isInvalidatingMemberFunction()
130 Call.isCalled(EraseFn) || Call.isCalled(InsertFn) || in isInvalidatingMemberFunction()
131 Call.isCalled(PopBackFn) || Call.isCalled(PushBackFn) || in isInvalidatingMemberFunction()
132 Call.isCalled(ReplaceFn) || Call.isCalled(ReserveFn) || in isInvalidatingMemberFunction()
133 Call.isCalled(ResizeFn) || Call.isCalled(ShrinkToFitFn) || in isInvalidatingMemberFunction()
134 Call.isCalled(SwapFn)); in isInvalidatingMemberFunction()
138 const CallEvent &Call) const { in isInnerPointerAccessFunction()
139 return (Call.isCalled(CStrFn) || Call.isCalled(DataFn) || in isInnerPointerAccessFunction()
140 Call.isCalled(DataMemberFn)); in isInnerPointerAccessFunction()
143 void InnerPointerChecker::markPtrSymbolsReleased(const CallEvent &Call, in markPtrSymbolsReleased() argument
148 const Expr *Origin = Call.getOriginExpr(); in markPtrSymbolsReleased()
160 void InnerPointerChecker::checkFunctionArguments(const CallEvent &Call, in checkFunctionArguments() argument
163 if (const auto *FC = dyn_cast<AnyFunctionCall>(&Call)) { in checkFunctionArguments()
187 if (Call.isCalled(AddressofFn)) in checkFunctionArguments()
190 markPtrSymbolsReleased(Call, State, ArgRegion, C); in checkFunctionArguments()
209 void InnerPointerChecker::checkPostCall(const CallEvent &Call, in checkPostCall() argument
216 if (const auto *ICall = dyn_cast<CXXInstanceCall>(&Call)) { in checkPostCall()
221 if (isInvalidatingMemberFunction(Call)) { in checkPostCall()
222 markPtrSymbolsReleased(Call, State, ObjRegion, C); in checkPostCall()
227 if (isInnerPointerAccessFunction(Call)) { in checkPostCall()
229 if (isa<SimpleFunctionCall>(Call)) { in checkPostCall()
234 dyn_cast_or_null<TypedValueRegion>(Call.getArgSVal(0).getAsRegion()); in checkPostCall()
240 SVal RawPtr = Call.getReturnValue(); in checkPostCall()
259 checkFunctionArguments(Call, State, C); in checkPostCall()