smhc updated this revision to Diff 305395.
smhc added a comment.
Re-based to llvm master and re-diffed.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D90282/new/
https://reviews.llvm.org/D90282
Files:
clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
clang-tools-extra/docs/ReleaseNotes.rst
clang-tools-extra/docs/clang-tidy/checks/readability-identifier-naming.rst
clang-tools-extra/test/clang-tidy/checkers/readability-identifier-naming-short-names.cpp
Index: clang-tools-extra/test/clang-tidy/checkers/readability-identifier-naming-short-names.cpp
===================================================================
--- /dev/null
+++ clang-tools-extra/test/clang-tidy/checkers/readability-identifier-naming-short-names.cpp
@@ -0,0 +1,26 @@
+// RUN: %check_clang_tidy %s readability-identifier-naming %t -- \
+// RUN: -config='{CheckOptions: [ \
+// RUN: {key: readability-identifier-naming.ParameterCase, value: CamelCase}, \
+// RUN: {key: readability-identifier-naming.ClassCase, value: CamelCase}, \
+// RUN: {key: readability-identifier-naming.ParameterShortSizeThreshold, value: 2}, \
+// RUN: {key: readability-identifier-naming.ClassShortSizeThreshold, value: 3} \
+// RUN: ]}'
+
+int testFunc(int a, char **b);
+int testFunc(int ab, char **ba);
+int testFunc(int abc, char **cba);
+// CHECK-MESSAGES: :[[@LINE-1]]:18: warning: invalid case style for parameter 'abc'
+// CHECK-MESSAGES: :[[@LINE-2]]:30: warning: invalid case style for parameter 'cba'
+// CHECK-FIXES: {{^}}int testFunc(int Abc, char **Cba);{{$}}
+int testFunc(int Abc, char **Cba);
+
+class fo {
+};
+
+class foo {
+};
+
+class fooo {
+ // CHECK-MESSAGES: :[[@LINE-1]]:7: warning: invalid case style for class 'fooo'
+ // CHECK-FIXES: {{^}}class Fooo {{{$}}
+};
Index: clang-tools-extra/docs/clang-tidy/checks/readability-identifier-naming.rst
===================================================================
--- clang-tools-extra/docs/clang-tidy/checks/readability-identifier-naming.rst
+++ clang-tools-extra/docs/clang-tidy/checks/readability-identifier-naming.rst
@@ -20,7 +20,8 @@
- ``aNy_CasE``.
It also supports a fixed prefix and suffix that will be prepended or appended
-to the identifiers, regardless of the casing.
+to the identifiers, regardless of the casing. A threshold for the length of
+the identifer may be specified to suppress the checks for short names.
Many configuration options are available, in order to be able to create
different rules for different kinds of identifiers. In general, the rules are
@@ -35,60 +36,60 @@
The following options are describe below:
- - :option:`AbstractClassCase`, :option:`AbstractClassPrefix`, :option:`AbstractClassSuffix`
+ - :option:`AbstractClassCase`, :option:`AbstractClassPrefix`, :option:`AbstractClassSuffix`, :option:`AbstractClassShortSizeThreshold`
- :option:`AggressiveDependentMemberLookup`
- - :option:`ClassCase`, :option:`ClassPrefix`, :option:`ClassSuffix`
- - :option:`ClassConstantCase`, :option:`ClassConstantPrefix`, :option:`ClassConstantSuffix`
- - :option:`ClassMemberCase`, :option:`ClassMemberPrefix`, :option:`ClassMemberSuffix`
- - :option:`ClassMethodCase`, :option:`ClassMethodPrefix`, :option:`ClassMethodSuffix`
- - :option:`ConstantCase`, :option:`ConstantPrefix`, :option:`ConstantSuffix`
- - :option:`ConstantMemberCase`, :option:`ConstantMemberPrefix`, :option:`ConstantMemberSuffix`
- - :option:`ConstantParameterCase`, :option:`ConstantParameterPrefix`, :option:`ConstantParameterSuffix`
- - :option:`ConstantPointerParameterCase`, :option:`ConstantPointerParameterPrefix`, :option:`ConstantPointerParameterSuffix`
- - :option:`ConstexprFunctionCase`, :option:`ConstexprFunctionPrefix`, :option:`ConstexprFunctionSuffix`
- - :option:`ConstexprMethodCase`, :option:`ConstexprMethodPrefix`, :option:`ConstexprMethodSuffix`
- - :option:`ConstexprVariableCase`, :option:`ConstexprVariablePrefix`, :option:`ConstexprVariableSuffix`
- - :option:`EnumCase`, :option:`EnumPrefix`, :option:`EnumSuffix`
- - :option:`EnumConstantCase`, :option:`EnumConstantPrefix`, :option:`EnumConstantSuffix`
- - :option:`FunctionCase`, :option:`FunctionPrefix`, :option:`FunctionSuffix`
+ - :option:`ClassCase`, :option:`ClassPrefix`, :option:`ClassSuffix`, :option:`ClassShortSizeThreshold`
+ - :option:`ClassConstantCase`, :option:`ClassConstantPrefix`, :option:`ClassConstantSuffix`, :option:`ClassConstantShortSizeThreshold`
+ - :option:`ClassMemberCase`, :option:`ClassMemberPrefix`, :option:`ClassMemberSuffix`, :option:`ClassMemberShortSizeThreshold`
+ - :option:`ClassMethodCase`, :option:`ClassMethodPrefix`, :option:`ClassMethodSuffix`, :option:`ClassMethodShortSizeThreshold`
+ - :option:`ConstantCase`, :option:`ConstantPrefix`, :option:`ConstantSuffix`, :option:`ConstantShortSizeThreshold`
+ - :option:`ConstantMemberCase`, :option:`ConstantMemberPrefix`, :option:`ConstantMemberSuffix`, :option:`ConstantMemberShortSizeThreshold`
+ - :option:`ConstantParameterCase`, :option:`ConstantParameterPrefix`, :option:`ConstantParameterSuffix`, :option:`ConstantParameterShortSizeThreshold`
+ - :option:`ConstantPointerParameterCase`, :option:`ConstantPointerParameterPrefix`, :option:`ConstantPointerParameterSuffix`, :option:`ConstantPointerParameterShortSizeThreshold`
+ - :option:`ConstexprFunctionCase`, :option:`ConstexprFunctionPrefix`, :option:`ConstexprFunctionSuffix`, :option:`ConstexprFunctionShortSizeThreshold`
+ - :option:`ConstexprMethodCase`, :option:`ConstexprMethodPrefix`, :option:`ConstexprMethodSuffix`, :option:`ConstexprMethodShortSizeThreshold`
+ - :option:`ConstexprVariableCase`, :option:`ConstexprVariablePrefix`, :option:`ConstexprVariableSuffix`, :option:`ConstexprVariableShortSizeThreshold`
+ - :option:`EnumCase`, :option:`EnumPrefix`, :option:`EnumSuffix`, :option:`EnumShortSizeThreshold`
+ - :option:`EnumConstantCase`, :option:`EnumConstantPrefix`, :option:`EnumConstantSuffix`, :option:`EnumConstantShortSizeThreshold`
+ - :option:`FunctionCase`, :option:`FunctionPrefix`, :option:`FunctionSuffix`, :option:`FunctionShortSizeThreshold`
- :option:`GetConfigPerFile`
- - :option:`GlobalConstantCase`, :option:`GlobalConstantPrefix`, :option:`GlobalConstantSuffix`
- - :option:`GlobalConstantPointerCase`, :option:`GlobalConstantPointerPrefix`, :option:`GlobalConstantPointerSuffix`
- - :option:`GlobalFunctionCase`, :option:`GlobalFunctionPrefix`, :option:`GlobalFunctionSuffix`
- - :option:`GlobalPointerCase`, :option:`GlobalPointerPrefix`, :option:`GlobalPointerSuffix`
- - :option:`GlobalVariableCase`, :option:`GlobalVariablePrefix`, :option:`GlobalVariableSuffix`
+ - :option:`GlobalConstantCase`, :option:`GlobalConstantPrefix`, :option:`GlobalConstantSuffix`, :option:`GlobalConstantShortSizeThreshold`
+ - :option:`GlobalConstantPointerCase`, :option:`GlobalConstantPointerPrefix`, :option:`GlobalConstantPointerSuffix`, :option:`GlobalConstantPointerShortSizeThreshold`
+ - :option:`GlobalFunctionCase`, :option:`GlobalFunctionPrefix`, :option:`GlobalFunctionSuffix`, :option:`GlobalFunctionShortSizeThreshold`
+ - :option:`GlobalPointerCase`, :option:`GlobalPointerPrefix`, :option:`GlobalPointerSuffix`, :option:`GlobalPointerShortSizeThreshold`
+ - :option:`GlobalVariableCase`, :option:`GlobalVariablePrefix`, :option:`GlobalVariableSuffix`, :option:`GlobalVariableShortSizeThreshold`
- :option:`IgnoreMainLikeFunctions`
- - :option:`InlineNamespaceCase`, :option:`InlineNamespacePrefix`, :option:`InlineNamespaceSuffix`
- - :option:`LocalConstantCase`, :option:`LocalConstantPrefix`, :option:`LocalConstantSuffix`
- - :option:`LocalConstantPointerCase`, :option:`LocalConstantPointerPrefix`, :option:`LocalConstantPointerSuffix`
- - :option:`LocalPointerCase`, :option:`LocalPointerPrefix`, :option:`LocalPointerSuffix`
- - :option:`LocalVariableCase`, :option:`LocalVariablePrefix`, :option:`LocalVariableSuffix`
- - :option:`MacroDefinitionCase`, :option:`MacroDefinitionPrefix`, :option:`MacroDefinitionSuffix`
- - :option:`MemberCase`, :option:`MemberPrefix`, :option:`MemberSuffix`
- - :option:`MethodCase`, :option:`MethodPrefix`, :option:`MethodSuffix`
- - :option:`NamespaceCase`, :option:`NamespacePrefix`, :option:`NamespaceSuffix`
- - :option:`ParameterCase`, :option:`ParameterPrefix`, :option:`ParameterSuffix`
- - :option:`ParameterPackCase`, :option:`ParameterPackPrefix`, :option:`ParameterPackSuffix`
- - :option:`PointerParameterCase`, :option:`PointerParameterPrefix`, :option:`PointerParameterSuffix`
- - :option:`PrivateMemberCase`, :option:`PrivateMemberPrefix`, :option:`PrivateMemberSuffix`
- - :option:`PrivateMethodCase`, :option:`PrivateMethodPrefix`, :option:`PrivateMethodSuffix`
- - :option:`ProtectedMemberCase`, :option:`ProtectedMemberPrefix`, :option:`ProtectedMemberSuffix`
- - :option:`ProtectedMethodCase`, :option:`ProtectedMethodPrefix`, :option:`ProtectedMethodSuffix`
- - :option:`PublicMemberCase`, :option:`PublicMemberPrefix`, :option:`PublicMemberSuffix`
- - :option:`PublicMethodCase`, :option:`PublicMethodPrefix`, :option:`PublicMethodSuffix`
- - :option:`ScopedEnumConstantCase`, :option:`ScopedEnumConstantPrefix`, :option:`ScopedEnumConstantSuffix`
- - :option:`StaticConstantCase`, :option:`StaticConstantPrefix`, :option:`StaticConstantSuffix`
- - :option:`StaticVariableCase`, :option:`StaticVariablePrefix`, :option:`StaticVariableSuffix`
- - :option:`StructCase`, :option:`StructPrefix`, :option:`StructSuffix`
- - :option:`TemplateParameterCase`, :option:`TemplateParameterPrefix`, :option:`TemplateParameterSuffix`
- - :option:`TemplateTemplateParameterCase`, :option:`TemplateTemplateParameterPrefix`, :option:`TemplateTemplateParameterSuffix`
- - :option:`TypeAliasCase`, :option:`TypeAliasPrefix`, :option:`TypeAliasSuffix`
- - :option:`TypedefCase`, :option:`TypedefPrefix`, :option:`TypedefSuffix`
- - :option:`TypeTemplateParameterCase`, :option:`TypeTemplateParameterPrefix`, :option:`TypeTemplateParameterSuffix`
- - :option:`UnionCase`, :option:`UnionPrefix`, :option:`UnionSuffix`
- - :option:`ValueTemplateParameterCase`, :option:`ValueTemplateParameterPrefix`, :option:`ValueTemplateParameterSuffix`
- - :option:`VariableCase`, :option:`VariablePrefix`, :option:`VariableSuffix`
- - :option:`VirtualMethodCase`, :option:`VirtualMethodPrefix`, :option:`VirtualMethodSuffix`
+ - :option:`InlineNamespaceCase`, :option:`InlineNamespacePrefix`, :option:`InlineNamespaceSuffix`, :option:`InlineNamespaceShortSizeThreshold`
+ - :option:`LocalConstantCase`, :option:`LocalConstantPrefix`, :option:`LocalConstantSuffix`, :option:`LocalConstantShortSizeThreshold`
+ - :option:`LocalConstantPointerCase`, :option:`LocalConstantPointerPrefix`, :option:`LocalConstantPointerSuffix`, :option:`LocalConstantPointerShortSizeThreshold`
+ - :option:`LocalPointerCase`, :option:`LocalPointerPrefix`, :option:`LocalPointerSuffix`, :option:`LocalPointerShortSizeThreshold`
+ - :option:`LocalVariableCase`, :option:`LocalVariablePrefix`, :option:`LocalVariableSuffix`, :option:`LocalVariableShortSizeThreshold`
+ - :option:`MacroDefinitionCase`, :option:`MacroDefinitionPrefix`, :option:`MacroDefinitionSuffix`, :option:`MacroDefinitionShortSizeThreshold`
+ - :option:`MemberCase`, :option:`MemberPrefix`, :option:`MemberSuffix`, :option:`MemberShortSizeThreshold`
+ - :option:`MethodCase`, :option:`MethodPrefix`, :option:`MethodSuffix`, :option:`MethodShortSizeThreshold`
+ - :option:`NamespaceCase`, :option:`NamespacePrefix`, :option:`NamespaceSuffix`, :option:`NamespaceShortSizeThreshold`
+ - :option:`ParameterCase`, :option:`ParameterPrefix`, :option:`ParameterSuffix`, :option:`ParameterShortSizeThreshold`
+ - :option:`ParameterPackCase`, :option:`ParameterPackPrefix`, :option:`ParameterPackSuffix`, :option:`ParameterPackShortSizeThreshold`
+ - :option:`PointerParameterCase`, :option:`PointerParameterPrefix`, :option:`PointerParameterSuffix`, :option:`PointerParameterShortSizeThreshold`
+ - :option:`PrivateMemberCase`, :option:`PrivateMemberPrefix`, :option:`PrivateMemberSuffix`, :option:`PrivateMemberShortSizeThreshold`
+ - :option:`PrivateMethodCase`, :option:`PrivateMethodPrefix`, :option:`PrivateMethodSuffix`, :option:`PrivateMethodShortSizeThreshold`
+ - :option:`ProtectedMemberCase`, :option:`ProtectedMemberPrefix`, :option:`ProtectedMemberSuffix`, :option:`ProtectedMemberShortSizeThreshold`
+ - :option:`ProtectedMethodCase`, :option:`ProtectedMethodPrefix`, :option:`ProtectedMethodSuffix`, :option:`ProtectedMethodShortSizeThreshold`
+ - :option:`PublicMemberCase`, :option:`PublicMemberPrefix`, :option:`PublicMemberSuffix`, :option:`PublicMemberShortSizeThreshold`
+ - :option:`PublicMethodCase`, :option:`PublicMethodPrefix`, :option:`PublicMethodSuffix`, :option:`PublicMethodShortSizeThreshold`
+ - :option:`ScopedEnumConstantCase`, :option:`ScopedEnumConstantPrefix`, :option:`ScopedEnumConstantSuffix`, :option:`ScopedEnumConstantShortSizeThreshold`
+ - :option:`StaticConstantCase`, :option:`StaticConstantPrefix`, :option:`StaticConstantSuffix`, :option:`StaticConstantShortSizeThreshold`
+ - :option:`StaticVariableCase`, :option:`StaticVariablePrefix`, :option:`StaticVariableSuffix`, :option:`StaticVariableShortSizeThreshold`
+ - :option:`StructCase`, :option:`StructPrefix`, :option:`StructSuffix`, :option:`StructShortSizeThreshold`
+ - :option:`TemplateParameterCase`, :option:`TemplateParameterPrefix`, :option:`TemplateParameterSuffix`, :option:`TemplateParameterShortSizeThreshold`
+ - :option:`TemplateTemplateParameterCase`, :option:`TemplateTemplateParameterPrefix`, :option:`TemplateTemplateParameterSuffix`, :option:`TemplateTemplateParameterShortSizeThreshold`
+ - :option:`TypeAliasCase`, :option:`TypeAliasPrefix`, :option:`TypeAliasSuffix`, :option:`TypeAliasShortSizeThreshold`
+ - :option:`TypedefCase`, :option:`TypedefPrefix`, :option:`TypedefSuffix`, :option:`TypedefShortSizeThreshold`
+ - :option:`TypeTemplateParameterCase`, :option:`TypeTemplateParameterPrefix`, :option:`TypeTemplateParameterSuffix`, :option:`TypeTemplateParameterShortSizeThreshold`
+ - :option:`UnionCase`, :option:`UnionPrefix`, :option:`UnionSuffix`, :option:`UnionShortSizeThreshold`
+ - :option:`ValueTemplateParameterCase`, :option:`ValueTemplateParameterPrefix`, :option:`ValueTemplateParameterSuffix`, :option:`ValueTemplateParameterShortSizeThreshold`
+ - :option:`VariableCase`, :option:`VariablePrefix`, :option:`VariableSuffix`, :option:`VariableShortSizeThreshold`
+ - :option:`VirtualMethodCase`, :option:`VirtualMethodPrefix`, :option:`VirtualMethodSuffix`, :option:`VirtualMethodShortSizeThreshold`
.. option:: AbstractClassCase
@@ -100,6 +101,11 @@
When defined, the check will ensure abstract class names will add the
prefixed with the given value (regardless of casing).
+.. option:: AbstractClassShortSizeThreshold
+
+ Identifier naming checks won't be enforced for abstract class names having
+ a length less than or equal to this setting.
+
.. option:: AbstractClassSuffix
When defined, the check will ensure abstract class names will add the
@@ -199,6 +205,11 @@
When defined, the check will ensure class names will add the
prefixed with the given value (regardless of casing).
+.. option:: ClassShortSizeThreshold
+
+ Identifier naming checks won't be enforced for class names having a length
+ less than or equal to this setting.
+
.. option:: ClassSuffix
When defined, the check will ensure class names will add the
@@ -242,6 +253,11 @@
When defined, the check will ensure class constant names will add the
prefixed with the given value (regardless of casing).
+.. option:: ClassConstantShortSizeThreshold
+
+ Identifier naming checks won't be enforced for class constant names having
+ a length less than or equal to this setting.
+
.. option:: ClassConstantSuffix
When defined, the check will ensure class constant names will add the
@@ -283,6 +299,11 @@
When defined, the check will ensure class member names will add the
prefixed with the given value (regardless of casing).
+.. option:: ClassMemberShortSizeThreshold
+
+ Identifier naming checks won't be enforced for class member names having a
+ length less than or equal to this setting.
+
.. option:: ClassMemberSuffix
When defined, the check will ensure class member names will add the
@@ -324,6 +345,11 @@
When defined, the check will ensure class method names will add the
prefixed with the given value (regardless of casing).
+.. option:: ClassMethodShortSizeThreshold
+
+ Identifier naming checks won't be enforced for class method names having a
+ length less than or equal to this setting.
+
.. option:: ClassMethodSuffix
When defined, the check will ensure class method names will add the
@@ -365,6 +391,11 @@
When defined, the check will ensure constant names will add the
prefixed with the given value (regardless of casing).
+.. option:: ConstantShortSizeThreshold
+
+ Identifier naming checks won't be enforced for constant names having a
+ length less than or equal to this setting.
+
.. option:: ConstantSuffix
When defined, the check will ensure constant names will add the
@@ -400,6 +431,11 @@
When defined, the check will ensure constant member names will add the
prefixed with the given value (regardless of casing).
+.. option:: ConstantMemberShortSizeThreshold
+
+ Identifier naming checks won't be enforced for constant member names having
+ a length less than or equal to this setting.
+
.. option:: ConstantMemberSuffix
When defined, the check will ensure constant member names will add the
@@ -439,6 +475,11 @@
When defined, the check will ensure constant parameter names will add the
prefixed with the given value (regardless of casing).
+.. option:: ConstantParameterShortSizeThreshold
+
+ Identifier naming checks won't be enforced for constant parameter names
+ having a length less than or equal to this setting.
+
.. option:: ConstantParameterSuffix
When defined, the check will ensure constant parameter names will add the
@@ -474,6 +515,11 @@
When defined, the check will ensure constant pointer parameter names will add the
prefixed with the given value (regardless of casing).
+.. option:: ConstantPointerParameterShortSizeThreshold
+
+ Identifier naming checks won't be enforced for constant pointer parameter
+ names having a length less than or equal to this setting.
+
.. option:: ConstantPointerParameterSuffix
When defined, the check will ensure constant pointer parameter names will add the
@@ -509,6 +555,11 @@
When defined, the check will ensure constexpr function names will add the
prefixed with the given value (regardless of casing).
+.. option:: ConstexprFunctionShortSizeThreshold
+
+ Identifier naming checks won't be enforced for constexpr function names
+ having a length less than or equal to this setting.
+
.. option:: ConstexprFunctionSuffix
When defined, the check will ensure constexpr function names will add the
@@ -544,6 +595,11 @@
When defined, the check will ensure constexpr method names will add the
prefixed with the given value (regardless of casing).
+.. option:: ConstexprMethodShortSizeThreshold
+
+ Identifier naming checks won't be enforced for constexpr method names
+ having a length less than or equal to this setting.
+
.. option:: ConstexprMethodSuffix
When defined, the check will ensure constexpr method names will add the
@@ -585,6 +641,11 @@
When defined, the check will ensure constexpr variable names will add the
prefixed with the given value (regardless of casing).
+.. option:: ConstexprVariableShortSizeThreshold
+
+ Identifier naming checks won't be enforced for constexpr variable names
+ having a length less than or equal to this setting.
+
.. option:: ConstexprVariableSuffix
When defined, the check will ensure constexpr variable names will add the
@@ -620,6 +681,11 @@
When defined, the check will ensure enumeration names will add the
prefixed with the given value (regardless of casing).
+.. option:: EnumConstantShortSizeThreshold
+
+ Identifier naming checks won't be enforced for enumeration names having a
+ length less than or equal to this setting.
+
.. option:: EnumSuffix
When defined, the check will ensure enumeration names will add the
@@ -655,6 +721,11 @@
When defined, the check will ensure enumeration constant names will add the
prefixed with the given value (regardless of casing).
+.. option:: EnumConstantShortSizeThreshold
+
+ Identifier naming checks won't be enforced for enumeration constant names
+ having a length less than or equal to this setting.
+
.. option:: EnumConstantSuffix
When defined, the check will ensure enumeration constant names will add the
@@ -690,6 +761,11 @@
When defined, the check will ensure function names will add the
prefixed with the given value (regardless of casing).
+.. option:: FunctionShortSizeThreshold
+
+ Identifier naming checks won't be enforced for function names having a
+ length less than or equal to this setting.
+
.. option:: FunctionSuffix
When defined, the check will ensure function names will add the
@@ -732,6 +808,11 @@
When defined, the check will ensure global constant names will add the
prefixed with the given value (regardless of casing).
+.. option:: GlobalConstantShortSizeThreshold
+
+ Identifier naming checks won't be enforced for global constant names having
+ a length less than or equal to this setting.
+
.. option:: GlobalConstantSuffix
When defined, the check will ensure global constant names will add the
@@ -767,6 +848,11 @@
When defined, the check will ensure global constant pointer names will add the
prefixed with the given value (regardless of casing).
+.. option:: GlobalConstantPointerShortSizeThreshold
+
+ Identifier naming checks won't be enforced for global constant pointer
+ names having a length less than or equal to this setting.
+
.. option:: GlobalConstantPointerSuffix
When defined, the check will ensure global constant pointer names will add the
@@ -802,6 +888,11 @@
When defined, the check will ensure global function names will add the
prefixed with the given value (regardless of casing).
+.. option:: GlobalFunctionShortSizeThreshold
+
+ Identifier naming checks won't be enforced for global function names having
+ a length less than or equal to this setting.
+
.. option:: GlobalFunctionSuffix
When defined, the check will ensure global function names will add the
@@ -837,6 +928,11 @@
When defined, the check will ensure global pointer names will add the
prefixed with the given value (regardless of casing).
+.. option:: GlobalPointerShortSizeThreshold
+
+ Identifier naming checks won't be enforced for global pointer names having
+ a length less than or equal to this setting.
+
.. option:: GlobalPointerSuffix
When defined, the check will ensure global pointer names will add the
@@ -872,6 +968,11 @@
When defined, the check will ensure global variable names will add the
prefixed with the given value (regardless of casing).
+.. option:: GlobalVariableShortSizeThreshold
+
+ Identifier naming checks won't be enforced for global variable names having
+ a length less than or equal to this setting.
+
.. option:: GlobalVariableSuffix
When defined, the check will ensure global variable names will add the
@@ -913,6 +1014,11 @@
When defined, the check will ensure inline namespaces names will add the
prefixed with the given value (regardless of casing).
+.. option:: InlineNamespaceShortSizeThreshold
+
+ Identifier naming checks won't be enforced for inline namespaces names
+ having a length less than or equal to this setting.
+
.. option:: InlineNamespaceSuffix
When defined, the check will ensure inline namespaces names will add the
@@ -956,6 +1062,11 @@
When defined, the check will ensure local constant names will add the
prefixed with the given value (regardless of casing).
+.. option:: LocalConstantShortSizeThreshold
+
+ Identifier naming checks won't be enforced for local constant names having
+ a length less than or equal to this setting.
+
.. option:: LocalConstantSuffix
When defined, the check will ensure local constant names will add the
@@ -991,6 +1102,11 @@
When defined, the check will ensure local constant pointer names will add the
prefixed with the given value (regardless of casing).
+.. option:: LocalConstantPointerShortSizeThreshold
+
+ Identifier naming checks won't be enforced for local constant pointer names
+ having a length less than or equal to this setting.
+
.. option:: LocalConstantPointerSuffix
When defined, the check will ensure local constant pointer names will add the
@@ -1026,6 +1142,11 @@
When defined, the check will ensure local pointer names will add the
prefixed with the given value (regardless of casing).
+.. option:: LocalPointerShortSizeThreshold
+
+ Identifier naming checks won't be enforced for local pointer names having a
+ length less than or equal to this setting.
+
.. option:: LocalPointerSuffix
When defined, the check will ensure local pointer names will add the
@@ -1061,6 +1182,11 @@
When defined, the check will ensure local variable names will add the
prefixed with the given value (regardless of casing).
+.. option:: LocalVariableShortSizeThreshold
+
+ Identifier naming checks won't be enforced for local variable names having
+ a length less than or equal to this setting.
+
.. option:: LocalVariableSuffix
When defined, the check will ensure local variable names will add the
@@ -1096,6 +1222,11 @@
When defined, the check will ensure macro definitions will add the
prefixed with the given value (regardless of casing).
+.. option:: MacroDefinitionShortSizeThreshold
+
+ Identifier naming checks won't be enforced for macro definitions having a
+ length less than or equal to this setting.
+
.. option:: MacroDefinitionSuffix
When defined, the check will ensure macro definitions will add the
@@ -1134,6 +1265,11 @@
When defined, the check will ensure member names will add the
prefixed with the given value (regardless of casing).
+.. option:: MemberShortSizeThreshold
+
+ Identifier naming checks won't be enforced for member names having a length
+ less than or equal to this setting.
+
.. option:: MemberSuffix
When defined, the check will ensure member names will add the
@@ -1173,6 +1309,11 @@
When defined, the check will ensure method names will add the
prefixed with the given value (regardless of casing).
+.. option:: MethodShortSizeThreshold
+
+ Identifier naming checks won't be enforced for method names having a length
+ less than or equal to this setting.
+
.. option:: MethodSuffix
When defined, the check will ensure method names will add the
@@ -1212,6 +1353,11 @@
When defined, the check will ensure namespace names will add the
prefixed with the given value (regardless of casing).
+.. option:: NamespaceShortSizeThreshold
+
+ Identifier naming checks won't be enforced for namespace names having a
+ length less than or equal to this setting.
+
.. option:: NamespaceSuffix
When defined, the check will ensure namespace names will add the
@@ -1251,6 +1397,11 @@
When defined, the check will ensure parameter names will add the
prefixed with the given value (regardless of casing).
+.. option:: ParameterShortSizeThreshold
+
+ Identifier naming checks won't be enforced for parameter names having a
+ length less than or equal to this setting.
+
.. option:: ParameterSuffix
When defined, the check will ensure parameter names will add the
@@ -1286,6 +1437,11 @@
When defined, the check will ensure parameter pack names will add the
prefixed with the given value (regardless of casing).
+.. option:: ParameterPackShortSizeThreshold
+
+ Identifier naming checks won't be enforced for parameter pack names having
+ a length less than or equal to this setting.
+
.. option:: ParameterPackSuffix
When defined, the check will ensure parameter pack names will add the
@@ -1325,6 +1481,11 @@
When defined, the check will ensure pointer parameter names will add the
prefixed with the given value (regardless of casing).
+.. option:: PointerParameterShortSizeThreshold
+
+ Identifier naming checks won't be enforced for pointer parameter names
+ having a length less than or equal to this setting.
+
.. option:: PointerParameterSuffix
When defined, the check will ensure pointer parameter names will add the
@@ -1360,6 +1521,11 @@
When defined, the check will ensure private member names will add the
prefixed with the given value (regardless of casing).
+.. option:: PrivateMemberShortSizeThreshold
+
+ Identifier naming checks won't be enforced for private member names having
+ a length less than or equal to this setting.
+
.. option:: PrivateMemberSuffix
When defined, the check will ensure private member names will add the
@@ -1401,6 +1567,11 @@
When defined, the check will ensure private method names will add the
prefixed with the given value (regardless of casing).
+.. option:: PrivateMethodShortSizeThreshold
+
+ Identifier naming checks won't be enforced for private method names having
+ a length less than or equal to this setting.
+
.. option:: PrivateMethodSuffix
When defined, the check will ensure private method names will add the
@@ -1442,6 +1613,11 @@
When defined, the check will ensure protected member names will add the
prefixed with the given value (regardless of casing).
+.. option:: ProtectedMemberShortSizeThreshold
+
+ Identifier naming checks won't be enforced for protected member names
+ having a length less than or equal to this setting.
+
.. option:: ProtectedMemberSuffix
When defined, the check will ensure protected member names will add the
@@ -1475,17 +1651,22 @@
.. option:: ProtectedMethodCase
- When defined, the check will ensure protect method names conform to the
+ When defined, the check will ensure protected method names conform to the
selected casing.
.. option:: ProtectedMethodPrefix
- When defined, the check will ensure protect method names will add the
+ When defined, the check will ensure protected method names will add the
prefixed with the given value (regardless of casing).
+.. option:: ProtectedMethodShortSizeThreshold
+
+ Identifier naming checks won't be enforced for protected method names
+ having a length less than or equal to this setting.
+
.. option:: ProtectedMethodSuffix
- When defined, the check will ensure protect method names will add the
+ When defined, the check will ensure protected method names will add the
suffix with the given value (regardless of casing).
For example using values of:
@@ -1524,6 +1705,11 @@
When defined, the check will ensure public member names will add the
prefixed with the given value (regardless of casing).
+.. option:: PublicMemberShortSizeThreshold
+
+ Identifier naming checks won't be enforced for public member names having a
+ length less than or equal to this setting.
+
.. option:: PublicMemberSuffix
When defined, the check will ensure public member names will add the
@@ -1565,6 +1751,11 @@
When defined, the check will ensure public method names will add the
prefixed with the given value (regardless of casing).
+.. option:: PublicMethodShortSizeThreshold
+
+ Identifier naming checks won't be enforced for public method names having a
+ length less than or equal to this setting.
+
.. option:: PublicMethodSuffix
When defined, the check will ensure public method names will add the
@@ -1606,6 +1797,11 @@
When defined, the check will ensure scoped enum constant names will add the
prefixed with the given value (regardless of casing).
+.. option:: ScopedEnumConstantShortSizeThreshold
+
+ Identifier naming checks won't be enforced for scoped enum constant names
+ having a length less than or equal to this setting.
+
.. option:: ScopedEnumConstantSuffix
When defined, the check will ensure scoped enum constant names will add the
@@ -1641,6 +1837,11 @@
When defined, the check will ensure static constant names will add the
prefixed with the given value (regardless of casing).
+.. option:: StaticConstantShortSizeThreshold
+
+ Identifier naming checks won't be enforced for static constant names having
+ a length less than or equal to this setting.
+
.. option:: StaticConstantSuffix
When defined, the check will ensure static constant names will add the
@@ -1676,6 +1877,11 @@
When defined, the check will ensure static variable names will add the
prefixed with the given value (regardless of casing).
+.. option:: StaticVariableShortSizeThreshold
+
+ Identifier naming checks won't be enforced for static variable names having
+ a length less than or equal to this setting.
+
.. option:: StaticVariableSuffix
When defined, the check will ensure static variable names will add the
@@ -1711,6 +1917,11 @@
When defined, the check will ensure struct names will add the
prefixed with the given value (regardless of casing).
+.. option:: StructShortSizeThreshold
+
+ Identifier naming checks won't be enforced for struct names having a length
+ less than or equal to this setting.
+
.. option:: StructSuffix
When defined, the check will ensure struct names will add the
@@ -1752,6 +1963,11 @@
When defined, the check will ensure template parameter names will add the
prefixed with the given value (regardless of casing).
+.. option:: TemplateParameterShortSizeThreshold
+
+ Identifier naming checks won't be enforced for template parameter names
+ having a length less than or equal to this setting.
+
.. option:: TemplateParameterSuffix
When defined, the check will ensure template parameter names will add the
@@ -1787,6 +2003,11 @@
When defined, the check will ensure template template parameter names will add the
prefixed with the given value (regardless of casing).
+.. option:: TemplateTemplateParameterShortSizeThreshold
+
+ Identifier naming checks won't be enforced for template template parameter
+ names having a length less than or equal to this setting.
+
.. option:: TemplateTemplateParameterSuffix
When defined, the check will ensure template template parameter names will add the
@@ -1824,6 +2045,11 @@
When defined, the check will ensure type alias names will add the
prefixed with the given value (regardless of casing).
+.. option:: TypeAliasShortSizeThreshold
+
+ Identifier naming checks won't be enforced for type alias names having a
+ length less than or equal to this setting.
+
.. option:: TypeAliasSuffix
When defined, the check will ensure type alias names will add the
@@ -1859,6 +2085,11 @@
When defined, the check will ensure typedef names will add the
prefixed with the given value (regardless of casing).
+.. option:: TypedefShortSizeThreshold
+
+ Identifier naming checks won't be enforced for typedef names having a
+ length less than or equal to this setting.
+
.. option:: TypedefSuffix
When defined, the check will ensure typedef names will add the
@@ -1894,6 +2125,11 @@
When defined, the check will ensure type template parameter names will add the
prefixed with the given value (regardless of casing).
+.. option:: TypeTemplateParameterShortSizeThreshold
+
+ Identifier naming checks won't be enforced for type template names having a
+ length less than or equal to this setting.
+
.. option:: TypeTemplateParameterSuffix
When defined, the check will ensure type template parameter names will add the
@@ -1931,6 +2167,11 @@
When defined, the check will ensure union names will add the
prefixed with the given value (regardless of casing).
+.. option:: UnionShortSizeThreshold
+
+ Identifier naming checks won't be enforced for union names having a length
+ less than or equal to this setting.
+
.. option:: UnionSuffix
When defined, the check will ensure union names will add the
@@ -1972,6 +2213,11 @@
When defined, the check will ensure value template parameter names will add the
prefixed with the given value (regardless of casing).
+.. option:: ValueTemplateParameterShortSizeThreshold
+
+ Identifier naming checks won't be enforced for value template parameter
+ names having a length less than or equal to this setting.
+
.. option:: ValueTemplateParameterSuffix
When defined, the check will ensure value template parameter names will add the
@@ -2009,6 +2255,11 @@
When defined, the check will ensure variable names will add the
prefixed with the given value (regardless of casing).
+.. option:: VariableShortSizeThreshold
+
+ Identifier naming checks won't be enforced for variable names having a
+ length less than or equal to this setting.
+
.. option:: VariableSuffix
When defined, the check will ensure variable names will add the
@@ -2044,6 +2295,11 @@
When defined, the check will ensure virtual method names will add the
prefixed with the given value (regardless of casing).
+.. option:: VirtualMethodShortSizeThreshold
+
+ Identifier naming checks won't be enforced for virtual method names having
+ a length less than or equal to this setting.
+
.. option:: VirtualMethodSuffix
When defined, the check will ensure virtual method names will add the
Index: clang-tools-extra/docs/ReleaseNotes.rst
===================================================================
--- clang-tools-extra/docs/ReleaseNotes.rst
+++ clang-tools-extra/docs/ReleaseNotes.rst
@@ -149,6 +149,10 @@
Added support for specifying the style of scoped ``enum`` constants. If
unspecified, will fall back to the style for regular ``enum`` constants.
+ Added an option `ShortSizeThreshold` per identifier type to suppress
+ identifier naming checks for names having a length less than or equal to this
+ setting.
+
- Removed `google-runtime-references` check because the rule it checks does
not exist in the Google Style Guide anymore.
Index: clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
===================================================================
--- clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
+++ clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
@@ -52,12 +52,14 @@
NamingStyle() = default;
NamingStyle(llvm::Optional<CaseType> Case, const std::string &Prefix,
- const std::string &Suffix)
- : Case(Case), Prefix(Prefix), Suffix(Suffix) {}
+ const std::string &Suffix, size_t ShortSizeThreshold)
+ : Case(Case), Prefix(Prefix), Suffix(Suffix),
+ ShortSizeThreshold(ShortSizeThreshold) {}
llvm::Optional<CaseType> Case;
std::string Prefix;
std::string Suffix;
+ size_t ShortSizeThreshold;
};
struct FileStyle {
Index: clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
===================================================================
--- clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
+++ clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
@@ -130,6 +130,9 @@
for (unsigned I = 0; I < SK_Count; ++I) {
StyleString = StyleNames[I];
size_t StyleSize = StyleString.size();
+ StyleString.append("ShortSizeThreshold");
+ size_t ShortSizeThreshold = Options.get((StyleString).str(), 0U);
+ StyleString.resize(StyleSize);
StyleString.append("Prefix");
std::string Prefix(Options.get(StyleString, ""));
// Fast replacement of [Pre]fix -> [Suf]fix.
@@ -141,9 +144,10 @@
auto CaseOptional =
Options.getOptional<IdentifierNamingCheck::CaseType>(StyleString);
- if (CaseOptional || !Prefix.empty() || !Postfix.empty())
+ if (CaseOptional || !Prefix.empty() || !Postfix.empty() ||
+ ShortSizeThreshold > 0)
Styles[I].emplace(std::move(CaseOptional), std::move(Prefix),
- std::move(Postfix));
+ std::move(Postfix), ShortSizeThreshold);
}
bool IgnoreMainLike = Options.get("IgnoreMainLikeFunctions", false);
return {std::move(Styles), IgnoreMainLike};
@@ -175,6 +179,9 @@
continue;
StyleString = StyleNames[I];
size_t StyleSize = StyleString.size();
+ StyleString.append("ShortSizeThreshold");
+ Options.store(Opts, StyleString, Styles[I]->ShortSizeThreshold);
+ StyleString.resize(StyleSize);
StyleString.append("Prefix");
Options.store(Opts, StyleString, Styles[I]->Prefix);
// Fast replacement of [Pre]fix -> [Suf]fix.
@@ -681,6 +688,9 @@
return None;
const IdentifierNamingCheck::NamingStyle &Style = *NamingStyles[SK];
+ if (Name.size() <= Style.ShortSizeThreshold)
+ return None;
+
if (matchesStyle(Name, Style))
return None;
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits