@@ -49,26 +49,30 @@ AST_MATCHER_P(ObjCMessageExpr, hasAnySelectorMatcher, std::vector<std::string>,
49
49
50
50
namespace internal {
51
51
52
- bool NotUnaryOperator (const DynTypedNode &DynNode, ASTMatchFinder *Finder,
53
- BoundNodesTreeBuilder *Builder,
54
- ArrayRef<DynTypedMatcher> InnerMatchers);
55
-
56
- bool AllOfVariadicOperator (const DynTypedNode &DynNode, ASTMatchFinder *Finder,
57
- BoundNodesTreeBuilder *Builder,
58
- ArrayRef<DynTypedMatcher> InnerMatchers);
59
-
60
- bool EachOfVariadicOperator (const DynTypedNode &DynNode, ASTMatchFinder *Finder,
61
- BoundNodesTreeBuilder *Builder,
62
- ArrayRef<DynTypedMatcher> InnerMatchers);
63
-
64
- bool AnyOfVariadicOperator (const DynTypedNode &DynNode, ASTMatchFinder *Finder,
65
- BoundNodesTreeBuilder *Builder,
66
- ArrayRef<DynTypedMatcher> InnerMatchers);
67
-
68
- bool OptionallyVariadicOperator (const DynTypedNode &DynNode,
69
- ASTMatchFinder *Finder,
70
- BoundNodesTreeBuilder *Builder,
71
- ArrayRef<DynTypedMatcher> InnerMatchers);
52
+ static bool notUnaryOperator (const DynTypedNode &DynNode,
53
+ ASTMatchFinder *Finder,
54
+ BoundNodesTreeBuilder *Builder,
55
+ ArrayRef<DynTypedMatcher> InnerMatchers);
56
+
57
+ static bool allOfVariadicOperator (const DynTypedNode &DynNode,
58
+ ASTMatchFinder *Finder,
59
+ BoundNodesTreeBuilder *Builder,
60
+ ArrayRef<DynTypedMatcher> InnerMatchers);
61
+
62
+ static bool eachOfVariadicOperator (const DynTypedNode &DynNode,
63
+ ASTMatchFinder *Finder,
64
+ BoundNodesTreeBuilder *Builder,
65
+ ArrayRef<DynTypedMatcher> InnerMatchers);
66
+
67
+ static bool anyOfVariadicOperator (const DynTypedNode &DynNode,
68
+ ASTMatchFinder *Finder,
69
+ BoundNodesTreeBuilder *Builder,
70
+ ArrayRef<DynTypedMatcher> InnerMatchers);
71
+
72
+ static bool optionallyVariadicOperator (const DynTypedNode &DynNode,
73
+ ASTMatchFinder *Finder,
74
+ BoundNodesTreeBuilder *Builder,
75
+ ArrayRef<DynTypedMatcher> InnerMatchers);
72
76
73
77
bool matchesAnyBase (const CXXRecordDecl &Node,
74
78
const Matcher<CXXBaseSpecifier> &BaseSpecMatcher,
@@ -225,29 +229,29 @@ DynTypedMatcher::constructVariadic(DynTypedMatcher::VariadicOperator Op,
225
229
}
226
230
return DynTypedMatcher (
227
231
SupportedKind, RestrictKind,
228
- new VariadicMatcher<AllOfVariadicOperator >(std::move (InnerMatchers)));
232
+ new VariadicMatcher<allOfVariadicOperator >(std::move (InnerMatchers)));
229
233
230
234
case VO_AnyOf:
231
235
return DynTypedMatcher (
232
236
SupportedKind, RestrictKind,
233
- new VariadicMatcher<AnyOfVariadicOperator >(std::move (InnerMatchers)));
237
+ new VariadicMatcher<anyOfVariadicOperator >(std::move (InnerMatchers)));
234
238
235
239
case VO_EachOf:
236
240
return DynTypedMatcher (
237
241
SupportedKind, RestrictKind,
238
- new VariadicMatcher<EachOfVariadicOperator >(std::move (InnerMatchers)));
242
+ new VariadicMatcher<eachOfVariadicOperator >(std::move (InnerMatchers)));
239
243
240
244
case VO_Optionally:
241
245
return DynTypedMatcher (SupportedKind, RestrictKind,
242
- new VariadicMatcher<OptionallyVariadicOperator >(
246
+ new VariadicMatcher<optionallyVariadicOperator >(
243
247
std::move (InnerMatchers)));
244
248
245
249
case VO_UnaryNot:
246
250
// FIXME: Implement the Not operator to take a single matcher instead of a
247
251
// vector.
248
252
return DynTypedMatcher (
249
253
SupportedKind, RestrictKind,
250
- new VariadicMatcher<NotUnaryOperator >(std::move (InnerMatchers)));
254
+ new VariadicMatcher<notUnaryOperator >(std::move (InnerMatchers)));
251
255
}
252
256
llvm_unreachable (" Invalid Op value." );
253
257
}
@@ -354,9 +358,10 @@ void BoundNodesTreeBuilder::addMatch(const BoundNodesTreeBuilder &Other) {
354
358
Bindings.append (Other.Bindings .begin (), Other.Bindings .end ());
355
359
}
356
360
357
- bool NotUnaryOperator (const DynTypedNode &DynNode, ASTMatchFinder *Finder,
358
- BoundNodesTreeBuilder *Builder,
359
- ArrayRef<DynTypedMatcher> InnerMatchers) {
361
+ static bool notUnaryOperator (const DynTypedNode &DynNode,
362
+ ASTMatchFinder *Finder,
363
+ BoundNodesTreeBuilder *Builder,
364
+ ArrayRef<DynTypedMatcher> InnerMatchers) {
360
365
if (InnerMatchers.size () != 1 )
361
366
return false ;
362
367
@@ -374,9 +379,10 @@ bool NotUnaryOperator(const DynTypedNode &DynNode, ASTMatchFinder *Finder,
374
379
return !InnerMatchers[0 ].matches (DynNode, Finder, &Discard);
375
380
}
376
381
377
- bool AllOfVariadicOperator (const DynTypedNode &DynNode, ASTMatchFinder *Finder,
378
- BoundNodesTreeBuilder *Builder,
379
- ArrayRef<DynTypedMatcher> InnerMatchers) {
382
+ static bool allOfVariadicOperator (const DynTypedNode &DynNode,
383
+ ASTMatchFinder *Finder,
384
+ BoundNodesTreeBuilder *Builder,
385
+ ArrayRef<DynTypedMatcher> InnerMatchers) {
380
386
// allOf leads to one matcher for each alternative in the first
381
387
// matcher combined with each alternative in the second matcher.
382
388
// Thus, we can reuse the same Builder.
@@ -385,9 +391,10 @@ bool AllOfVariadicOperator(const DynTypedNode &DynNode, ASTMatchFinder *Finder,
385
391
});
386
392
}
387
393
388
- bool EachOfVariadicOperator (const DynTypedNode &DynNode, ASTMatchFinder *Finder,
389
- BoundNodesTreeBuilder *Builder,
390
- ArrayRef<DynTypedMatcher> InnerMatchers) {
394
+ static bool eachOfVariadicOperator (const DynTypedNode &DynNode,
395
+ ASTMatchFinder *Finder,
396
+ BoundNodesTreeBuilder *Builder,
397
+ ArrayRef<DynTypedMatcher> InnerMatchers) {
391
398
BoundNodesTreeBuilder Result;
392
399
bool Matched = false ;
393
400
for (const DynTypedMatcher &InnerMatcher : InnerMatchers) {
@@ -401,9 +408,10 @@ bool EachOfVariadicOperator(const DynTypedNode &DynNode, ASTMatchFinder *Finder,
401
408
return Matched;
402
409
}
403
410
404
- bool AnyOfVariadicOperator (const DynTypedNode &DynNode, ASTMatchFinder *Finder,
405
- BoundNodesTreeBuilder *Builder,
406
- ArrayRef<DynTypedMatcher> InnerMatchers) {
411
+ static bool anyOfVariadicOperator (const DynTypedNode &DynNode,
412
+ ASTMatchFinder *Finder,
413
+ BoundNodesTreeBuilder *Builder,
414
+ ArrayRef<DynTypedMatcher> InnerMatchers) {
407
415
for (const DynTypedMatcher &InnerMatcher : InnerMatchers) {
408
416
BoundNodesTreeBuilder Result = *Builder;
409
417
if (InnerMatcher.matches (DynNode, Finder, &Result)) {
@@ -414,10 +422,10 @@ bool AnyOfVariadicOperator(const DynTypedNode &DynNode, ASTMatchFinder *Finder,
414
422
return false ;
415
423
}
416
424
417
- bool OptionallyVariadicOperator ( const DynTypedNode &DynNode,
418
- ASTMatchFinder *Finder,
419
- BoundNodesTreeBuilder *Builder,
420
- ArrayRef<DynTypedMatcher> InnerMatchers) {
425
+ static bool
426
+ optionallyVariadicOperator ( const DynTypedNode &DynNode, ASTMatchFinder *Finder,
427
+ BoundNodesTreeBuilder *Builder,
428
+ ArrayRef<DynTypedMatcher> InnerMatchers) {
421
429
if (InnerMatchers.size () != 1 )
422
430
return false ;
423
431
0 commit comments