} // anonymous namespace
+ImplicitBoolCastCheck::ImplicitBoolCastCheck(StringRef Name,
+ ClangTidyContext *Context)
+ : ClangTidyCheck(Name, Context),
+ AllowConditionalIntegerCasts(
+ Options.get("AllowConditionalIntegerCasts", false)),
+ AllowConditionalPointerCasts(
+ Options.get("AllowConditionalPointerCasts", false)) {}
+
+void ImplicitBoolCastCheck::storeOptions(
+ ClangTidyOptions::OptionMap &Opts) {
+ Options.store(Opts, "AllowConditionalIntegerCasts",
+ AllowConditionalIntegerCasts);
+ Options.store(Opts, "AllowConditionalPointerCasts",
+ AllowConditionalPointerCasts);
+}
+
void ImplicitBoolCastCheck::registerMatchers(MatchFinder *Finder) {
// This check doesn't make much sense if we run it on language without
// built-in bool support.
/// http://clang.llvm.org/extra/clang-tidy/checks/readability-implicit-bool-cast.html
class ImplicitBoolCastCheck : public ClangTidyCheck {
public:
- ImplicitBoolCastCheck(StringRef Name, ClangTidyContext *Context)
- : ClangTidyCheck(Name, Context),
- AllowConditionalIntegerCasts(
- Options.get("AllowConditionalIntegerCasts", 0) != 0),
- AllowConditionalPointerCasts(
- Options.get("AllowConditionalPointerCasts", 0) != 0) {}
+ ImplicitBoolCastCheck(StringRef Name, ClangTidyContext *Context);
+ void storeOptions(ClangTidyOptions::OptionMap &Opts) override;
+
void registerMatchers(ast_matchers::MatchFinder *Finder) override;
void check(const ast_matchers::MatchFinder::MatchResult &Result) override;