| .. title:: clang-tidy - bugprone-argument-comment |
| |
| bugprone-argument-comment |
| ========================= |
| |
| Checks that argument comments match parameter names. |
| |
| The check understands argument comments in the form ``/*parameter_name=*/`` |
| that are placed right before the argument. |
| |
| .. code-block:: c++ |
| |
| void f(bool foo); |
| |
| ... |
| |
| f(/*bar=*/true); |
| // warning: argument name 'bar' in comment does not match parameter name 'foo' |
| |
| The check tries to detect typos and suggest automated fixes for them. |
| |
| Options |
| ------- |
| |
| .. option:: StrictMode |
| |
| When `false` (default value), the check will ignore leading and trailing |
| underscores and case when comparing names -- otherwise they are taken into |
| account. |
| |
| .. option:: IgnoreSingleArgument |
| |
| When `true`, the check will ignore the single argument. |
| |
| .. option:: CommentBoolLiterals |
| |
| When `true`, the check will add argument comments in the format |
| ``/*ParameterName=*/`` right before the boolean literal argument. |
| |
| Before: |
| |
| .. code-block:: c++ |
| |
| void foo(bool TurnKey, bool PressButton); |
| |
| foo(true, false); |
| |
| After: |
| |
| .. code-block:: c++ |
| |
| void foo(bool TurnKey, bool PressButton); |
| |
| foo(/*TurnKey=*/true, /*PressButton=*/false); |
| |
| .. option:: CommentIntegerLiterals |
| |
| When true, the check will add argument comments in the format |
| ``/*ParameterName=*/`` right before the integer literal argument. |
| |
| Before: |
| |
| .. code-block:: c++ |
| |
| void foo(int MeaningOfLife); |
| |
| foo(42); |
| |
| After: |
| |
| .. code-block:: c++ |
| |
| void foo(int MeaningOfLife); |
| |
| foo(/*MeaningOfLife=*/42); |
| |
| .. option:: CommentFloatLiterals |
| |
| When true, the check will add argument comments in the format |
| ``/*ParameterName=*/`` right before the float/double literal argument. |
| |
| Before: |
| |
| .. code-block:: c++ |
| |
| void foo(float Pi); |
| |
| foo(3.14159); |
| |
| After: |
| |
| .. code-block:: c++ |
| |
| void foo(float Pi); |
| |
| foo(/*Pi=*/3.14159); |
| |
| .. option:: CommentStringLiterals |
| |
| When true, the check will add argument comments in the format |
| ``/*ParameterName=*/`` right before the string literal argument. |
| |
| Before: |
| |
| .. code-block:: c++ |
| |
| void foo(const char *String); |
| void foo(const wchar_t *WideString); |
| |
| foo("Hello World"); |
| foo(L"Hello World"); |
| |
| After: |
| |
| .. code-block:: c++ |
| |
| void foo(const char *String); |
| void foo(const wchar_t *WideString); |
| |
| foo(/*String=*/"Hello World"); |
| foo(/*WideString=*/L"Hello World"); |
| |
| .. option:: CommentCharacterLiterals |
| |
| When true, the check will add argument comments in the format |
| ``/*ParameterName=*/`` right before the character literal argument. |
| |
| Before: |
| |
| .. code-block:: c++ |
| |
| void foo(char *Character); |
| |
| foo('A'); |
| |
| After: |
| |
| .. code-block:: c++ |
| |
| void foo(char *Character); |
| |
| foo(/*Character=*/'A'); |
| |
| .. option:: CommentUserDefinedLiterals |
| |
| When true, the check will add argument comments in the format |
| ``/*ParameterName=*/`` right before the user defined literal argument. |
| |
| Before: |
| |
| .. code-block:: c++ |
| |
| void foo(double Distance); |
| |
| double operator"" _km(long double); |
| |
| foo(402.0_km); |
| |
| After: |
| |
| .. code-block:: c++ |
| |
| void foo(double Distance); |
| |
| double operator"" _km(long double); |
| |
| foo(/*Distance=*/402.0_km); |
| |
| .. option:: CommentNullPtrs |
| |
| When true, the check will add argument comments in the format |
| ``/*ParameterName=*/`` right before the nullptr literal argument. |
| |
| Before: |
| |
| .. code-block:: c++ |
| |
| void foo(A* Value); |
| |
| foo(nullptr); |
| |
| After: |
| |
| .. code-block:: c++ |
| |
| void foo(A* Value); |
| |
| foo(/*Value=*/nullptr); |