Changeset View
Changeset View
Standalone View
Standalone View
clang/include/clang/ASTMatchers/ASTMatchers.h
Show First 20 Lines • Show All 4,866 Lines • ▼ Show 20 Lines | if (const auto *Value = | ||||
FProto = MP->getPointeeType()->getAs<FunctionProtoType>(); | FProto = MP->getPointeeType()->getAs<FunctionProtoType>(); | ||||
assert(FProto && | assert(FProto && | ||||
"The call must have happened through a member function " | "The call must have happened through a member function " | ||||
"pointer"); | "pointer"); | ||||
} | } | ||||
} | } | ||||
} | } | ||||
int ParamIndex = 0; | unsigned ParamIndex = 0; | ||||
bool Matched = false; | bool Matched = false; | ||||
unsigned NumArgs = Node.getNumArgs(); | unsigned NumArgs = Node.getNumArgs(); | ||||
if (FProto && FProto->isVariadic()) | if (FProto && FProto->isVariadic()) | ||||
NumArgs = std::min(NumArgs, FProto->getNumParams()); | NumArgs = std::min(NumArgs, FProto->getNumParams()); | ||||
for (; ArgIndex < NumArgs; ++ArgIndex, ++ParamIndex) { | for (; ArgIndex < NumArgs; ++ArgIndex, ++ParamIndex) { | ||||
BoundNodesTreeBuilder ArgMatches(*Builder); | BoundNodesTreeBuilder ArgMatches(*Builder); | ||||
if (ArgMatcher.matches(*(Node.getArg(ArgIndex)->IgnoreParenCasts()), Finder, | if (ArgMatcher.matches(*(Node.getArg(ArgIndex)->IgnoreParenCasts()), Finder, | ||||
▲ Show 20 Lines • Show All 3,411 Lines • Show Last 20 Lines |