Lines Matching refs:Call

49   void checkPreCall(const CallEvent &Call, CheckerContext &C) const;
62 void MismatchedIteratorChecker::checkPreCall(const CallEvent &Call, in checkPreCall() argument
65 const auto *Func = dyn_cast_or_null<FunctionDecl>(Call.getDecl()); in checkPreCall()
72 if (const auto *InstCall = dyn_cast<CXXInstanceCall>(&Call)) { in checkPreCall()
73 if (Call.getNumArgs() < 1) in checkPreCall()
77 !isIteratorType(Call.getArgExpr(0)->getType())) in checkPreCall()
80 verifyMatch(C, InstCall->getCXXThisVal(), Call.getArgSVal(0)); in checkPreCall()
82 if (Call.getNumArgs() < 2) in checkPreCall()
85 if (!isIteratorType(Call.getArgExpr(0)->getType()) || in checkPreCall()
86 !isIteratorType(Call.getArgExpr(1)->getType())) in checkPreCall()
89 verifyMatch(C, Call.getArgSVal(0), Call.getArgSVal(1)); in checkPreCall()
91 } else if (const auto *InstCall = dyn_cast<CXXInstanceCall>(&Call)) { in checkPreCall()
97 verifyMatch(C, Call.getArgSVal(0), in checkPreCall()
99 if (Call.getNumArgs() == 2) { in checkPreCall()
100 verifyMatch(C, Call.getArgSVal(1), in checkPreCall()
104 verifyMatch(C, Call.getArgSVal(0), in checkPreCall()
106 if (Call.getNumArgs() == 3 && in checkPreCall()
107 isIteratorType(Call.getArgExpr(1)->getType()) && in checkPreCall()
108 isIteratorType(Call.getArgExpr(2)->getType())) { in checkPreCall()
109 verifyMatch(C, Call.getArgSVal(1), Call.getArgSVal(2)); in checkPreCall()
112 verifyMatch(C, Call.getArgSVal(0), in checkPreCall()
115 } else if (isa<CXXConstructorCall>(&Call)) { in checkPreCall()
117 if (Call.getNumArgs() < 2) in checkPreCall()
120 const auto *Ctr = cast<CXXConstructorDecl>(Call.getDecl()); in checkPreCall()
128 if (!isIteratorType(Call.getArgExpr(0)->getType()) || in checkPreCall()
129 !isIteratorType(Call.getArgExpr(1)->getType())) in checkPreCall()
132 verifyMatch(C, Call.getArgSVal(0), Call.getArgSVal(1)); in checkPreCall()
185 LHS = Call.getArgSVal(J); in checkPreCall()
187 verifyMatch(C, LHS, Call.getArgSVal(J)); in checkPreCall()