From abcd64ccbf3357598f792f97f039d1685f42d6e7 Mon Sep 17 00:00:00 2001 From: Haojian Wu Date: Thu, 26 Oct 2017 08:23:20 +0000 Subject: [clang-tidy ObjC] [1/3] New module `objc` for Objective-C checks Summary: This is part 1 of 3 of a series of changes to improve Objective-C linting in clang-tidy. This introduces a new clang-tidy module, `objc`, specifically for Objective-C / Objective-C++ checks. The module is currently empty; D39142 adds the first check. Test Plan: `ninja check-clang-tools` Patch by Ben Hamilton! Reviewers: hokein, alexfh Reviewed By: hokein Subscribers: Wizard, mgorny Differential Revision: https://reviews.llvm.org/D39188 llvm-svn: 316643 --- .../clang-tidy/objc/ObjCTidyModule.cpp | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp (limited to 'clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp') diff --git a/clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp b/clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp new file mode 100644 index 0000000..46ff21f --- /dev/null +++ b/clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp @@ -0,0 +1,39 @@ +//===--- ObjCTidyModule.cpp - clang-tidy --------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include "../ClangTidy.h" +#include "../ClangTidyModule.h" +#include "../ClangTidyModuleRegistry.h" + +using namespace clang::ast_matchers; + +namespace clang { +namespace tidy { +namespace objc { + +class ObjCModule : public ClangTidyModule { +public: + void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override { + // TODO(D39142): Add checks here. + } +}; + +// Register the ObjCTidyModule using this statically initialized variable. +static ClangTidyModuleRegistry::Add X( + "objc-module", + "Adds Objective-C lint checks."); + +} // namespace objc + +// This anchor is used to force the linker to link in the generated object file +// and thus register the ObjCModule. +volatile int ObjCModuleAnchorSource = 0; + +} // namespace tidy +} // namespace clang -- cgit v1.1