Skip to content

Commit 4e8035f

Browse files
committed
Use fold expression over comma
1 parent c7a96f2 commit 4e8035f

File tree

1 file changed

+3
-14
lines changed
  • clang/include/clang/StaticAnalyzer/Core

1 file changed

+3
-14
lines changed

clang/include/clang/StaticAnalyzer/Core/Checker.h

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -504,7 +504,7 @@ class CheckerFrontend {
504504
assert(!Name && "Checker part registered twice!");
505505
Name = Mgr.getCurrentCheckerName();
506506
}
507-
bool isEnabled() const { return static_cast<bool>(Name); }
507+
bool isEnabled() const { return Name.has_value(); }
508508
CheckerNameRef getName() const { return *Name; }
509509
};
510510

@@ -529,17 +529,6 @@ class CheckerBase : public CheckerFrontend, public CheckerBackend {
529529
StringRef getTagDescription() const override;
530530
};
531531

532-
// Template magic to implement the static method `_register()` which registers
533-
// the `Checker` or `CheckerFamily` for all the implemented callbacks.
534-
template <typename CHECKER, typename CHECK1, typename... CHECKs>
535-
static void registerImpl(CHECKER *Chk, CheckerManager &Mgr) {
536-
CHECK1::_register(Chk, Mgr);
537-
registerImpl<CHECKER, CHECKs...>(Chk, Mgr);
538-
}
539-
540-
template <typename CHECKER>
541-
static void registerImpl(CHECKER *Chk, CheckerManager &Mgr) {}
542-
543532
/// Simple checker classes that implement one frontend (i.e. checker name)
544533
/// should derive from this template and specify all the implemented callbacks
545534
/// (i.e. classes like `check::PreStmt` or `eval::Call`) as template arguments
@@ -549,7 +538,7 @@ class Checker : public CheckerBase, public CHECKs... {
549538
public:
550539
template <typename CHECKER>
551540
static void _register(CHECKER *Chk, CheckerManager &Mgr) {
552-
registerImpl<CHECKER, CHECKs...>(Chk, Mgr);
541+
(CHECKs::_register(Chk, Mgr), ...);
553542
}
554543
};
555544

@@ -564,7 +553,7 @@ class CheckerFamily : public CheckerBackend, public CHECKs... {
564553
public:
565554
template <typename CHECKER>
566555
static void _register(CHECKER *Chk, CheckerManager &Mgr) {
567-
registerImpl<CHECKER, CHECKs...>(Chk, Mgr);
556+
(CHECKs::_register(Chk, Mgr), ...);
568557
}
569558
};
570559

0 commit comments

Comments
 (0)