forked from OSchip/llvm-project
[clang-tidy] rename_check.py misc-argument-comment bugprone-argument-comment
Summary: + manually convert the unit test to lit test. Reviewers: hokein Reviewed By: hokein Subscribers: mgorny, xazax.hun, cfe-commits Differential Revision: https://reviews.llvm.org/D40392 llvm-svn: 318926
This commit is contained in:
parent
adccab64f2
commit
6f67bcbb93
|
@ -18,7 +18,7 @@ using namespace clang::ast_matchers;
|
||||||
|
|
||||||
namespace clang {
|
namespace clang {
|
||||||
namespace tidy {
|
namespace tidy {
|
||||||
namespace misc {
|
namespace bugprone {
|
||||||
|
|
||||||
ArgumentCommentCheck::ArgumentCommentCheck(StringRef Name,
|
ArgumentCommentCheck::ArgumentCommentCheck(StringRef Name,
|
||||||
ClangTidyContext *Context)
|
ClangTidyContext *Context)
|
||||||
|
@ -303,6 +303,6 @@ void ArgumentCommentCheck::check(const MatchFinder::MatchResult &Result) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace misc
|
} // namespace bugprone
|
||||||
} // namespace tidy
|
} // namespace tidy
|
||||||
} // namespace clang
|
} // namespace clang
|
|
@ -15,7 +15,7 @@
|
||||||
|
|
||||||
namespace clang {
|
namespace clang {
|
||||||
namespace tidy {
|
namespace tidy {
|
||||||
namespace misc {
|
namespace bugprone {
|
||||||
|
|
||||||
/// Checks that argument comments match parameter names.
|
/// Checks that argument comments match parameter names.
|
||||||
///
|
///
|
||||||
|
@ -48,7 +48,7 @@ private:
|
||||||
llvm::ArrayRef<const Expr *> Args);
|
llvm::ArrayRef<const Expr *> Args);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace misc
|
} // namespace bugprone
|
||||||
} // namespace tidy
|
} // namespace tidy
|
||||||
} // namespace clang
|
} // namespace clang
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
#include "../ClangTidy.h"
|
#include "../ClangTidy.h"
|
||||||
#include "../ClangTidyModule.h"
|
#include "../ClangTidyModule.h"
|
||||||
#include "../ClangTidyModuleRegistry.h"
|
#include "../ClangTidyModuleRegistry.h"
|
||||||
|
#include "ArgumentCommentCheck.h"
|
||||||
#include "CopyConstructorInitCheck.h"
|
#include "CopyConstructorInitCheck.h"
|
||||||
#include "IntegerDivisionCheck.h"
|
#include "IntegerDivisionCheck.h"
|
||||||
#include "MisplacedOperatorInStrlenInAllocCheck.h"
|
#include "MisplacedOperatorInStrlenInAllocCheck.h"
|
||||||
|
@ -24,6 +25,8 @@ namespace bugprone {
|
||||||
class BugproneModule : public ClangTidyModule {
|
class BugproneModule : public ClangTidyModule {
|
||||||
public:
|
public:
|
||||||
void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {
|
void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {
|
||||||
|
CheckFactories.registerCheck<ArgumentCommentCheck>(
|
||||||
|
"bugprone-argument-comment");
|
||||||
CheckFactories.registerCheck<CopyConstructorInitCheck>(
|
CheckFactories.registerCheck<CopyConstructorInitCheck>(
|
||||||
"bugprone-copy-constructor-init");
|
"bugprone-copy-constructor-init");
|
||||||
CheckFactories.registerCheck<IntegerDivisionCheck>(
|
CheckFactories.registerCheck<IntegerDivisionCheck>(
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
set(LLVM_LINK_COMPONENTS support)
|
set(LLVM_LINK_COMPONENTS support)
|
||||||
|
|
||||||
add_clang_library(clangTidyBugproneModule
|
add_clang_library(clangTidyBugproneModule
|
||||||
|
ArgumentCommentCheck.cpp
|
||||||
BugproneTidyModule.cpp
|
BugproneTidyModule.cpp
|
||||||
CopyConstructorInitCheck.cpp
|
CopyConstructorInitCheck.cpp
|
||||||
IntegerDivisionCheck.cpp
|
IntegerDivisionCheck.cpp
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
set(LLVM_LINK_COMPONENTS support)
|
set(LLVM_LINK_COMPONENTS support)
|
||||||
|
|
||||||
add_clang_library(clangTidyMiscModule
|
add_clang_library(clangTidyMiscModule
|
||||||
ArgumentCommentCheck.cpp
|
|
||||||
AssertSideEffectCheck.cpp
|
AssertSideEffectCheck.cpp
|
||||||
ForwardingReferenceOverloadCheck.cpp
|
ForwardingReferenceOverloadCheck.cpp
|
||||||
LambdaFunctionNameCheck.cpp
|
LambdaFunctionNameCheck.cpp
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
#include "../ClangTidy.h"
|
#include "../ClangTidy.h"
|
||||||
#include "../ClangTidyModule.h"
|
#include "../ClangTidyModule.h"
|
||||||
#include "../ClangTidyModuleRegistry.h"
|
#include "../ClangTidyModuleRegistry.h"
|
||||||
#include "ArgumentCommentCheck.h"
|
|
||||||
#include "AssertSideEffectCheck.h"
|
#include "AssertSideEffectCheck.h"
|
||||||
#include "BoolPointerImplicitConversionCheck.h"
|
#include "BoolPointerImplicitConversionCheck.h"
|
||||||
#include "DanglingHandleCheck.h"
|
#include "DanglingHandleCheck.h"
|
||||||
|
@ -63,7 +62,6 @@ namespace misc {
|
||||||
class MiscModule : public ClangTidyModule {
|
class MiscModule : public ClangTidyModule {
|
||||||
public:
|
public:
|
||||||
void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {
|
void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {
|
||||||
CheckFactories.registerCheck<ArgumentCommentCheck>("misc-argument-comment");
|
|
||||||
CheckFactories.registerCheck<AssertSideEffectCheck>(
|
CheckFactories.registerCheck<AssertSideEffectCheck>(
|
||||||
"misc-assert-side-effect");
|
"misc-assert-side-effect");
|
||||||
CheckFactories.registerCheck<ForwardingReferenceOverloadCheck>(
|
CheckFactories.registerCheck<ForwardingReferenceOverloadCheck>(
|
||||||
|
|
|
@ -57,6 +57,9 @@ The improvements are...
|
||||||
Improvements to clang-tidy
|
Improvements to clang-tidy
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
|
- The 'misc-argument-comment' check was renamed to `bugprone-argument-comment
|
||||||
|
<http://clang.llvm.org/extra/clang-tidy/checks/bugprone-argument-comment.html>`_
|
||||||
|
|
||||||
- The 'misc-string-constructor' check was renamed to `bugprone-string-constructor
|
- The 'misc-string-constructor' check was renamed to `bugprone-string-constructor
|
||||||
<http://clang.llvm.org/extra/clang-tidy/checks/bugprone-string-constructor.html>`_
|
<http://clang.llvm.org/extra/clang-tidy/checks/bugprone-string-constructor.html>`_
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
.. title:: clang-tidy - misc-argument-comment
|
.. title:: clang-tidy - bugprone-argument-comment
|
||||||
|
|
||||||
misc-argument-comment
|
bugprone-argument-comment
|
||||||
=====================
|
=========================
|
||||||
|
|
||||||
Checks that argument comments match parameter names.
|
Checks that argument comments match parameter names.
|
||||||
|
|
|
@ -17,6 +17,7 @@ Clang-Tidy Checks
|
||||||
android-cloexec-open
|
android-cloexec-open
|
||||||
android-cloexec-socket
|
android-cloexec-socket
|
||||||
boost-use-to-string
|
boost-use-to-string
|
||||||
|
bugprone-argument-comment
|
||||||
bugprone-copy-constructor-init
|
bugprone-copy-constructor-init
|
||||||
bugprone-integer-division
|
bugprone-integer-division
|
||||||
bugprone-misplaced-operator-in-strlen-in-alloc
|
bugprone-misplaced-operator-in-strlen-in-alloc
|
||||||
|
@ -105,7 +106,6 @@ Clang-Tidy Checks
|
||||||
llvm-include-order
|
llvm-include-order
|
||||||
llvm-namespace-comment
|
llvm-namespace-comment
|
||||||
llvm-twine-local
|
llvm-twine-local
|
||||||
misc-argument-comment
|
|
||||||
misc-assert-side-effect
|
misc-assert-side-effect
|
||||||
misc-bool-pointer-implicit-conversion
|
misc-bool-pointer-implicit-conversion
|
||||||
misc-dangling-handle
|
misc-dangling-handle
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// RUN: %check_clang_tidy %s misc-argument-comment %t
|
// RUN: %check_clang_tidy %s bugprone-argument-comment %t
|
||||||
|
|
||||||
namespace testing {
|
namespace testing {
|
||||||
namespace internal {
|
namespace internal {
|
|
@ -1,4 +1,4 @@
|
||||||
// RUN: %check_clang_tidy %s misc-argument-comment %t -- \
|
// RUN: %check_clang_tidy %s bugprone-argument-comment %t -- \
|
||||||
// RUN: -config="{CheckOptions: [{key: StrictMode, value: 1}]}" --
|
// RUN: -config="{CheckOptions: [{key: StrictMode, value: 1}]}" --
|
||||||
|
|
||||||
void f(int _with_underscores_);
|
void f(int _with_underscores_);
|
|
@ -1,4 +1,4 @@
|
||||||
// RUN: %check_clang_tidy %s misc-argument-comment %t
|
// RUN: %check_clang_tidy %s bugprone-argument-comment %t
|
||||||
|
|
||||||
// FIXME: clang-tidy should provide a -verify mode to make writing these checks
|
// FIXME: clang-tidy should provide a -verify mode to make writing these checks
|
||||||
// easier and more accurate.
|
// easier and more accurate.
|
||||||
|
@ -14,9 +14,16 @@ void g() {
|
||||||
f(/*y=*/0, /*z=*/0);
|
f(/*y=*/0, /*z=*/0);
|
||||||
// CHECK-FIXES: {{^}} f(/*y=*/0, /*z=*/0);
|
// CHECK-FIXES: {{^}} f(/*y=*/0, /*z=*/0);
|
||||||
|
|
||||||
|
f(/*x=*/1, /*y=*/1);
|
||||||
|
|
||||||
ffff(0 /*aaaa=*/, /*bbbb*/ 0); // Unsupported formats.
|
ffff(0 /*aaaa=*/, /*bbbb*/ 0); // Unsupported formats.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct C {
|
||||||
|
C(int x, int y);
|
||||||
|
};
|
||||||
|
C c(/*x=*/0, /*y=*/0);
|
||||||
|
|
||||||
struct Closure {};
|
struct Closure {};
|
||||||
|
|
||||||
template <typename T1, typename T2>
|
template <typename T1, typename T2>
|
||||||
|
@ -45,11 +52,38 @@ void templates() {
|
||||||
|
|
||||||
#define FALSE 0
|
#define FALSE 0
|
||||||
void qqq(bool aaa);
|
void qqq(bool aaa);
|
||||||
void f() { qqq(/*bbb=*/FALSE); }
|
void f2() { qqq(/*bbb=*/FALSE); }
|
||||||
// CHECK-MESSAGES: [[@LINE-1]]:16: warning: argument name 'bbb' in comment does not match parameter name 'aaa'
|
// CHECK-MESSAGES: [[@LINE-1]]:17: warning: argument name 'bbb' in comment does not match parameter name 'aaa'
|
||||||
// CHECK-FIXES: void f() { qqq(/*bbb=*/FALSE); }
|
// CHECK-FIXES: void f2() { qqq(/*bbb=*/FALSE); }
|
||||||
|
|
||||||
void f(bool _with_underscores_);
|
void f3(bool _with_underscores_);
|
||||||
void ignores_underscores() {
|
void ignores_underscores() {
|
||||||
f(/*With_Underscores=*/false);
|
f3(/*With_Underscores=*/false);
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace ThisEditDistanceAboveThreshold {
|
||||||
|
void f4(int xxx);
|
||||||
|
void g() { f4(/*xyz=*/0); }
|
||||||
|
// CHECK-MESSAGES: [[@LINE-1]]:15: warning: argument name 'xyz' in comment does not match parameter name 'xxx'
|
||||||
|
// CHECK-FIXES: void g() { f4(/*xyz=*/0); }
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace OtherEditDistanceAboveThreshold {
|
||||||
|
void f5(int xxx, int yyy);
|
||||||
|
void g() { f5(/*Zxx=*/0, 0); }
|
||||||
|
// CHECK-MESSAGES: [[@LINE-1]]:15: warning: argument name 'Zxx' in comment does not match parameter name 'xxx'
|
||||||
|
// CHECK-FIXES: void g() { f5(/*xxx=*/0, 0); }
|
||||||
|
struct C2 {
|
||||||
|
C2(int xxx, int yyy);
|
||||||
|
};
|
||||||
|
C2 c2(/*Zxx=*/0, 0);
|
||||||
|
// CHECK-MESSAGES: [[@LINE-1]]:7: warning: argument name 'Zxx' in comment does not match parameter name 'xxx'
|
||||||
|
// CHECK-FIXES: C2 c2(/*xxx=*/0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace OtherEditDistanceBelowThreshold {
|
||||||
|
void f6(int xxx, int yyy);
|
||||||
|
void g() { f6(/*xxy=*/0, 0); }
|
||||||
|
// CHECK-MESSAGES: [[@LINE-1]]:15: warning: argument name 'xxy' in comment does not match parameter name 'xxx'
|
||||||
|
// CHECK-FIXES: void g() { f6(/*xxy=*/0, 0); }
|
||||||
}
|
}
|
|
@ -12,7 +12,6 @@ add_extra_unittest(ClangTidyTests
|
||||||
IncludeInserterTest.cpp
|
IncludeInserterTest.cpp
|
||||||
GoogleModuleTest.cpp
|
GoogleModuleTest.cpp
|
||||||
LLVMModuleTest.cpp
|
LLVMModuleTest.cpp
|
||||||
MiscModuleTest.cpp
|
|
||||||
NamespaceAliaserTest.cpp
|
NamespaceAliaserTest.cpp
|
||||||
ObjCModuleTest.cpp
|
ObjCModuleTest.cpp
|
||||||
OverlappingReplacementsTest.cpp
|
OverlappingReplacementsTest.cpp
|
||||||
|
@ -29,7 +28,6 @@ target_link_libraries(ClangTidyTests
|
||||||
clangTidyAndroidModule
|
clangTidyAndroidModule
|
||||||
clangTidyGoogleModule
|
clangTidyGoogleModule
|
||||||
clangTidyLLVMModule
|
clangTidyLLVMModule
|
||||||
clangTidyMiscModule
|
|
||||||
clangTidyObjCModule
|
clangTidyObjCModule
|
||||||
clangTidyReadabilityModule
|
clangTidyReadabilityModule
|
||||||
clangTidyUtils
|
clangTidyUtils
|
||||||
|
|
|
@ -1,39 +0,0 @@
|
||||||
#include "ClangTidyTest.h"
|
|
||||||
#include "misc/ArgumentCommentCheck.h"
|
|
||||||
#include "gtest/gtest.h"
|
|
||||||
|
|
||||||
namespace clang {
|
|
||||||
namespace tidy {
|
|
||||||
namespace test {
|
|
||||||
|
|
||||||
using misc::ArgumentCommentCheck;
|
|
||||||
|
|
||||||
TEST(ArgumentCommentCheckTest, CorrectComments) {
|
|
||||||
EXPECT_NO_CHANGES(ArgumentCommentCheck,
|
|
||||||
"void f(int x, int y); void g() { f(/*x=*/0, /*y=*/0); }");
|
|
||||||
EXPECT_NO_CHANGES(ArgumentCommentCheck,
|
|
||||||
"struct C { C(int x, int y); }; C c(/*x=*/0, /*y=*/0);");
|
|
||||||
}
|
|
||||||
|
|
||||||
TEST(ArgumentCommentCheckTest, ThisEditDistanceAboveThreshold) {
|
|
||||||
EXPECT_NO_CHANGES(ArgumentCommentCheck,
|
|
||||||
"void f(int xxx); void g() { f(/*xyz=*/0); }");
|
|
||||||
}
|
|
||||||
|
|
||||||
TEST(ArgumentCommentCheckTest, OtherEditDistanceAboveThreshold) {
|
|
||||||
EXPECT_EQ("void f(int xxx, int yyy); void g() { f(/*xxx=*/0, 0); }",
|
|
||||||
runCheckOnCode<ArgumentCommentCheck>(
|
|
||||||
"void f(int xxx, int yyy); void g() { f(/*Zxx=*/0, 0); }"));
|
|
||||||
EXPECT_EQ("struct C { C(int xxx, int yyy); }; C c(/*xxx=*/0, 0);",
|
|
||||||
runCheckOnCode<ArgumentCommentCheck>(
|
|
||||||
"struct C { C(int xxx, int yyy); }; C c(/*Zxx=*/0, 0);"));
|
|
||||||
}
|
|
||||||
|
|
||||||
TEST(ArgumentCommentCheckTest, OtherEditDistanceBelowThreshold) {
|
|
||||||
EXPECT_NO_CHANGES(ArgumentCommentCheck,
|
|
||||||
"void f(int xxx, int yyy); void g() { f(/*xxy=*/0, 0); }");
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace test
|
|
||||||
} // namespace tidy
|
|
||||||
} // namespace clang
|
|
Loading…
Reference in New Issue